- P1L1: Course Overview (Due: January 10, 2025)
- P1L2: Introduction to Operating Systems (Due: January 10, 2025)
- P2L1: Processes and Process Management (Due: January 13, 2025)
- [Project 0] Setup lab environment (Due: January 13, 2025)
- P2L2: Threads and Concurrency (Due: January 13, 2025)
- P2L3: Threads Case Study: PThreads (Due: January 13, 2025)
- [Project 1/Warmup] echo (Due: January 19, 2025)
- [Project 1/Warmup] transfer file (Due: January 19, 2025)
- [Project 1/Part 1] gfclient (Due: January 26, 2025)
- [Project 1/Part 1] gfserver (Due: January 26, 2025)
- [Project 1/Part 2] multi-threaded gfclient (Due: February 9, 2025)
- [Project 1/Part 2] multi-threaded gfserver (Due: February 9, 2025)
- [Project 1/README] (Due: February 9, 2025)
- P2L4: Thread Design Considerations (Due: February 10, 2025)
- P2L5: Thread Performance Considerations (Due: February 17, 2025)
- [Midterm] Sample Questions (Due: February 20, 2025)
- [Midterm] Exam (Due: February 20-24, 2025)
- P3L1: Scheduling (Due: February 24, 2025)
- P3L2: Memory Management (Due: March 3, 2025)
- P3L3: Inter-Process Communication (Due: March 3, 2025)
- P3L4: Synchronization Constructs (Due: March 10, 2025)
- P3L5: I/O Management (Due: March 17, 2025)
- [Project 3] there is no project 2 (Due: March 24, 2025)
- P3L6: Virtualization (Due: March 31, 2025)
- P4L1: Remote Procedure Calls (Due: April 7, 2025)
- P4L2: Distributed File Systems (Due: April 14, 2025)
- P4L3: Distributed Shared Memory (Due: April 20, 2025)
- [Project 4] (Due: April 20, 2025)
- P4L4: Datacenter Technologies (Due: April 24, 2025)
- [Final] Sample Questions (Due: April 24, 2025)
- [Final] Exam (Due: April 24-29, 2025)