CSE logo University of Washington Department of Computer Science & Engineering
 CSE 551: Operating Systems, Spring 2007

Welcome to the CSE 551 Home Page.

Instructor: Steve Gribble

Office hours: Tuesdays 11am-noon in CSE 578, or by appointment

TA: Elizabeth Tseng

[ Announcements | Administrivia | Papers | Programming | Projects ]

CSE 551 is a graduate course on operating systems, and more broadly, software computer systems in general. This course will cover a wide array of research topics in systems, starting from historical perspectives and ending with modern topics. The class will consist of two major thrusts: reading and reviewing research papers, and doing a research project of your own.

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 us. We will not be covering undergraduate material in this course.

Papers: you will be responsible for reading and preparing a summary of one or two papers before each class. Your final grade will depend on faithfully submitting summaries for every paper before we talk about them in class: this is to ensure everybody keeps up with the reading.

Programming assignments: every week or two, I'll assign a small, topically related programming assignment designed to get your hands a little dirty with some of the topics we're covering.

Projects: research projects (done in groups of size 2) are a critical aspect of this course. Your goal is to do quality systems research and add to the community's knowledge of how to build real systems. Projects must be written up in a term paper, and teams will present their results at the end of the course in a systems class mini-conference. Project ideas will be suggested by the instructors, but you are encouraged to come up with your own ideas.




We will be covering approximately 25-30 papers this quarter. All of the papers that we will be covering are accessible on-line; there will not be a class reader that you have to purchase.

Programming assignments

A few rules of the road are worth mentioning. You should feel free to talk with each other about the programming assignments, 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 use code you find elsewhere such as the Web. You must implement your own code to solve the assignment. But, 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., on the Web), please cite or otherwise attribute all of your sources.


Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to lazowska at cs.washington.edu]