Schedule

This page lists topics, readings, and has links to lecture slides. It also lists assignment due dates. Items in gray italic are tentative.

This schedule could change! Changes to the schedule will be announced in class and/or on Courselore.

Readings are from:

CSAPP is by far the more important of the two textbooks.

Important: do the reading before you come to class.

The links to slides are provided for reference. In general, there is no guarantee that they will be posted before class, or that their content will not change.

Date      Topic/Slides Reading Assignment
Aug 31 Course overview CSAPP 1.1–1.9  
Sep 2 Data representation, addresses CSAPP 2.1  
Sep 4 Integer representation CSAPP 2.2  
Sep 7 Labor day, no class    
Sep 9 Integer arithmetic CSAPP 2.3 A1 MS1 due
Sep 11 Floating point CSAPP 2.4  
Sep 14 Machine-level program representation, addLongs.zip (example code) CSAPP 3.1–3.4  
Sep 16 ALU operations, arithmetic, alu.zip (example code) CSAPP 3.5 A1 MS2 due
Sep 18 Control flow, control.zip (example code) CSAPP 3.6  
Sep 21 Procedures, stacks, control2.zip (example code) CSAPP 3.7  
Sep 23 Arrays and structs, arraystruct.zip (example code) CSAPP 3.8–3.9  
Sep 25 Assembly language in class exercise   A2 MS1 due
Sep 28 Code and data interactions, buffer overflows, buf.zip (example code) CSAPP 3.10  
Sep 30 Program optimization (basic techniques): see Canvas for slides CSAPP 5.1–5.8  
Oct 2 Pipelines P&H 4.5–4.7 A2 MS2 due
Oct 5 Program optimization (ILP, memory, profiling): see Canvas for slides CSAPP 5.9–5.14  
Oct 7 Memory hierarchy CSAPP 6.1–6.3  
Oct 9 Exam 1 review session   A2 MS3 due
Oct 12 Exam 1 (in class)    
Oct 14 Cache policies CSAPP 6.4  
Oct 16 Caches and program execution: see Canvas for slides CSAPP 6.5 A3 MS1 due
Oct 19 Linking basics, symbols, relocations, executables, loading CSAPP 7.1–7.9  
Oct 21 Dynamic linking, shared libraries, PIC, interpositioning, dynload.zip (example code) CSAPP 7.10–7.15  
Oct 22–23 WSE Fall Break, no class    
Oct 26 Exceptions, Processes CSAPP 8.1–8.4, 8.7  
Oct 28 Signals, signals.zip (example code) CSAPP 8.5–8.6  
Oct 30 Virtual memory CSAPP 9.1–9.3 A3 MS2 due
Nov 2 Memory management, address translation CSAPP 9.4–9.7  
Nov 4 Memory mapping, dynamic memory allocation CSAPP 9.8, 9.9, 9.11  
Nov 6 Exam 2 review session   A3 MS3 due
Nov 9 Exam 2 (in class)    
Nov 11 Unix I/O, files CSAPP 10.1–10.11  
Nov 13 Networks, Internet Protocol CSAPP 11.1–11.3  
Nov 16 Sockets, Application Protocols, sockets.zip (example code) CSAPP 11.4 A4 due
Nov 18 Network applications, HTTP, webclient.zip (example code), webserver.zip (example code) CSAPP 11.4–11.6  
Nov 20 Concurrency with pthreads, mt_webserver.zip (example code) CSAPP 12.3  
Nov 23–27 Fall Recess, no class    
Nov 30 Thread synchronization, synch.zip (example code) CSAPP 12.4–12.5 A5 MS1 due
Dec 2 Parallelism, concurrency issues, synch2.zip (example code) CSAPP 12.6–12.7  
Dec 4 Concurrency with processes, mp_webserver.zip (example code) CSAPP 12.1  
Dec 7 Concurrency with I/O multiplexing, iomux.zip (example code) CSAPP 12.2  
Dec 9 Bonus Topics    
Dec 11 Exam 3 review session   A5 MS2 due
Dec 18 Exam 3, 9 am, Location TBD