Computer Systems Organization

Tentative Syllabus

Week Lecture Date Topic Reading Homework Notes
1            
1 9/5 Overview BO: ch. 1    
2 2 9/10 C programming I; Intro to labs KR: 1-7 Lab 1: RKlab  
3 9/12 C programming II KR: 1-7    
3 4 9/17 Bits, Bytes, and Integers BO: 2.1-2.3    
5 9/19 Bits, Bytes, and Integers BO: 2.1-2.3    
Recitation 9/21 Lab 1      
4 6 9/24 Floating Point BO: 2.4    
7 9/26 Machine-Level Programming I: Basics BO: 3.1-3.4,3.13.1-3.13.3 Lab 1 due
Lab 2: Bomblab
 
5 8 10/1 Machine-Level Programming II: Arithmetic and Control BO: 3.5-3.6, 3.13.4    
9 10/3 Machine-Level Programming III: IA32 Procedures BO: 3.7    
Recitation 10/5 Lab 2      
6 10 10/8 Machine-Level Programming IV: Data BO: 3.8-3.9, 3.13.5    
11 10/10 Machine-Level Programming V: Advanced Topics BO: 3.10-3.12, 3.14-3.15    
7   10/15 No Class      
12 10/17 Linking I BO: 7 Lab 2 due
Lab 3: Buflab
 
8 13 10/22 Linking II BO: 7    
14 10/24 Exceptions and Processes BO: 8.1-8.4    
Recitation 10/26 Lab 3      
9 15 10/29 NYU closed      
16 10/31 NYU closed      
10 17 11/5 Multitasking and Signals BO: 8.5-8.8    
18 11/7 System Level I/O BO: 10
Lab 4: Shlab
 
Recitation 11/9 Lab 4   Lab 3 due  
11 19 11/12 Virtual Memory: Concepts BO: 9.1-9.6    
20 11/14 Virtual Memory: Systems BO: 9.7-9.8    
12 21 11/19 Dynamic Memory Allocation: Basics BO: 9.9    
22 11/21 Dynamic Memory Allocation: Advanced BO: 9.10-9.13    
13 23 11/26 Internetworking BO: 11.1-11.3 Lab 4 due
Lab 5: Malloclab
 
24 11/28 Network Programming BO: 11.4    
Recitation 11/30 Lab 5      
14 25 12/3 Web services BO: 11.5-11.7    
26 12/5 Concurrent Programming BO: 12.1-12.3    
15 27 12/10 Synchronization: Basics BO: 12.4, 12.5.1-12.5.3    
28 12/12 Synchronization: Advanced BO: 12.5.4-12.5.5, 12.7-12.8    
  12/14     Lab 5 due