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.