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