Lecture Calendar
The following schedule is tentative, and may be updated as the semester progresses.
While (most) lecture slides are available as PDF downloads, recognize that they are meant to supplement lectures and will do you no good if you miss class! I generally edit and update my slides up to the minute before lecture, and I will post notes on Piazza as newer versions are uploaded.
I use the abbreviations CS:APP for Computer Systems: A Programmer's Perspective, by Bryant and O'Hallaron, K&R for The C Programming Language, by Kernighan and Ritchie, and AUP for Advanced Unix Programming, by Marc Rochkind.
- January 9
- January 11-23
- C Primer
- Lab methodologies
- Reading: K&R chapters 1-8
- January 25
- The Process
- Reading: CS:APP 8.1-8.2
- The Process
- January 30 - February 1
- Process Management
- Reading: CS:APP 8.3-8.4
- Process Management
- February 6 - February 8
- Signals and Exceptional control flow
- Reading: CS:APP 8.5-8.8
- Signals and Exceptional control flow
- February 13
- System-level I/O
- Reading: CS:APP 11.1-11.10
- System-level I/O
- February 15
- Simple Interprocess Communication (IPC)
- Reading: AUP chapter 6, chapter 7.1-7.2
- Simple Interprocess Communication (IPC)
- February 20 - February 22
- The memory hierarchy & Caching
- Reading: CS:APP 6.1-6.6
- The memory hierarchy & Caching
- February 27 - March 5
- March 7
- March 14
- Midterm Exam
- March 26 - April 2
- C malloc implementation
- Reading: CS:APP 10.9
- C malloc implementation
- April 4
- Garbage collection
- Reading: CS:APP 10.10-10.13
- Garbage collection
- April 9 - April 11
- Networking
- Reading: CS:APP 12.1-12.4
- Networking
- April 16 - April 18
- Concurrent servers (no new slides)
- Reading: CS:APP 12.5-12.7, 13.1-13.2
- Concurrent servers (no new slides)
- April 23 - April 25
- TBD
- May 30 - May 4
- Final exams