CS 4414/5416:
Systems Programming
Course Introduction
2026-08-25
New 4414/5416!
| Ken Birman |
David Bindel |
| C++ |
Rust |
| Cloud-hosted ML |
Cloud-hosted dev |
| Separate ugrad/MEng sections |
Combined sections |
| Grade 75% project |
Grade 18% project |
4414 vs 5416
- 4414 for CS systems requirement
- 5416 for graduate credit (including early-admit MEng)
- 5416 additional learning outcome: cloud-based Linux development of networked services
- 4414 can participate, but not required
- Cannot take both!
Enrollment logistics
- Non-CS students should add themselves to the waitlist
- If you have trouble, read the FAQ
- If you still have trouble, file a ticket
- See the FAQ for the latest
- I can help navigate the system, but I do not control it!
Course overview
- Rust programming (about three weeks): the language fundamentals, how the main abstractions are implemented
- Writing fast code (two weeks): modeling and profiling, role of memory and optimizing compilers
- Unix abstractions (three weeks): files, pipes, virtual memory, processes and IPC, introduction to sockets
Course overview
- Concurrent programming with threads (three weeks): message-based and shared-memory concurrent programming, concurrent network programming
- Asynchronous programming (two weeks): async/await, nonblocking I/O, and behind-the-scenes implementation via state machines
Prerequisites
- You know how to program in C
- Well! And at least one other language!
- You know enough about a Unix terminal to be dangerous
- You know something about computer org (a la 3410)
Course work
- Readings: Mostly from the Rust book and CS:APP3e
- Class sheets (10%, 0.5 pts/class): responses and questions
- Lab/discussion (12%, 1 pt/class): computer activities!
- Projects (18%, 3pt/project): coding on your own time
- Midterm (20%): scheduled for 9/22, mostly Rust
- Final (40%): not yet scheduled, mostly systems concepts
Policy highlights
- We expect you to read and practice outside class
- Bring paper and pen/pencil to class (devices put away)
- Bring a computer to the lab/discussion
- Hard deadlines are hard. Submit on time!
- Corey Torres will help with SDS; we will use ATP
- Makeup midterm will be a few days later at 8AM
- Groups are encouraged for labs and HW
- But you are responsible for understanding things yourself
AI policy
- May use to search, explore and review, practice
- Please don’t use it for coding (you won’t learn as much)