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