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 |