CSCI-GA.3250-001: Honors Operating Systems (Grad)

Latest Announcements

12/3: Final project demo scheduling
Please email the course staff to set up a time for a final project demo on Friday December 18 or Tuesday December 22.
12/3: Office hours on December 11 moved one hour later
Mike's office hours on Friday December 11 will be 4:00-5:00 instead of the usual 3:00-4:00.
12/3: Prior exam posted
The exams page includes an example exam. There are no guarantees about similarity of format, difficulty, scope, etc.
11/16: Office hours switch on Wednesday
On November 18, Mike will cover Zhen's office hours from 2:00-3:00. From 3:00-4:00, Zhen will be in his usual spot.
11/16: Just kidding about change of venue
We will meet in our usual classroom. Apologies for the confusion.
11/10: Change of venue on Tuesday, November 17
Our class will meet at Trammell Hudson's talk: 719 Broadway, Room 1221
11/5: Final project code due on December 21.
Demo schedule TBD.
11/3: Lab 7 released
Lab 7 is released. The lab consists of three deliverables. Project proposals are due by email to the staff email list on November 16 (no slack hours can be used). Code is tentatively due on December 11. Demos will tentatively take place on December 14 and 15.
11/2: Lab 6 released
The lab is in two parts. Part 6A is due Friday, November 13. Part 6B is due Friday, November 20.
10/26: Lab 5 released
The lab is due November 6, 9:00 PM.

See all announcements RSS 2.0 feed

Course information


This course is for students who want to hack on operating systems and more generally learn how they work. Class meetings will cover research papers (both classic and recent) and readings on operating systems, with a significant portion of class time devoted to discussion. A crucial component of the course is the labs. Students will implement the core of an exokernel-style operating system, called JOS. (JOS was developed for MIT's 6.828 and has been used in courses at several other schools, including NYU.)

Prerequisites and suggested background

Who should take this course?

PhD students who are interested in systems. This course satisfies the master's core OS requirement. If you are a masters student who has had previous exposure to systems (see above), then this course might be a good way to satisfy the core OS requirement, provided that you are prepared to challenge yourself.

The work

The class will consist of assigned readings, twice-weekly discussions, labs, a final exam, and a final project:

We will assume that you check the announcements (either on this site or by RSS) every 24 hours. Also, we will use Piazza and occasionally email you (for the most urgent communications). You are responsible for monitoring all three of these media.

A note about the labs

Regardless of whether you have the suggested background, we recommend that you start the labs long before they are due. The standard advice is "Start the labs early", but that is not quite right. The best advice, I think, is "Start the labs on time, but on time is probably much earlier than you think it is".


We are indebted to the staffs of related past courses at MIT, UCLA, Harvard, Stanford, and UT Austin, and ancestors of these courses. This site relies on software to generate course Web pages, developed by Dave Andersen and Nick Feamster.

Last updated: 2015-12-03 18:56:51 -0500 [validate xhtml]