CS 4414/5416

Systems Programming (in Rust!)


Lecture: Baker Laboratory 200, TR 2:55-4:10 PM
Discussion 1: Statler Hall 185, F 2:55-4:10 PM
Discussion 2: CIS 142, F 8:40-9:55 AM

Prof: David Bindel (bindel@cornell.edu)
OH: Thu 1:30-2:30, Fri 1-2, or by appt in CIS 487

News

2026-08-11: Welcome to CS 4414/5416!

Older news »

Overview

CS 4414 (co-meets with CS 5416) is a course in systems programming. We assume you are coming to the class with experience in the C programming language and some understanding of computer organization (at the level of CS 3410, and want a deeper understanding of how high-performance low-level computing systems are built. Our objectives are:

  • Program in Rust, and explain how the main Rust abstractions are implemented.
  • Model and profile program performance, analyzing the impact of data structure layout, algorithm selection, and implementation choices.
  • Describe standard Unix system abstractions and use them in applications.
  • Write concurrent programs, reasoning about correctness issues (like deadlock) and performance issues (like contention).
  • Write asynchronous programs and explain how the asynchronous programming abstractions are implemented.

Along the way, you will get plenty of experience working in a Linux environment.

See the syllabus for more information on course logistics.