CS 203, Fall 2012

Computer Organization


 
Matthew E. Taylor (Matt)
taylorm@lafayette.edu
AEC 522
 
Syllabus: Fall 2012

Python



Required Text:
    Computer Systems: A Programmer's Perspective (2nd Edition)
    Bryant and O'Hallaron.
    ISBN: 0136108040


Some potentially useful links:

Note: Many of the slides used in class lecture are based on Bryant and O'Hallaron's class at CMU.


Lecture Schedule
Date
Topic
Assignment
Lab
Week 1: 8/28 What is this class about?
Just for fun: Kingdom Rush Hack
  Lab 1: Getting Started. Due by 11:59pm on Monday 9/3
  Hex, Bit operations
Read chapter 1
Upload picture of yourself to Moodle
 
Week 2: 9/4 Signed and Unsigned ints
  Lab 2 Writeup, Handout: Manipulating Bits. Due by 11:59pm on Thursday 9/13
  Addition and Multiplication
   
Week 3: 9/11 Quiz and Floating point
Read through p.99  
  Floating Point
  Lab 3: Exploring Assembly. Due by 11:59pm on Friday 9/21
Week 4: 9/18 Floating Point Operations
   
  Assembly: Operators and Addressing
Finish chapter 2  
Week 5: 9/25 Converting C to x86 and back again
Read up to p. 185 Lab 4. Due by 11:59pm on Monday, 10/1
  Stack
   
Week 6: 10/2 Arrays and Structs
  Lab 5. Due by 11:55pm on Friday 10/12
  Multi-dimentional Arrays
Read up to p. 251  
Week 7: 10/9
Fall Break
   
  End of chapter 3
   
Week 8: 10/16 Pratice for midterm Finish reading chapter 3.
Read chapter (on moodle) from A History of Modern Computing.
Create a question + answer that could be on the midterm and post to moodle.
 
 
Midterm
Some suggested problems: 2.84b, 2.88(a-e), 2.67, 2.83, 2.84, 2.88, 3.56, 3.58, 3.59, 3.62  
Week 9: 10/23 Review midterm and review of logic Check out http://www.neuroproductions.be/logic-lab/ and load the Logic Ports from the Examples (bottom of the page). Use this to review the gates we covered in class. Project 1 Due Monday, 11/12, 11:55pm
Update - path is incorrect. You want to copy from 2012_CS203 not 2012_cs203.
  Gates and adders    
Week 10: 10/30    
 
NO CLASS: No power
   
Week 11: 11/6 Clocks and Memory (see Moodle site for supplementary .pdf)    
  Y86 Suggested Logic problems (nothing to hand in):
p. 766 (Boolean Algebra .pdf): 10, 13, 16, 17
Lab 6: Circuits
Due by Wednesday, 11/14, 11:55pm
Week 12: 11/13 HCL, Memory, SEQ Suggested Logic problems (nothing to hand in):
p. 779 (Boolean Algebra .pdf): 4, 6, 12, 21, 30, 31
 
  SEQ    
Week 13: 11/20 Pipelines     Project 2 (Files)
Lab 7: sum.ys (in part A)
   due by Monday, 11/26, 11:55pm
Lab 8: iaddl (in seq-full.hcl)
   due by Friday, 11/30, 11:55pm
Remainder of project
   due by Friday, 12/14, 11:55pm
 
Notes:
Makefile needs to be updated to use:
TKINC=-isystem /usr/include/tcl8.5
(instead of tcl8.4)
 
Thanksgiving
   
Week 14: 11/27 Show me the Cache Finish reading chapter 4  
  Caching and Performance    
Week 15: 12/4 Writing Better Code Finish reading chapter 6  
  Course Summary    
Week 16: 12/12 Wednesday, 12/12, 8-11am