CSE 120: Schedule

Spring 2025

This table outlines the schedule for both lectures and discussion sections. We will update it as the quarter progresses. Most lectures have reading associated with them, which we recommend completing before lecture. The textbook for this course is Operating Systems: Three Easy Pieces, which is available online for free.

Week Date Topic Readings Due
1 Tue 4/1 Course Intro Ch. 1, 2
Thu 4/3 Interactions with Apps and Hardware Ch. 6
Fri 4/4 Project 0
2 Tue 4/8 Processes Ch. 3, 4, 5 Project 0, group sign-up
Thu 4/10 Threads Ch. 26, 27
Fri 4/11 Project 1 #FinAid survey
3 Tue 4/15 Synchronization Ch. 28, 29 Homework 1
Thu 4/17 Semaphores Ch. 31
Fri 4/18 Project 1
4 Tue 4/22 Condition Variables and Deadlock Ch. 30, 32
Thu 4/24 CPU Scheduling Ch. 7, 8
Fri 4/25 Midterm Review (4:00-5:30) Homework 2
5 Tue 4/29 no class Project 1
Thu 5/1 Midterm Exam
Fri 5/2 Project 2
6 Tue 5/6 Memory Management Overview Ch. 15, 16
Thu 5/8 Paging Ch. 18, 19, 20
Fri 5/9 Project 2
7 Tue 5/13 TLBs, Swapping Ch. 21, 23
Thu 5/15 Page Replacement and Memory Allocation Ch. 17, 22
Fri 5/16 Q&A Project 2
8 Tue 5/20 Storage Devices and File System API Ch. 37, Ch. 39 Homework 3
Thu 5/22 File System Disk Layout Ch. 40
Fri 5/23 Project 3
9 Tue 5/27 File Caching and Reliability Ch. 41, Ch. 42
Thu 5/29 Virtual Machines Appendix B
Fri 5/30 Project 3
10 Tue 6/3 Protection Ch. 53, Ch. 55 Homework 4
Thu 6/5 Final Review
Fri 6/6 Q&A Project 3
Mon 6/9 Final Exam (3:00-6:00)
Thanks to Geoff Voelker, Yiying Zhang, John Ousterhout, and the faculty who taught COS 318 at Princeton whose slides and notes heavily inspired the slides above.