CSE 493L · Autumn 2026

Concurrency, Parallelism, and Rust

Concurrency and parallelism are critical in building modern, scalable systems infrastructure. In this junior/senior-level class, we will take a deep dive into the fundamentals of concurrency and parallelism, including learning how concurrency works behind the scenes and techniques to write better, faster code.

Course communication happens on Ed. Please post questions there rather than emailing course staff. See Contacting the staff.

Course overview

This course will be taught mostly in Rust. Rust is a popular, modern programming language that focuses on memory safety without runtime overhead, making it perfect for tackling concurrent and parallel problems. No prior Rust experience is required; we will teach Rust as part of the curriculum. The course will focus on concurrent CPU programming, but many concepts apply to concurrent programming in other domains and devices such as GPUs.

The quarter is organized in three parts:

Lectures focus on concepts and theory. Sections reinforce lectures with a focus on programming and the homework. Expect 5–10 hours per week on the programming assignments.

Topics include problem partitioning, cooperative routines, parallel programming with threads, synchronization primitives in C, an introduction to Rust, concurrency and parallelism in Rust, async/await, dataflow frameworks, cache coherence and memory consistency, and more.

The calendar gives a detailed topic list for the course, including assignment dates. Homework, grading, and course policies are on the syllabus page, and the rules for using AI tools are on the AI policy page.

Lectures and sections

Lectures
Monday, Wednesday, Friday, 10:30–11:20 am, CSE2 G10
Section LA
Thursday, 1:30–2:20 pm, SAV 131 · Marcin
Section LB
Thursday, 2:30–3:20 pm, ECE 025 · Rajat and Druhin
Section LC
Thursday, 3:30–4:20 pm, ECE 025 · Aarjav and Esther
Final exam
Monday, December 14, 8:30–10:20 am

Please double-check room assignments, as they may change. We may not publish all lecture recordings, so please plan to attend lecture in person.

Sections will largely focus on the homework and, unlike many CSE classes, you will need to attend them to be able to complete the assignments. Sections will not be recorded, so plan to attend live.

Course staff

Office hours are listed on the calendar.

Contacting the staff

The way to contact the staff is to make a post on Ed. If your question is likely to be useful to other students, please consider making it public. You can make the post anonymous to hide your identity from your classmates, but course staff can still see who wrote anonymous posts. (See anonymous feedback for submitting feedback without revealing your identity to course staff.) If your message is not relevant to other students, or if it contains source code, make it private.

We ask that you use Ed rather than email because it lets the whole staff see your question and lets us track whether each request has been handled.

Course resources

Course tools

Lecture and section materials

Lecture slides and section materials are posted as PDFs and linked from the lecture list, the section list, and the calendar. Downloading them requires signing in with your CSE NetID.

Textbooks

All textbooks are optional.

Anonymous feedback

Anonymous feedback can be sent to the instructor or TAs via feedback.cs.washington.edu.

About this course

This is the second offering of CSE 493L. The course was developed by Matthew Giordano with Prof. Tom Anderson, with help from Marcin Anforowicz, Oleg Ianchenko, and Yiqing Wang.

The course is intended to eventually become CSE 334, so you may see references to 334 instead of 493L. We value your feedback immensely as we develop this course.

Back to top