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% Programming Projects (4)
  • 20% Homeworks (4)
  • 10% Midterm Exam
  • 20% Final Exam

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/24 L1 - Introduction to CS 138
[.pdf] [screencast]
Tue 01/29 L2 - D.S. Principles
[.pdf] [screencast]
LiteMiner Out Dist Intro
Thu 01/31 L3 - D.S. Principles Continued
[.pdf] [screencast]
MapReduce
Tue 02/05 L4 - DHT (CHash and Chord)
[.pdf] [screencast]
(Textbook) Chapter 10.4 and 10.5
(Optional) Consistent Hashing
(Optional)
Thu 02/07 L5 - DHT Continued (Chord and Tapestry)
[.pdf] [screencast]
HW1 Out (Textbook) Chapter 10.4 and 10.5 (Optional) ChordTapestry
Tue 02/12 L6 - DHT Concluded (Tapestry)
[.pdf] [screencast]
LiteMiner due (11:59pm) . (Textbook) Chapter 10.4 and 10.5 (Optional) Tapestry
Thu 02/14 L7 - Time (Logical Clocks)
[.pdf] [screencast]
Tapestry out Chapter 14
Tue 02/19 No Class
Long Weekend
Wed 02/20
HW1 due (11:59pm)
Thu 02/21 L8 - Time -- Global State (Distributed Snapshots)
[.pdf] [screencast]
Chapter 14
Tue 02/26 L9 - Consensus (Replication) Passive (Raft), Active Replication
[.pdf] [screencast]
Chapter 18
Thu 02/28 L10 - Consensus (Replication) Passive (Raft), Lazy Replication (Gossip, Bayou)
[.pdf] [screencast]
Tapestry due (11:59pm) Chapter 18 (Optional) Raft; Gossip
Tue 03/05 L11 - Consensus (Replication) Passive (Raft),
[.pdf] [screencast]
HW2 Out Chapter 18
Thu 03/07 L12 - Consensus (Replication), Distributed Transactions
[.pdf] [screencast]
Chapter 18, Chapter 17
Tue 03/12 L13 - Distributed Transactions
[.pdf] [screencast]
Chapter 17
Thu 03/14 L14 - Midterm Review Session
[screencast]
Raft out
Fri 03/15
HW2 due (11:59pm)
Tue 03/19 L15 - Byzantine Fault Tolerant
[.pdf] [screencast]
Chapter 15
Wed 03/20 Midterm
At 7PM
Thu 03/21 L16 - Distributed File Systems
[.pdf] [screencast]
Thu 03/28 No Class
Spring Break
Sat 03/30 No Class
Spring Break
Tue 04/02 Raft Help Session
HTA will lead in-class help session
Thu 04/04 GoRPC Lab
[screencast]
HW3 out
Tue 04/09 L17 - Industry Applications
[.pdf] [screencast]
Raft due (11:59pm)
Thu 04/11 L18 - Industry Applications
[.pdf] [screencast]
Puddlestore out; Puddlestore Handout
Tue 04/16 L19 - Final Project (PuddleStore) Discussion;
[.pdf] [screencast]
Thu 04/18 L20 - Practical Consensus (Chubby/Zookeeper)
[.pdf] [screencast]
Chubby , Zookeeper
Sat 04/20
HW3 due (11:59pm)
Tue 04/23 L21 - Industry Applications
[.pdf] [screencast]
Thu 04/25 L22 - Industry Applications
[screencast]
HW4 out; Vesselina Ratcheva (from MongoDB)
Thu 05/02 No class
HW4 due (11:59pm)
Mon 05/06 No class
PuddleStore due (11:59pm)
Sat 05/11 Final exam
2pm