Syllabus
The syllabus, time requirements, grading policy, information about accommodations, and more can be found in our updated syllabus.
Grading
Your final grade for the course will be based on the following items:
- 50% Programming Projects (4)
- 20% Homeworks (4)
- 10% Online Quizzes (2)
- 10% Final Exam
- 10% Course Participation
The four written homework assignments will all be done individually. The programming 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/23 | L1 - Introduction to CS 138 |
See L12 | |
Tue 01/28 | L2 - D.S. Principles |
↓ | Dist Intro |
Thu 01/30 | L3 - Networking [screencast] |
↓ | |
Tue 02/04 | L4 - Load Balancing [screencast] |
↓ | (Optional) Consistent Hashing |
Thu 02/06 | L5 - Load Balancing, Consistent Hashing [screencast] |
↓ | (Optional) Consistent Hashing |
Tue 02/11 | L6 - Consistent Hashing, Time (Logical Clocks) [screencast] |
↓ | (Optional) Consistent Hashing |
Thu 02/13 | L7 - Time (Logical Clocks, Global State (Distributed Snapshots)) [screencast] |
↓ | Chapter 14 |
Tue 02/18 | No Class |
Long Weekend | |
Thu 02/20 | L8 - Distributed hash tables [screencast] |
↓ | (Optional) ChordTapestry |
Tue 02/25 | L9 - Distributed hash tables [screencast] |
↓ | |
Thu 02/27 | L10 - Consistency (Active, Passive, Lazy Replication) |
↓ | Chapter 18 (Optional) Raft (Passive Replication); Lazy Replication |
Tue 03/03 | L11 - Consistency (Active, Passive, Lazy Replication) [screencast] |
↓ | Chapter 18 (Optional) Raft (Passive Replication); Lazy Replication |
Thu 03/05 | L12 - Consistency (Active, Passive, Lazy Replication) [screencast] |
Notes L1 - L12 | Chapter 18 (Optional) Raft (Passive Replication); Lazy Replication |
Tue 03/10 | No Class |
||
Thu 03/12 | L13 - [screencast] |
||
Tue 03/17 | No Class |
||
Thu 03/19 | No Calss |
||
Tue 03/24 | No Class |
Spring Recess | |
Thu 03/26 | No Class |
Spring Recess | |
Tue 03/31 | L14 - Consistency (Active, Passive, Lazy Replication) [.pdf] [screencast] |
Chapter 18 (Optional) Raft (Passive Replication); Lazy Replication Consensus in the Cloud | |
Thu 04/02 | L15 - Consistency (Active, Passive, Lazy Replication) [.pdf] [screencast] |
Marked Up Slides | Chapter 18, Chapter 17 |
Tue 04/07 | L16 - Consistency (Active, Passive, Lazy Replication) [.pdf] [screencast] |
Marked Up Slides | |
Thu 04/09 | L17 - Distributed Transactions [.pdf] [screencast] |
||
Tue 04/14 | L18 - Distributed Transactions [.pdf] [screencast] |
||
Thu 04/16 | L19 - Invited Lecture - Nathan Bronson (from Facebook) [screencast] |
||
Tue 04/21 | L20 - Practical Consensus [.pdf] [screencast] |
Google's Chubby FB's Zookeeper | |
Thu 04/23 | L21 - Industry Applications [.pdf] [screencast] |
AWS's DynamoDB FB's Cassandra | |
Tue 04/28 | L22 - Distributed File Systems [.pdf] [screencast] |
FB's Zookeeper Kafka | |
Thu 04/30 | L23 - Guest Lecture - Vesselina Ratcheva (from MongoDB) |
||
Thu 04/30 | L23 - Distributed File Systems Continued [.pdf] |
||
Thu 04/30 | L23 - Zoopeeker Overview [.pdf] |
||
Fri 05/15 | Final |
Final Notes |