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