COMP 477: Systems Programming (in Rust)
Spring 2026Scott Rixner and Alan Cox
- Tuesdays & Thursdays
- 2:30 PM - 3:45 PM
- DCH 3012
Course Description
Systems Programming (in Rust) introduces students to the principles and practices of building reliable, efficient, and secure software that operates close to the hardware and operating system. Systems-level code underpins modern computing infrastructure—from operating systems and databases to network services and embedded platforms—and its correctness and performance are critical.
This course emphasizes the importance of memory safety, concurrency, and performance-aware design, and highlights how these features can be used to address long-standing challenges in systems software development. The skills developed in this course are foundational for understanding how software systems work and for building robust, high-performance applications across a wide range of computing domains.
Assignments
Before starting any assignments, please read our guide on effective AI usage to understand how to leverage AI tools appropriately in this course.
Before presenting or reviewing code, please read our guide to conducting a productive code review. These guidelines will become especially important after we complete the first two warm-up assignments.
| Due | Assignment |
|---|---|
| Jan 27 | Read JCF |
| Feb 17 | Tiny Shell |
| Apr 16 | Project |
Course Schedule
| Date | Topic | Readings |
|---|---|---|
| Jan 13 | Introduction | None |
| Jan 15 | Enums and Pattern Matching | Chapters 5 & 6 |
| Jan 20 | Traits and Generics | Chapter 10 |
| Jan 22 | Ownership and Borrowing | Chapter 4 |
| Jan 27 | Code Reviews | None |
| Jan 29 | Code Reviews | GitHub Repos |
| Feb 3 | Smart Pointers | Chapter 15 |
| Feb 5 | Unsafe Rust | Chapter 20 |
| Feb 10 | Concurrency | Chapter 16 |
| Feb 12 | No Class | |
| Feb 17 | Code Reviews | None |
| Feb 19 | Code Reviews | GitHub Repos |
| Feb 24 | Asynchrony | Chapter 17 |
| Feb 26 | Code Review Best Practices |
Google's Engineering Practices Guide How to Make Your Code Reviewer Fall in Love with You |
| Mar 3 | Rust Systems | None |
| Mar 5 | Code Reviews | None |
| Mar 10 | Code Reviews | None |
| Mar 12 | Code Reviews | None |
| Mar 17 | No Class | None |
| Mar 19 | No Class | None |
| Mar 24 | Failure | TBD |
| Mar 26 | Performance | The Tail at Scale |
| Mar 31 | Streaming | Kafka |
| Apr 2 | Scaling | YouTube Scaling |
| Apr 7 | TBD | TBD |
| Apr 9 | TBD | TBD |
| Apr 14 | TBD | TBD |
| Apr 16 | TBD | TBD |
| Apr 21 | Project Code Reviews | None |
| Apr 23 | Project Code Reviews | None |