| Date  | Topic and/or Event | Readings | 
| January 20 | Lecture 0x00: Introduction and Overview; Lab 1: C and Unix Refresher | SG&G 1, SG&G 2; Topic Notes: Introduction and Overview | 
| January 25 | Lecture 0x01: Historical Development; Other Preliminaries |  | 
| January 27 | Lecture 0x02: Processes; Lab 2: Programming Unix Processes and Threads in C | SG&G 3; Topic Notes: Processes and Threads | 
| February 1 | Lecture 0x03: Interprocess Communication; Threads; Programming Project 1: Processes and Threads | SG&G 4 | 
| February 3 | Lecture 0x04: Threads Wrapup; CPU Scheduling Introduction | SG&G 6; Topic Notes: CPU Scheduling | 
| February 8 | Lecture 0x05: CPU Scheduling |  | 
| February 10 | Lecture 0x06: More Advanced CPU Scheduling; Programming Project 2: CPU Scheduling Simulator |  | 
| February 15 | Lecture 0x07: CPU Scheduling Wrapup; Critical Sections | Topic Notes: Process Synchronization; SG&G 5.1-5.4 | 
| February 17 | Lecture 0x08: Critical Sections; Synchronization Hardware |  | 
| February 22 | Lecture 0x09: Semaphores; Synchronization Problems; Lab 3: Concurrency | SG&G 5.5-5.6 | 
| February 24 | Lecture 0x0a: Synchronization Problems | SG&G 5.7 | 
| February 29 | Lecture 0x0b: Shell Project Introduction; Monitors; Lab 4: Unix Systems Programming; Programming Project 3: knish: The Knight Shell |  | 
| March 2 | Lecture 0x0c: Deadlock; Term Project Out | SG&G 5.11; Topic Notes: Deadlock | 
| March 7 & 9 | No Class: Spring Break |  | 
| March 14 | Lecture 0x0d: Midterm Exam Out (due March 16) |  | 
| March 16 | Lecture 0x0e: Memory Management Introduction | SG&G 7; Topic Notes: Memory | 
| March 21 | Lecture 0x0f: Paging |  | 
| March 23 | Lecture 0x10: Demand Paging; Virtual Memory; Lab 5: Working Set Simulation | SG&G 8 | 
| March 28 | No Class: Easter Break | 
| March 30 | Lecture 0x11: Virtual Memory |  | 
| April 4 | Lecture 0x12: Memory Management Wrapup |  | 
| April 6 | Lecture 0x13: Persistent Storage | Topic Notes: File Systems; SG&G 9, SG&G 10 | 
| April 11 | Lecture 0x14: Class Cancelled; Lab 6: File Systems |  | 
| April 13 | Lecture 0x15: File Systems | SG&G 11 | 
| April 18 | Lecture 0x16: File Systems | SG&G 12 | 
| April 20 | Lecture 0x17: I/O; Memory Hierarchy; Lab 7: Security | Topic Notes: Input/Output; Topic Notes: Memory Hierarchy | 
|  | 
| April 25 | Lecture 0x18: Architecture Crash Course Part 1: Digital Logic; Protection and Security; Encryption | SG&G 13, SG&G 14; Topic Notes: Protection and Security; Crash Course Notes: Digital Logic | 
| April 27 | Lecture 0x19: Architecture Crash Course Part 2: Sequential Circuits | Crash Course Notes: Sequential Circuits | 
| May 2 | Lecture 0x1a: Architecture Crash Course Part 3: Building Memory; Final Exam Out | Crash Course Notes: Building Memory | 
| May 4 | Lecture 0x1b: Datapath and Control; Course Evaluations; Final Exam Due | Topic Notes: Distributed Systems | 
| May 10 | Term Project Presentations, 10:45-1:15 |  | 
|  |