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 | ECE | 037 | Zack & Tim & Abhay |
| AB | 1:30 PM | ECE | 037 | Jonathan & Soham |
| AC | 2:30 PM | SIG | 226 | Yusong & Druhin |
Sections will not be recorded so we heavily encourage attending section since they are heavily tied to the labs.
Resources and Communications
Course Resources
Communication
For direct communcations with Staff Members use emails listed below.
Course Staff
Instructors
- Baris Kasikci (baris[at]cs.washington.edu)
- Rohan Kadekodi (rohankad[at]cs.washington.edu)
TAs
- Jonathan Trinh [Head] (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)
- Soham Raut (sohamr[at]cs.washington.edu)
- Abhay Nori (anori[at]cs.washington.edu)
- Tim Avilov (timchick[at]cs.washington.edu)
Assignments
There are five kinds of assignments in this class:
-
Labs. Labs are significant programming projects done in pairs. 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.
-
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.
-
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.
-
Exams. There will be two in-person exams for this class
- Midterm May 11th 11:30 - 12:20 CSE2 G01
- Final: June 10th 2:30 - 4:20 PM CSE2 G01
Grades
We reserve the right to adjust the percentages as needed.
- 40% Labs/Lab Questions
- 15% Problem Sets
- 5% Design Docs
- 15% Midterm
- 25% Final
You must obtain a passing grade on the exams in order to receive a passing grade for the class.
Late Policy
Each assignment type has its own policy.
- Labs 1-3: 24-hour grace period, then -1% per day
- Lab 4: no grace period
- Lab questions: 24-hour grace period
- Problem sets: 24-hour grace period
- Design documents: no grace period
- Design doc revisions: 24-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 is allowed.