| Date | Description | 
|---|---|
| September 15 | Introduction; Binary & Hexadecimal Read CSPP: § 1.4.1 (p. 8-10) | 
| September 17 | Get to Know You; Bits, Bytes, and C Pointers; The Linux Command Line Read Pointer Basics and The 5-minute Guide to C Pointers, watch this silly video | 
| September 20 | C: Data Representation and Memory Management Read The Descent to C | 
| September 22 | Finishing up Memory Management; Integer Representation Read CSPP: § 2.2.1 (p. 60-62) | 
| September 24 | Integer Arithmetic Read CSPP: § 2.2.8 (p. 83-84) | 
| September 27 | Programming With Bits Read CSPP: § 2.1.7--2.1.9 (p. 54-58) | 
| September 29 | Introduction to x86-64 Assembly CPSS: § 3.4 through 3.4.1 (p. 179-181) | 
| October 1 | Arithmetic in x86-64 Assembly No reading, but review figures 3.2, 3.3, and 3.10 (p. 180, 181, 192) | 
| October 4 | x86-64 Control Flow: Conditionals Review CSPP figures 3.13, 3.14, and 3.15 (p. 202, 203, 206), (OPTIONAL) read CSPP section 3.6.6 | 
| October 6 | x86-64 Control Flow: Loops and Switch Statements Read CSPP § 3.6.3 to learn about | 
| October 8 | Data Structure Representation: Arrays Read CSPP § 3.8.2 on pointer arithmetic | 
| October 11 | Data Structure Representation: Structs No reading | 
| October 13 | Memory Layout and The Stack Make sure you understand figure 3.27 (p. 243) | 
| October 15 | Implementing Procedure Calls Read CSPP: § 3.7.4 and 3.7.5 (p. 248-252) | 
| October 20 | Buffer Overflow Attacks Read the Lab 3 writeup | 
| October 22 | Dynamic Memory Allocation: mallocandfreeNo reading | 
| October 25 | Dynamic Memory Allocation: Free Lists Read CSPP § 9.9.6 | 
| October 27 | Explicit Free Lists; Lab 4 Overview Read the Lab 4 writeup | 
| October 29 | Caching and the Memory Hierachy Read CSPP § 6.2 about locality | 
| November 1 | Virtual Memory Read CSPP § 9.3 (p. 805–810) | 
| November 3 | The Process Model and Exceptional Control Flow Read CSPP § 8.1-8.1.2 (p. 723–728) and § 8.2 (p. 732–737) | 
| November 5 | System-Level I/O Read CSPP § 10.1-10.2 (p. 890–893) and § 10.11 (p. 911–913) | 
| November 8 | Network Programming Read CSPP § 11.1 (p. 918–919) and § 11.5 (p. 948–955) | 
| November 10 | Concurrent Programming Read CSPP § 12.1 and 12.3 (p. 973–976 and 985–992) | 
| November 12 | Synchronization Read CSPP § 12.5 through 12.5.4 (p. 995–1008) | 
| November 15 | Parallelism Read CSPP § 12.6 (p. 1013–1020) | 
| November 17 | Java vs C No reading | 
| November 19 | Victory lap No reading |