The schedule will remain tentative all term.
Recommended readings are generally from the textbook, CS:APP3e. Problem set deadlines are for college; DCE students’ deadlines are 1 day later.
- Unit 1: Data representation
- Th 9/2: Introduction (datarep1)
- Tu 9/7: Sizes and layout (datarep2)
- Th 9/9: Layout and allocators (datarep3)
- Tu 9/14: Pointer and integer arithmetic (datarep4)
- Th 9/16: Undefined behavior and bits (datarep5)
- Tu 9/21: Code representation (datarep6)
- Fr 9/24 or Sa 9/25: Problem set: debugging memory allocator
- Exercises
- Unit 2: Assembly & machine programming
- Unit 3: Kernel programming
- Th 10/7: Processes, isolation, robustness (kernel1)
- Tu 10/12: Kernel isolation, protected control transfer (kernel2)
- Th 10/14: Virtual memory (kernel3)
- Mo 10/18: Midterm (3 hour exam with online/take-home option)
- Fr 10/22 or Sa 10/23: Problem set: WeensyOS
- Tu 10/19: Virtual memory examples
- Th 10/21: EthiCS lecture (preread, ethics slides, UTF-8 slides)
- Exercises
- Unit 4: Storage & caching
- Unit 5: Process management
- Tu 11/9: Basics (process1)
- Th 11/11: Inter-process communication (process2)
- Tu 11/16: Signals and race conditions (process3)
- Fr 11/19 or Sa 11/20: Problem set: Shell
- Exercises
- Unit 6: Synchronization