CIS 198: Rust Programming

University of Pennsylvania

Spring 2016

Wed 4:30–6:00pm · Towne 321
David Mally
Mon. 4:30pm–6:00pm
Levine 6 Lounge
Terry Sun
Tues. 6:00–7:30pm
Levine 6 Lounge
Kai Ninomiya
Wed. 6:00pm–7:00pm
Levine 6 Lounge




Rust is a new, practical, community-developed systems programming language that "runs blazingly fast, prevents almost all crashes, and eliminates data races." Rust derives from a rich history of languages to create a multi-paradigm (imperative/functional), low-level language that focuses on high-performance, zero-cost safety guarantees in concurrent programs. It began to gain traction in industry even before its official 1.0 release in May 2015, showing a recognized need for a new low-level systems language.

In this course, we will cover what makes Rust so unique and apply it to practical systems programming problems. Topics covered will include traits and generics; memory safety (move semantics, borrowing, and lifetimes); Rust’s rich macro system; closures; and concurrency. Evaluation is based on regular homework assignments as well as a final project and class participation.