See course resources for information on the book abbreviations found in the Extra column.

This schedule is tentative and subject to change!

Week Date Topic Materials Extra Assignment
Computer Organization
1 Wed Jan 19 Introduction to Systems [pptx]  [pdf]  [recording]  [code]  [Birrell] [BO Ch. 1]
Fri Jan 21 [handout]  [solution] C Language
2 Mon Jan 24 Unsigned Ints [pptx]  [pdf]  [recording]  [Birrell] [BO Ch. 2.1-2.2]
Wed Jan 26 Signed Ints [pptx]  [pdf]  [recording]  [Birrell] [BO Ch. 2.3]
Fri Jan 28 [handout]  [solution] Data Representation
3 Mon Jan 31 Signed Ints [pptx]  [pdf]  [recording]  [code]  [Birrell] [BO Ch. 2.4]
Wed Feb 2 Intro to Assembly [pptx]  [pdf]  [recording]  [Birrell] [BO Ch. 3.1-3.4]
Fri Feb 4 [handout]  [solution] Debugging
4 Mon Feb 7 Assembly: Control Flow, CPUs, and Memory [pptx]  [Birrell:PDF]  [pdf]  [recording]  [Birrell] [BO Ch. 3.5-3.6]
Wed Feb 9 Assembly: Procedures [notes]  [recording]  [pdf]  [hello.asm]  [Birrell] [BO Ch. 3.7]
Fri Feb 11 [handout]  [solution] Binary Bombs
5 Mon Feb 14 Assembly: Data [recording]  [pdf]  [Syscalls]  [Compiler Explorder]  [Birrell] [BO Ch. 3.8-3.9]
Wed Feb 16 Security and Overflows Part 1  [recording]  [pdf]  [Birrell] [BO Ch. 3.10]
Fri Feb 18 [handout]  [solution] Attacks
6 Mon Feb 21 Security and Overflows Part 2 [recording]  [pdf]  [gdbinit]  [Birrell] [Shacham07]
Wed Feb 23 Dynamic Memory Part 1 [recording]  [pdf]  [Birrell] [AA Ch. 14, 17]
Fri Feb 25 [handout]  [solution] Dynamic Memory
7 Mon Feb 28 Dynamic Memory Part 2  [recording]  [pdf]  [Birrell]
Wed Mar 2 Optimization [recording]  [pdf]  [Birrell] [BO Ch. 5]
Fri Mar 4 [handout]  [solution]
8 Mon Mar 7 Caching Part 1 [recording]  [pdf]  [Birrell] [BO Ch. 6.2-6.4.2]
Wed Mar 9 Caching Part 2  [recording]  [pdf]  [Birrell] [BO Ch. 6.4.3-6.4.7]
Fri Mar 11 [handout]  [solution]
Mon Mar 14 Spring break
Wed Mar 16 Spring break
Fri Mar 18 Spring break
9 Mon Mar 21 Optimizing w/ Caches  [recording]  [pdf]  [Notebook]  [csv]  [code]  [Birrell] [BO Ch. 6.5]
Wed Mar 23 Midterm Exam
Fri Mar 25 César Chávez Day
Operating Systems
10 Mon Mar 28 Processes [pptx]  [pdf]  [recording]  [Birrell] [AA Ch. 4, 5, 6]
Wed Mar 30 Scheduling [pptx]  [pdf]  [ForkDemo]  [Birrell] [AA Ch. 7, 8]
Fri Apr 1 [handout]  [solution] Shells
11 Mon Apr 4 Virtual Memory Part 1 [pptx]  [pdf]  [recording]  [Birrell] [AA Ch.15,16,18,21]
Wed Apr 6 Virtual Memory Part 2 [pptx]  [pdf]  [recording]  [Birrell] [AA Ch. 19, 20, 23]
Fri Apr 8 [handout]  [solution] Virtual Memory
12 Mon Apr 11 Concurrency [pptx]  [pdf]  [recording]  [Birrell] [AA Ch. 26, 28]
Wed Apr 13 Synchronization [pptx]  [pdf]  [recording]  [Birrell] [AA Ch. 31, 30]
Fri Apr 15 [handout]  [solution] Synchronization
13 Mon Apr 18 System IO [pptx]  [pdf]  [recording]  [Birrell] [AA Ch. 39, BO Ch. 10]
Wed Apr 20 File Systems [pptx]  [pdf]  [recording]  [Birrell] [AA Ch. 40, 41]
Fri Apr 22 [handout]  [solution] File Systems
14 Mon Apr 25 Networking [pptx]  [pdf]  [recording]  [Birrell] [BO Ch. 11.1-11.3]
Wed Apr 27 TCP [pptx]  [pdf]  [recording]  [Birrell] [BO Ch. 11.4]
Fri Apr 29 [handout]  [solution] Networking
15 Mon May 2 Network Security [pptx]  [pdf]  [recording]  [code]  [Birrell] [BO Ch. 11.5-6]
Wed May 4 Web & Web Security [pptx]  [pdf]  [recording]  [code]  [Birrell]
Fri May 6 Reading day
Final Mon May 9 Final Exam 9:00 AM to 12:00 PM PT

© Eleanor Birrell and Anthony Clark, 2022