17 350

Safe Systems Programming in Rust

Carnegie Mellon University · UGRD · Fall 2026

1 section
Add to a schedule

Catalog description

Rust is transforming systems programming, giving developers the tools to write memory- and time-efficient code at a systems level of abstraction while providing safety guarantees stronger than most high-level languages. This course will provide comprehensive coverage of safe systems programming techniques, using Rust as the vehicle of instruction although the techniques covered can be applied in other languages (typically with fewer static guarantees). We will cover ownership types, safe manual memory management, safe concurrency, asynchronous code, and how to provide a safe interface that encapsulates unsafe code. Students will practice these techniques while writing systems programs from a variety of domains, including threaded interpreters, webassembly executables in the browser, embedded device controllers, and distributed consistency protocols. We will also cover Rust specifics, including ownership, borrowing, lifetimes, Rust's concurrency model, async, error handling, unsafe, the foreign function interface, traits, functional programming, reference counted pointers, modules and crates, and macros. Prerequisite: 15-213 Min. grade C Course Website: https://www.cs.cmu.edu/~aldrich/courses/17-350

Sections

Current meeting, instructor, credit, and enrollment details

Updated 6 hours ago

001

Availability not recently verified
Class #carnegie_mellon-17350Fall 2026UGRD12 credits
Days & times
No scheduled meeting time
Meeting dates
Location
Instructor
Staff
Class numbers and section codes come from the registrar.
Spot missing or incorrect course data?