I've uploaded a video tutorial on the attack lab
Welcome to the Summer 2023 edition of CS 351: Systems Programming!
Most readings are from "Computer Systems: A Programmer's Perspective, 3rd Edition" (CS:APP3e). Lecture slides/notes will be updated after class, when available.
The lecture calendar is tentative and may be updated.
Dates | Topic | Notes | Reading(s) |
---|---|---|---|
May 15 | Syllabus and Course overview | 01-prelim | Syllabus |
May 15 - May 22 | C Primer | 02-c | K&R |
May 22 | x86-64 Primer | x86-64-guide | CS:APP 3 |
May 22 | The Process | 03-theprocess | CS:APP 8.1-8.2 |
May 24 | Process Management: fork/exit | 04-procmgmt-1 | CS:APP 8.3-8.4.2 |
May 24 | Process Management: wait/exec | 05-procmgmt-2 | CS:APP 8.4.3-8.4.6 |
May 29 | Memorial Day | ||
May 31 | Process Management / Unix Shell | 06-procmgmt-3 | CS:APP 8.5-8.6 |
Jun 5 | Memory Hierarchy | 07-caching | CS:APP 6.1-6.6 |
Jun 5 - Jun 7 | Caching and Cache Optimization | 07-caching | CS:APP 6.1-6.6 |
Jun 10 | Midterm Exam | ||
Jun 12 | Virtual Memory | 08-vm | CS:APP 9.1-9.7 |
Jun 14 | Dynamic Memory Allocation | 09-dma | CS:APP 9.9.1-9.9.4 |
Jun 14 | DMA implementation | 10-malloc | CS:APP 9.9.5-9.9.14 |
Jun 19 | Juneteenth | ||
Jun 21 | Garbage collection | 11-gc | CS:APP 9.10-9.11 |
Jun 24 | Final Exam | 12-final |
Note that invitation links are inactive until assignments are released.
Released | Due | Writeup / Resources | Repo Invite | Max Points |
---|---|---|---|---|
May 15 | May 17 | Preliminaries / Pro Git | mp-prelim | 5 |
May 22 | May 26 | Bomb Lab / Scoreboard / x86 Assembly Guide | mp-bomb | 40 |
May 30 | Jun 6 | Attack Lab / Scoreboard / Intro video | mp-attack | 70 |
Jun 7 | Jun 14 | Shell Lab / Intro video / Debugging video | mp-shell | 80 |
Jun 14 | Jun 23 | Cache Lab / Cache Viz / csim-hint.c | mp-cache | 53 |
git
version control tool: