This course will provide the common intellectual foundation for systems research, suitable as a terminal course for those not interested in further study in systems, or as a gateway course to the various specialized systems courses the department offers. The course will cover the common foundation for research in operating systems, databases, cluster and wide area distributed systems, networking, and parallel systems. The course consists of four major components:

  • You will read one or two papers per lecture. For each paper, you will craft an Ed entry contributing an answer to one of the questions we pose in advance (some of which could involve running some simple measurements).
  • Teams of two will present each paper each day, following a brief overview of the area by me. Signups are here using UW CSE Gmail account.
  • We will hand out two problem sets, which will consist of a mixture of coding, measurement, or design questions. You can perform the problem sets in teams of two or three.
  • Project three will either be an independent research project or a third assignment. There will be intermediate milestones associated with both, as well as a final report and/or presentation at the end of the quarter.

There is no midterm or final for the course.

Prerequisites: The basic prerequisite is to have taken an undergraduate operating systems course (CSE 451 or equivalent). If you haven't taken an undergrad OS course, you might still be able to manage the course but please come talk to the teaching staff. We will not be covering undergraduate material in this course.

Papers: You will be responsible for reading a research paper or doing an experiment, and contributing your thoughts on each assigned paper to the class discussion board before the class that covers it.

Discussion Board

Here's the link to the Ed page for the class discussion board and Canvas for assignment uploads:

Ed Link Canvas Course Link

The discussion board can be used for two purposes:

  • Course discussion: This is a great place for you to post questions about papers, programming assignments or design exercises, to look for a project partner, or anything else class-related.
  • Paper discussions: For each lecture other than the first, we will post a small set of discussion questions based on the assigned papers. We'll create one thread per discussion question set. You're required to add a comment to the discussion for each of the threads by 9am on the day of the class. (This is to give time for everyone to read the Ed responses before class.) For each thread, pick one of the questions in the question set to answer. Please keep Ed responses short: they can be anything that provides insight into the question being asked. We will automatically grant two mulligans during the quarter.

Your Ed responses will be graded, but with a very simple 2-bit scale. If you don't post a Ed response, you get a 0. If you post something, but if there are significant problems with what you've posted, e.g., we're not convinced you read and thought about the paper, you get a 1. If you post something interesting and thoughtful, you get a 2; we expect most of your postings to get this grade. Once in a while, if you post something that is surprisingly insightful or otherwise exceptional, you'll earn a 3; these grades will be rare.


Mailing list: Most communication will happen through Ed, which will send annoucements to your u.washington.edu email address. Mailing list: We will also be creating a class mailing list, though we do not expect it to be used often. To manage your subscription, visit the mailing list web page. You've been subscribed using your u.washington.edu email address. But, you can modify your subscription to use an email address of your choice. Note that you can only post to the mailing list from your subscribed email address.