CSE 451: Operating Systems
Course Overview
CSE 451 is an undergraduate course on operating systems. During the course you will complete several labs, working in teams of two. Each lab will add a new feature to a primitive operating system called xk. At the end of this class you will be able to find your way around the source code of most operating systems, and more generally, be comfortable with systems software.
Lecture and Sections
Lectures are MWF at 11:30-12:20 in CSE2 G01
We have set up the class for Panopto lecture capture. However, we encourage you to attend lecture in person, if at all possible.
Section Meetings
| Section | Time | Building | Room | TAs |
|---|---|---|---|---|
| AA | 12:30 PM | BNS | 117 | Aliyan & Yusong |
| AB | 1:30 PM | ARC | G070 | Druhin & Zack |
| AC | 2:30 PM | MGH | 234 | Jonathan & Soham |
Sections will not be recorded so we heavily encourage attending section since they are heavily tied to the labs.
Resources and Communications
Course Resources
Communicationsm
For direct communcations with Staff Members use emails listed below.
Course Staff
Instructor
- Gary Kimura (garyki[at]cs.washington.edu)
TAs
- Jonathan Trinh (jtrinh13[at]cs.washington.edu)
- Yusong Yan (jasonyys[at]cs.washington.edu)
- Druhin Bhowal (dbhowal[at]cs.washington.edu)
- Zack Crouse (zcrouse[at]cs.washington.edu)
- Aliyan Muhammad (aliyam2[at]cs.washington.edu)
- Soham Raut (sohamr[at]cs.washington.edu)
Assignments
There are four kinds of assignments in this class:
-
Labs. Labs are significant programming projects done in pairs. A small number of students may opt to complete labs individually. Labs extend a basic OS kernel (derived from xv6) to support protected system calls, multiprocessing, paged virtual memory, and crash-resilient file systems. Labs are autograded and require correctness in all cases.
-
Design documents. Labs 2–4 require a design document prepared and submitted jointly with your lab partner. These are due one week before each lab so that we can provide timely feedback and may be revised for W credit.
-
Lab questions. Each lab includes short-answer questions submitted on Gradescope, covering topics related to the implementation. These are submitted separately from the lab and include a brief post-mortem.
-
Problem Sets. Problem sets help you think through topics covered in lecture and labs. You will have at least one week to complete each problem set, and they are completed individually unless otherwise noted.
Grades
We reserve the right to adjust the percentages as needed.
- 70% Labs/Lab Questions
- 20% Problem Sets
- 10% Design Docs
Late Policy
Each assignment type has its own policy.
- Labs 1–3: 48-hour grace period, then −1% per day
- Lab 4: no grace period
- Design documents: no grace period
- Lab questions: 48-hour grace period
- Problem sets: 48-hour grace period
- Design doc revisions: 48-hour grace period
There is no cap on total grace usage.
Partner Work
Labs are designed for pair work and require active collaboration.
Do not split the design work. Pair program during design.
Partners are expected to:
- Communicate frequently
- Work synchronously on design
- Inform each other of availability
Repeatedly abandoning a partner may result in a zero.
W Credit
W credit is optional and requires revised design documents for labs 2–4, incorporating staff feedback.
Academic Honesty
Read the CSE Academic Misconduct Policy.
Do not:
- Share code or written solutions
- Use others’ solutions
- Use AI tools to write code or solutions
High-level discussion and debugging help are allowed.