CSE logo University of Washington Department of Computer Science & Engineering
 CSE 550: An Introduction to Computer Systems Research, Fall 2011

[ announcements and administrivia | discussion board | paper schedule | problem sets | projects | late policy ]

CSE 550 is a graduate quals course that covers foundational topics for systems research. The course inlcudes topics common to operating systems, databases, distributed systems, networking, and parallel computing. Logistically, the course is appropriate as a gateway course to specialized systems courses, including 551, 552, and 561, or as a terminal course for students looking for breadth in systems but who do not intend on taking additional courses in the area.

The course consists of four major components:

There is no midterm or final for the course.


Instructor: Steve Gribble (office hour: Wednesdays at noon)
TA: Jason Ganzhorn (email: ganzhj at uw dot edu, office hour Fridays at 1:30 in CSE218)

Lectures: Mondays and Wednesdays, 10:30-11:50am, EEB 042.

Prerequisities: 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, please come talk to Steve. We will not be covering undergraduate material in this course.

Mailing list: When you register for the course, you'll automatically be added to the class mailing list (cse550a_au11@uw.edu). 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.


Discussion Board

Here's the link to the class discussion board:
The discussion board has three areas:


I'll post papers about a week and a half in advance of them being due. Note that you're required to read all assigned papers, but we'll also list some papers that are optional or that you should quickly scan. Blog entries for the assigned papers are due by 9am on the day of the associated lecture.




Transactions and Recovery

File Systems



Caching and Coherence



Problem sets

Everybody registered for the course should already have had an instructional UNIX account created for them by the department support staff, and have been notified of it. Using this account, you can remotely log into (via ssh) the attu.cs.washington.edu compute cluster. You can find more information about instructional resources here.

You should also be able to do the programming assignments on your own personal machines; none of them require large or exceptionally powerful machines. You might find it useful to install VMware for assignments involving Linux development. Both VMware Player and VMware Server are free, and downloadable from VMware's site.

A few rules of the road are worth mentioning. You should feel free to talk with each other about the problem sets, and share ideas as you see fit. You can also make use of Google or other resources. However, you must not share code with each other, or rely on code you find else where, such as the Web, to solve the assignment directly: you must implement your own code to solve the assignment. Most of the rogramming assignments will specify the programming environment or tools you should use; but, if none are specified, you can pick whatever programming environment or tools to build on that you like -- e.g., you can make use of shells, interpreters, and within reason, libraries or other building blocks that don't directly solve the problem for you.

If you do discuss the assignment with someone else or find useful sources of information (e.g., code or technical descriptions on the Web), please cite or otherwise attribute all of your sources.

You should use the course dropbox to submit your problem set solution.


For the project component of this course, you should self-form into teams of two, pick your own systems research problem, and explore the problem during the quarter. At the end of the quarter, you'll produce a writeup in the style of a research paper, as well as a 10 minute presentation during the final exam slot.


Here are some project ideas.

Previous projects:

Late policy

Paper blog entries

Blog entries are due by 9am on the day of the associated lecture. Late blog entries will receive a grade of zero. However, you get two free mulligans for the quarter; more specifically, we will calculate your blog-entry grade using the top N-2 scores of your blog entries.

Problem sets

You can hand in assignments late, but with the following penalty scheme:

Project deliverables

Your project deliverables may not be late, unless you have made prior arrangements with Steve.


Obviously, if there are reasonable extenuating circumstances, we'll be reasonable in adapting this policy to your circumstance. But, if you know you're going to be late, being reasonable implies contacting us well in advance.