Remember to check this regularly!

Administrative Information


Fabián E. Bustamante
2145 Sheridan Road, Room 345
+1 847 491-2745
Office Hours: TBD

Course Description

This seminar will review cool ideas and ongoing projects that are pushing distributed systems into new and challenging domains - from outerspace to underwater. The class will structured as a traditional seminar with readings, class discussion and a quarter-long research project.

Location and Time

Tuesdays and Thursdays - 12:30-1:50PM.
Ford 3-340.

In compliance with Section 504 of the 1973 Rehabilitation Act and the Americans with Disabilities Act, Northwestern University is committed to providing equal access to all programming. Students with disabilities seeking accommodations are encouraged to contact the office of Services for Students with Disabilities (SSD) at +1 847 467-5530 or SSD is located in the basement of Scott Hall. Additionally, I am available to discuss disability-related needs during office hours or by appointment.

Course Prerequisites

Communication Channels

We will use the course web site ( to post announcements related to the course. You should check this regularly for schedule changes, clarifications and corrections to assignments, and other course-related announcements.

There is also a newsgroup, eecs.495.dsce, hosted at This newsgroup is intended to foster communication among you, the students. You'll find that someone else in the class will have thought of the same problem that you have and will perhaps have some valuable insight that will prove helpful. I will be monitoring the discussion threads and will step in with guidance when appropriate.


A set of research papers I will make available (see the schedule page for a full list).

Course Organization

The course is organized as a series of discussion sessions and a single term-long project.

Reading Papers

When reading papers it is normally useful to write down a summary of about a page. Your summary should include at least:

  1. Paper title and its author(s).
  2. Brief one-line summary.
  3. A paragraph of the most important ideas: perhaps a combination of their motivations, observations, interesting parts of the design, or clever parts of their implementation.
  4. A paragraph of the largest flaws; maybe an experiment was poorly designed or the main idea had a narrow scope or applicability. Being able to assess weaknesses as well as strengths is an important skill for this course and beyond.
  5. A last paragraph where you state the relevance of the ideas today, potential future research suggested by the article, etc.

You may find the following brochure useful: Efficient reading of papers in Science and Technology by Michael J. Hanson, 1990, revised 2000 Dylan McNamee.


There will be one single project on which you will work throughout the quarter - this is a critical component of the course. Your goal is to design, construct and evaluate an interesting distributed system - the crazier the better.

Projects must be written up in a term paper (due during finals week) and teams will present their results at the end of the course in a systems class mini-conference. Projects ideas will be suggested by the instructor, but you are strongly encouraged to come up with your own ideas. Based on the topic of your project, you will be assigned a project leader to help you through the quarter (you will meet weekly with them).

This is the schedule of deliverables (this is mainly to ensure steady progress):

John Wilkes, CSP project startup documents, (HPL-CSP-90-42), 11 Oct. 1990 - A great guideline for project proposals.

The final report has to conform to the format used by the Workshop on Hot Topics in Operating Systems. For tips on preparing the report, refer to Levin & Redell, An evaluation of the ninth SOSP submissions -or- How (and how not) to write a good systems paper


I use a criterion-referenced method to assign your grade; in other words, your grade will be based on how well you do relative to predetermined performance levels, instead of in comparison with the rest of the class. Thus, if a test has 100 possible points, anyone with a score of 90 or greater will get an A, those with scores of 80 or greater will get a B, those with scores of 70 or greater will get a C, and so on. Notice that this means that if everyone works hard and gets >90, everyone gets an A.

Total scores (between 0 and 100) will be determined, roughly, as follows:


Last modified: Tue Oct 19 08:34:50 CDT 2010