TA office hours have been posted in the Resources/Administrivia section
Welcome to the Spring 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) |
---|---|---|---|
Jan 11 | Syllabus and Course overview | 01-prelim | Syllabus |
Jan 13 - Jan 27 | C Primer | 02-c | K&R |
Jan 27 - Feb 1 | x86-64 Primer | x86-64-guide | CS:APP 3 |
Feb 3 | The Process | 03-theprocess | CS:APP 8.1-8.2 |
Feb 8 - Feb 10 | Process Management: fork/exit | 04-procmgmt-1 | CS:APP 8.3-8.4.2 |
Feb 15 - Feb 17 | Process Management: wait/exec | 05-procmgmt-2 | CS:APP 8.4.3-8.4.6 |
Feb 22 - Mar 1 | Process Management / Unix Shell | 06-procmgmt-3 | CS:APP 8.5-8.6 |
Mar 3 | Memory Hierarchy | 07-caching | CS:APP 6.1-6.6 |
Mar 8 | Caching and Cache Optimization | 07-caching | CS:APP 6.1-6.6 |
Mar 10 | Midterm Exam | ||
Mar 13 - Mar 17 | Spring Break | ||
Mar 22 - Mar 29 | Virtual Memory | 08-vm | CS:APP 9.1-9.7 |
Mar 31 | Dynamic Memory Allocation | 09-dma | CS:APP 9.9.1-9.9.4 |
Apr 5 - Apr 12 | DMA implementation | 10-malloc | CS:APP 9.9.5-9.9.14 |
Apr 14 - Apr 19 | Garbage collection | 11-gc | CS:APP 9.10-9.11 |
Note that invitation links are inactive until assignments are released.
Released | Due | Writeup / Resources | Repo Invite | Max Points |
---|---|---|---|---|
Jan 18 | Jan 29 | Preliminaries / Pro Git | mp-prelim | 5 |
Jan 30 | Feb 12 | Bomb Lab / Scoreboard / x86 Assembly Guide | mp-bomb | 40 |
Feb 13 | Feb 26 | Attack Lab / Scoreboard | mp-attack | 70 |
Feb 27 | Mar 12 | Shell Lab / Intro video / Debugging video | mp-shell | 80 |
Mar 20 | Apr 2 | Cache Lab / Cache Viz / csim-hint.c | mp-cache | 53 |
git
version control tool: