Date Slides Topic Optional reading and assignments due
3/30/2026 Welcome None
4/1/2026 P: Processes OSTEP: Processes
4/3/2026 P: OS Architectures OSTEP: Process APIs
Project 1 out
4/6/2026 P: Process APIs OSTEP: Process APIs
4/8/2026 A: Address space and translation OSTEP: Address Space, Address translation and OSTEP: Direct Execution
4/10/2026 A: Virtual memory and paging
4/13/2026 T: Concurrency and threads OSTEP: Concurrency and threads
Project 1 due
Project 2 out
4/15/2026 T: Concurrency and threads OSTEP: Thread API
4/17/2026 T: Pthreads OSTEP: Thread API
4/20/2026 T: Atomicity OSTEP: Concurrency and threads
4/22/2026 T: Synchronization OSTEP: Concurrency and threads
Project 2 due
Project 3 out
4/24/2026 T: Locks OSTEP: Locks
4/27/2026 T: Monitors & condition variables OSTEP: Locked data structures
4/29/2026 T: Monitors & condition variables OSTEP: Condition variables
5/1/2026 T: Monitors & condition variables OSTEP: Concurrency bugs
5/4/2026 T: Classic synchronization problems
5/6/2026 T: Classic synchronization problems
5/8/2026 Midterm
5/11/2026 Midterm results Project 3 due
Project 4 out
5/13/2026 F: File system concepts OSTEP: Files and directories
5/15/2026 F: Introducing project 4
5/18/2026 F: File system implementation OSTEP: File system implementation
5/20/2026 F: File system implementation OSTEP: File system implementation
5/22/2026 F: File system implementation OSTEP: Fast file system (FFS)
5/25/2026 No class: Holiday
5/27/2026 API: Networking and APIs
5/29/2026 API: Networking and APIs
6/1/2026 Final review part 1
6/3/2026 Final review part 2 Project 4 due