CS 4414/5416:
Systems Programming

Course Introduction

David Bindel

2026-08-25

Welcome!

Prof. David Bindel
Office: CIS 487
Hours: Thu 1:30-2:30, Fri 1-2
https://www.cs.cornell.edu/~bindel/

Course information at:
https://www.cs.cornell.edu/courses/cs4414/2026fa/

New 4414/5416!

Previous Current
Ken Birman David Bindel
C++ Rust
Cloud-hosted ML Cloud-hosted dev
Separate ugrad/MEng sections Combined sections
Grade 75% project Grade 18% project

4414 vs 5416

  • 4414 for CS systems requirement
  • 5416 for graduate credit (including early-admit MEng)
  • 5416 additional learning outcome: cloud-based Linux development of networked services
    • 4414 can participate, but not required
  • Cannot take both!

Enrollment logistics

  • Non-CS students should add themselves to the waitlist
    • If you have trouble, read the FAQ
    • If you still have trouble, file a ticket
  • See the FAQ for the latest
  • I can help navigate the system, but I do not control it!

Course overview

  • Rust programming (about three weeks): the language fundamentals, how the main abstractions are implemented
  • Writing fast code (two weeks): modeling and profiling, role of memory and optimizing compilers
  • Unix abstractions (three weeks): files, pipes, virtual memory, processes and IPC, introduction to sockets

Course overview

  • Concurrent programming with threads (three weeks): message-based and shared-memory concurrent programming, concurrent network programming
  • Asynchronous programming (two weeks): async/await, nonblocking I/O, and behind-the-scenes implementation via state machines

Prerequisites

  • You know how to program in C
    • Well! And at least one other language!
  • You know enough about a Unix terminal to be dangerous
  • You know something about computer org (a la 3410)

Course work

  • Readings: Mostly from the Rust book and CS:APP3e
  • Class sheets (10%, 0.5 pts/class): responses and questions
  • Lab/discussion (12%, 1 pt/class): computer activities!
  • Projects (18%, 3pt/project): coding on your own time
  • Midterm (20%): scheduled for 9/22, mostly Rust
  • Final (40%): not yet scheduled, mostly systems concepts

Policy highlights

  • We expect you to read and practice outside class
  • Bring paper and pen/pencil to class (devices put away)
  • Bring a computer to the lab/discussion
  • Hard deadlines are hard. Submit on time!
  • Corey Torres will help with SDS; we will use ATP
  • Makeup midterm will be a few days later at 8AM
  • Groups are encouraged for labs and HW
    • But you are responsible for understanding things yourself

AI policy

  • May use to search, explore and review, practice
  • Please don’t use it for coding (you won’t learn as much)