| Class | Date | Day | Topic | Reading | Homework |
| 1 | 02/01/21 | Mon | first class (no class -- snow day) | ||
| 2 | 02/03/21 | Wed | first class, take 2 (intro) | ||
| 3 | 02/08/21 | Mon | Systems research, memory pyramid, why computers "become" slow | Systems research overview | |
| 4 | 02/10/21 | Wed | quiz overview, Unix/C intro | HW1 and HW1 Grading Criteria | |
| 5 (code) | 02/15/21 | Mon | quiz cont., Unix/C overview | How to use GDB | |
| 6 (code) | 02/17/21 | Wed | syscall error handling and efficiency | ||
| 7 (code) | 02/22/21 | Mon | error handling (goto's), decomposing HW1, getopt | ||
| 8 (code) | 02/24/21 | Wed | debugging, std* redirecting | ||
| 9 | 03/01/21 | Mon | crypto intro | HW1 due (Tuesday, 3/2/21 @ 7:00pm ET (19:00 ET) | |
| 10 | 03/03/21 | Wed | Makefiles | HW2 and HW2 Grading Criteria | |
| 11 (code) | 03/08/21 | Mon | Common C bugs, memory management intro. | ||
| 12 (code) | 03/10/21 | Wed | memory management, cont., PROT_* flags, ElectricFence | ||
| 13 (code) | 03/15/21 | Mon | malloc, malloc/free bugs | ||
| 14 (code) | 03/17/21 | Wed | malloc/free bugs cont, redzones, pointers intro | Why we need double and triple pointers | |
| 15 (code) | 03/22/21 | Mon | transmit/store numbers and pointers, endian-ness, out-of-band data structs | HW2 due (Tuesday, 3/23/21 @ 7:00pm ET (19:00 ET)) | |
| 16 (code) | 03/24/21 | Wed | stack memory, program hijacking | Stack frame examples (XLSX) | HW3 and HW3 Grading Criteria |
| 17 | 03/29/21 | Mon | mmap intro, OS caches | ||
| 18 | 03/31/21 | Wed | read-ahead, file systems intro | ||
| 19 | 04/05/21 | Mon | file systems, cont. | ||
| 20 | 04/07/21 | Wed | OS internals re: file system syscalls | ||
| 21 | 04/12/21 | Mon | syscalls cont. | HW3 due (Tuesday, 4/13/21 @ 7:00 pm EST (19:00 ET)) | |
| 22 | 04/14/21 | Wed | No Class | ||
| 23 | 04/19/21 | Mon | syscalls cont. | HW4 and HW4 Grading Criteria | |
| 24 | 04/21/21 | Wed | No Class | ||
| 25 | 04/26/21 | Mon | syscalls cont. | ||
| 26 | 04/28/21 | Wed | syscalls done. | ||
| 27 | 05/03/21 | Mon | shell scripts, lock types and behavior | HW4 due (Tuesday, 5/4/21 @ 7:00 pm EST (19:00 ET)) | |
| 28 | 05/05/21 | Wed | producer-consumer async/distributed operations (last class) | ||
| 29 | 05/12/21 | Mon | THERE IS NO final exam |