2 June | Course overview, binary data representation review | CSAPP 1.1-1.9 | |
| Data representation, addresses | CSAPP 2.1 | |
4 June | Integer representation | CSAPP 2.2 | A1 MS1 due |
| Integer arithmetic | CSAPP 2.3 | |
6 June | Floating point | CSAPP 2.4 | |
| Machine-level program representation | CSAPP 3.1-3.4 | |
|
|
|
|
9 June | ALU operations, arithmetic, alu.zip | CSAPP 3.5 | A1 MS2 due |
| Control flow, control.zip | CSAPP 3.6 | |
11 June | Procedures, stacks, control2.zip | CSAPP 3.7 | A2 MS1 due |
| Arrays and structs, arraystruct.zip | CSAPP 3.7 | |
13 June | Assembly language in class exercise | | |
| Code and data interactions, buffer overflows, buf.zip | CSAPP 3.10 | |
|
|
|
|
16 June | Program optimization (basic techniques) | CSAPP 5.1–5.8 | A2 MS2 due |
| Exam 1 review session | | |
18 June | Guest lecture: Max von Hippel, Benchify | | |
20 June | Pipelines | P&H 4.5–4.7 | Exam 1 due |
| Program optimization (ILP, memory, profiling) | CSAPP 5.9–5.14 | |
|
|
|
|
23 June | Memory hierarchy | CSAPP 6.1–6.3 | A2 MS3 due |
| Cache policies | CSAPP 6.4 | |
25 June | Caches and program execution | CSAPP 6.5 | A3 MS1 due |
| Linking basics, symbols, relocations, executables, loading | CSAPP 7.1–7.9 | |
27 June | Dynamic linking, shared libraries, PIC, dynload.zip | CSAPP 7.10–7.15 | |
| Exceptions, Processes | CSAPP 8.1–8.4, 8.7 | |
|
|
|
|
30 June | Signals, signals.zip | CSAPP 8.5–8.6 | A3 MS2 due |
| Virtual memory | CSAPP 9.1–9.3 | |
2 July | Memory management, address translation | CSAPP 9.4–9.7 | |
| Memory mapping, dynamic memory allocation | CSAPP 9.8, 9.9, 9.11 | |
4 July | Independence Day – no class | | A3 MS3 due |
|
|
|
|
7 July | Exam 2 review session | | |
9 July | Unix I/O, files | CSAPP 10.1–10.11 | Exam 2 due |
| Networks, Internet Protocol | CSAPP 11.1–11.3 | |
11 July | Sockets, Application Protocols, sockets.zip | CSAPP 11.4 | A4 due |
| Network applications, HTTP, webclient.zip, webserver.zip | CSAPP 11.4–11.6 | |
|
|
|
|
14 July | Concurrency with pthreads, mt_webserver.zip | CSAPP 12.3 | |
| Thread synchronization, synch.zip | CSAPP 12.4–12.5 | |
16 July | Parallelism, concurrency issues, synch2.zip | CSAPP 12.6–12.7 | |
| Concurrency with processes, mp_webserver.zip | CSAPP 12.1 | |
18 July | Guest lecture: Nathaniel Bennett, FICS UFL | | A5 MS1 due |
|
|
|
|
21 July | Concurrency with I/O multiplexing, iomux.zip | CSAPP 12.2 | |
23 July | Exam 3 review session | | A5 MS2 due |
25 July | Catch-up day | | Exam 3 due |