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.