Ferris the Crab Home

Welcome to CIS 1905: Rust at the University of Pennsylvania!

Course Description

Rust is a new, practical, community-developed systems programming language that "runs blazingly fast, prevents almost all crashes, and eliminates data races" (rust-lang.org). 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 guarantee in concurrent programs. It has begun to gain traction in industry, 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. Expected topics covered include: the Rust type system (structs, enums, traits, generics), memory management (safety, ownership, borrowing, and lifetimes), functional programming (closures, higher order functions), parallelism and concurrency, and advanced topics (macros, constant functions, async/await, Rust for the web, future of Rust, etc.)

Enrolling in CIS 1905

Any student that wants to enroll in CIS 1905 must have already completed CIS 1200, with strongly recommended experience in CIS 2400 or equivalent courswork.

This course will use the CIS Waitlist with a few screening questions to determine eligibility. In order to be considered for CIS 1905, you will need to request permission for the recitation section (201) in Path@Penn (screen recording on how to do that), and then you will be added to the waitlist for the course.