Welcome to the Spring 2021 edition of CS 351: Systems Programming
The Zoom meeting ID for our online lectures is 836 6745 2132 -- you can join using this link.
We will be using Discord to run office hours, and it will also serve as our peer support and Q/A forum. If you aren't already a member, please join at https://discord.gg/exbFK5b
Lecture recordings, when available, can be found on the class YouTube playlist
Please note that readings for a given lecture should ideally be reviewed before coming to class, and will likely need to be revisited afterwards. 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 20 | Syllabus and Course overview | 01-prelim | Syllabus |
Jan 22 - Feb 03 | C Primer | 02-c | K&R, Pro Git chapters 1, 2 |
Feb 10 | The Process | 03-theprocess | CS:APP 8.1-8.2 |
Feb 12 | Process Management: fork/exit | 04-procmgmt-1 | CS:APP 8.3-8.4.2 |
Feb 17 | Process Management: wait/exec | 05-procmgmt-2 | CS:APP 8.4.3-8.4.6 |
Feb 19 - Feb 26 | Process Management / Unix Shell | 06-procmgmt-3 | CS:APP 8.5-8.6 |
Mar 03 - Mar 10 | Memory Hierarchy and Caching | 07-caching | CS:APP 6.1-6.6 |
Mar 12 | Midterm Exam | ||
Mar 17 - Mar 19 | Cache Optimization | ||
Mar 24 - Mar 31 | Virtual memory | 08-vm | CS:APP 9.1-9.7 |
Apr 02 | Dynamic Memory Allocation | 09-dma | CS:APP 9.9.1-9.9.4 |
Apr 07 - Apr 14 | Implementing malloc | 10-malloc | CS:APP 9.9.5-9.9.14 |
Apr 16 - Apr 21 | Garbage collection | 11-gc | CS:APP 9.10 |
Apr 23 - Apr 30 | System-level I/O | 12-io | CS:APP 10.1-10.12 |
Assignments will be posted as they become available.
# | Released | Due | Topic | Handout(s) |
---|---|---|---|---|
1 | TBA | TBA | Preliminaries |
Michael Lee
git
version control tool:
Sample exams:
Practice problems: