Date |
Topic |
Room |
Reading (CSAPP3e) |
Assignments |
|
|
January |
13 |
Lecture 0: Introduction and Welcome (slides) |
209 |
|
|
|
|
15 |
Lab Session: getting started with introlab |
209 |
|
introlab out |
|
|
17 |
Tour of Computer Systems (slides) |
209 |
Chapter 1 |
|
|
|
|
20 |
No class (holiday)
| |
|
|
|
|
21 |
(2:00pm) Extra help session: Command line boot camp
| 209 |
|
|
|
|
22 |
Information as Data (slides) |
209 |
2.1 |
introlab due, datalab out |
|
|
24 |
Data (continued) and datalab |
209 |
2.2 |
|
|
|
|
27 |
Ints: signed and unsigned (slides) |
209 |
2.3 |
|
|
|
29 |
Ints (continued) and practice for datalab (activity) |
209 |
|
|
|
|
31 |
Advanced datalab techniques (activity solutions) |
209 |
|
|
|
|
February |
3 |
Conclusion: Data, ints, parity, and datalab |
209 |
|
|
|
|
5 |
Machine-level representation of programs (slides) |
209 |
3.1,3.2 |
datalab due, bomblab out |
|
|
7 |
Demonstration of bomblab, understanding disassembled code (activity) |
209 |
3.3-3.5 |
|
|
|
|
10 |
Machine-level: control flow (slides) |
209 |
3.6 |
|
|
|
12 |
Control (continued): conditional moves, while and for loops |
209 |
|
|
|
|
14 |
Control (conclusion): switch statements, pointers (slides) |
209 |
|
|
|
|
|
17 |
Midterm exam review (slides) |
209 |
|
bomblab due |
|
|
19 |
Midterm exam |
MATH 118 |
2.1-2.3,3.1-3.6 |
|
|
|
21 |
Exams returned, extra credit opportunity (slides/bonus) |
209 |
|
|
|
|
|
|
Mardi Gras and Spring Break |
|
|
|
|
|
March |
2 |
Exceptional Control Flow: Introducing processes (slides) |
209 |
8.1,8.2 |
|
|
|
4 |
Exceptional Control Flow: process control (activity code) |
209 |
8.3,8.4 |
shell lab out |
|
|
6 |
Processes creation and fork() (example code, activity PDF, doit.c) |
209 |
|
|
|
|
|
9 |
ECF: fork() and process graphs (activity solutions) |
209 |
|
|
|
|
11 |
ECF: Signals, demo prep |
209 |
|
|
|
|
13 |
Shell lab demo (slides, next steps) |
209/Zoom |
|
shell lab demo |
|
|
|
16 |
ECF: Signals (slides, video, audio) |
209/Zoom |
8.5 |
|
|
|
18 |
ECF: Signals and race conditions (activity, activity example, video, audio) |
Zoom |
|
|
|
|
20 |
File Input/Output, redirection, shells, procfs (slides, video, audio) |
Zoom |
10 |
|
|
|
|
23 |
Memory, locality, caches and Memory Hierarchy (signal activity solution, proc activity, slides ,video(10 AM) ,video(Noon), audio(10am), audio(noon)) |
Zoom |
6.1-6.3 |
|
|
|
25 |
Caching and memory hierarchy (continued) (video(10am), video(noon), audio(10am), audio(noon)) |
Zoom |
|
|
|
|
27 |
Caches and Virtual Memory (video(10am), video(noon), audio(10am), audio(noon), cache demo) |
Zoom |
|
|
|
|
|
30 |
Processes and Virtual Memory (slides, video(10am), video(noon)), audio(10am), audio(noon) |
Zoom |
9.1-9.2 |
shell lab due (extended) |
|
April |
1 |
Processes and Virtual Memory (continued) (video(10am), video(noon),audio(10am), audio(noon)) |
Zoom |
9.3-9.5 |
|
|
|
3 |
Machine-level: procedures and call stack (slides, video(10am), video(noon),audio(10am), audio(noon)) |
Zoom |
3.7 |
|
|
|
|
6 |
Machine-level: procedures and call stack (continued) (video(10am), audio) |
Zoom |
|
attacklab out |
|
|
8 |
Machine-level: Stack memory attacks (slides,video(10am), video(noon), audio(10am), audio(noon)) |
Zoom |
3.10 |
|
|
|
10 |
No class (holiday)
| |
|
|
|
|
|
13 |
Machine-level: Stack attacks (continued) (audio(10am), audio(noon), video(10am), video(noon)) |
Zoom |
|
|
|
|
15 |
Stack defenses (video(10am), video(noon), audio(10am), audio(noon)) |
Zoom |
|
|
|
|
17 |
Stack counterattacks (ROP); Buffer overflows and stack memory (activity, bonus slides, video(10am),video(noon)) |
Zoom |
|
|
|
|
|
20 |
ROP wrapup activity / attacklab wrapup |
Zoom |
|
attacklab due |
|
|
22 |
Machine-level: pointers and data structures in memory (slides,video(10am),video(noon), audio(10am, audio(noon)) |
Zoom |
3.9 |
|
|
|
24 |
Pointer review (slides above) data structures (continued)(audio(10am), audio(noon),video(10am) ,video(noon)) |
Zoom |
|
|
|
|
|
27 |
Final exam: your take-home choices (security/pwntools) (intro slides,video(10am),video(noon),audio(10am),audio(noon)) |
Zoom |
|
|
|
|
29 |
Final exam: your take-home choices (systems/cachelab)(video(10am),video(noon),audio(10am),audio(noon)) |
Zoom |
|
|
|
May |
1 |
Final exam: practicing a mock exam on autolab |
Zoom |
|
|
|
|
|
4 |
Last class meeting, future of systems (slides, video(10am), video(noon)) |
Zoom |
|
|
|
|
6 |
(no class) |
Zoom |
|
Take-home final sections due Wed May 6 / Thurs May 7 |
|
|
8 |
Final exam (last 20% is live via zoom/autolab) |
Zoom |
|
|