Syllabus
The syllabus, time requirements, grading policy, information about accommodations, and more can be found in our complete syllabus.
Grading
Your final grade for the course will be based on the following items:
- 50% Programing Projects (4)
- 10% Chord, 13.33% Tapestry, 13.33% Raft, 13.33% PuddleStore
- 20% Homeworks (4)
- 10% Midterm Exam
- 20% Final Exam
The four written homework assignments will all be done individually. The zeroth program, Whatsup, will also be done individually, while the remaining programs will be completed in groups of two (2).
Textbook
You can follow the content of the course using Distributed Systems: Concepts and Design (5th Edition). We will indicate besides each lecture below which sections of the textbook correspond to the lecture.
Programming Help
The TAs have put together two very useful guides to get started with Go and with Git. Check them out below:
More links:
Schedule
Date | Topics | Notes | Readings |
---|---|---|---|
Thu 01/26 | L1 - Introduction to CS 138 [-notes.pdf] [.pdf] [screencast] |
WhatsUp (optional assignment) due and Chord out | |
Tue 01/31 | L2 - Peer-to-Peer Part 1 [-notes.pdf] [.pdf] [screencast] |
Chapter 10 | |
Thu 02/02 | L3 - Peer-to-Peer Part 2 [-notes.pdf] [.pdf] [screencast] |
Chapter 10 | |
Tue 02/07 | L4 - Peer-to-Peer Part 3 [-notes.pdf] [.pdf] [screencast] |
Chapter 10 | |
Thu 02/09 | No Class |
Snow Day | |
Sun 02/12 | |
HW1 out | |
Tue 02/14 | L5 - Comm (Networks) [-notes.pdf] [.pdf] |
Chord due (11:59pm) Lecture capture unavailable, here's last year's screencast. |
|
Thu 02/16 | L5 - Comm (Networks cont.) [-notes.pdf] [.pdf] [screencast] |
Tapestry out | |
Tue 02/21 | No Class |
Long Weekend | |
Wed 02/22 | |
HW1 due (11:59pm) | |
Thu 02/23 | L6 - Comm (RPC) [-notes.pdf] [.pdf] [screencast] |
Chapter 5 | |
Tue 02/28 | L7 - Security [-notes.pdf] [.pdf] [screencast] |
Chapter 11 | |
Thu 03/02 | L8 - Security (cont.) [-notes.pdf] [.pdf] [screencast] |
Tapestry due (11:59pm) | Chapter 11 |
Tue 03/07 | L9 - Time [-notes.pdf] [.pdf] [screencast] |
HW2 Out | Chapter 14 |
Thu 03/09 | L10 - Global State [-notes.pdf] [.pdf] [screencast] |
Chapter 14 | |
Tue 03/14 | L11 - Raft [-notes.pdf] [.pdf] |
Chapter 15 | |
Wed 03/15 | |
HW2 due (11:59pm) | |
Thu 03/16 | Midterm Review Session |
Raft out | |
Tue 03/21 | L12 - Debugging |
Colouris 14.6 | |
Tue 03/21 | Midterm |
At 7PM and on material up to L11 | |
Thu 03/23 | L13 - Gossip [-notes.pdf] [.pdf] [screencast] |
||
Tue 03/28 | No Class |
Spring Break | |
Thu 03/30 | No Class |
Spring Break | |
Tue 04/04 | L14 - Bayou [-notes.pdf] [.pdf] [screencast] |
||
Thu 04/06 | L15 - Distributed File Systems [-notes.pdf] [.pdf] [screencast] |
||
Sat 04/08 | |
HW3 out | |
Tue 04/11 | L16 - Google [-notes.pdf] [.pdf] [screencast] |
Puddlestore out; Raft due (11:59pm) | |
Thu 04/13 | L17 - Final Project (PuddleStore) Discussion [-notes.pdf] [.pdf] [screencast] |
Puddlestore Handout | |
Tue 04/18 | L18/L19 - Distributed Transactions/Byzantine Consensus [-notes.pdf] [.pdf] [-notes.pdf] [.pdf] [screencast] |
||
Thu 04/20 | L20/21 - Practical Consensus/ZooKeeper [-notes.pdf] [.pdf] [-notes.pdf] [.pdf] [screencast] |
HW3 due (11:59pm) | |
Tue 04/25 | L22/23 - Self Stabilizing Systems/Virtual Synchrony [-notes.pdf] [.pdf] [-notes.pdf] [.pdf] [screencast] |
HW4 out | |
Thu 04/27 | L24 - Dynamo [-notes.pdf] [.pdf] [screencast] |
||
Thu 05/04 | No class |
HW4 due (11:59pm) | |
Mon 05/08 | No class |
PuddleStore due (11:59pm) | |
Fri 05/12 | Final review session [screencast] |
||
Tue 05/16 | Final exam |
2pm |