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