|
Instructor:
Steve Gribble.
Office hours: Thursdays 5pm-6pm in CSE 578, or by appointment.
TA: Colin Gordon (csgordon (at) cs.washington.edu)
Office hours: By appointment (send email). You can also stop by CSE402 to see
if I'm available, but setting an appointment in advance works best.
CSEP551 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 thrusts: reading and reviewing research papers and solving some programming assignments. As well, there will be a take-home midterm roughly 2/3rds of the way through the quarter.
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.
Papers: you will be responsible for reading and preparing a summary of two or three 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 couple of weeks, I'll assign a small programming assignment designed to get your hands dirty with some of the topics we're covering.
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 if you are experimenting with 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 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 gribble at cs.washington.edu] |