Prerequisities: the basic prerequisite is to have taken an undergraduate operating systems course (CSE 451 or equivalent) or an undergraduate networking course (CSE 461 or equivalent). If you haven't taken an undergrad OS or networks course, please come talk to Arvind. We will not be covering undergraduate material in this course.
Papers: you will be responsible for reading two to three papers before each class, and contributing your thoughts on the assigned papers to the class discussion board before the class that covers it.
Projects: every few weeks, I'll hand out a programming assignment related to the course material.
Grading: Course grades will be based primarily on the programming assignments (80%), along with participation in the discussion board (20%). The course is not curved.
https://canvas.uw.edu/courses/1197687For each lecture other than the first, we will post a small set of discussion questions based on the assigned papers. You're required to add a comment to the discussion of one of the questions by noon on the day of the class. (This is to give time for everyone to read the discussion entries before class.) Please keep your entries short: they can be anything that provides insight into the question being asked. We grade posts on a two point scale: solid, or pro forma. If you say something particularly insightful, we'll give you extra credit (i.e., 3 points). We'll drop the lowest score during the quarter.
Here is the schedule of papers for the quarter; this schedule might be tweaked as we progress. The discussion board entries for the assigned papers are due by noon on the day of the associated lecture.
Slides / Notes
|January 11||Time, Clocks, and Global States||slides|
|January 18||Distributed State||slides|
Distributed Systems Research at UW
no required readings or discussion board post this week
|March 1||Big Data Analytics||slides|
Late policy: We will allow a total of 5 slack days for all assignments; you can use and distribute them between the labs in whatever way is most convenient for you. Slack days cannot be used for Lab 4 for 2-person groups or Lab 3 for individual submissions (because of end-of-quarter deadlines). Once you have exhausted your allocation of 5 slack days, we will deduct 10% of the grade for an assignment for each day that it is submitted late.
Discussing ideas with others is allowed and encouraged! You should feel free to talk with other students about the programming assignments, and to ask for help from the instructor or TAs. You can also make use of Google or other resources. However, you must write all of the code you hand in yourself, except for code that we provide you as part of the assignment. You are not allowed to look at anyone else's solution, or at code from previous years. You may not use someone else's code or text in your solutions. Sharing ideas, explaining your code to someone else,and helping someone else debug when they've run into a wall are all OK.
If you do discuss a programming assignment with someone else or find useful sources of information (e.g., technical descriptions on the Web), please cite or otherwise attribute all of your sources.