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

The four written homework assignments will all be done individually. The first programs, 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/25 L1 - Introduction to CS 138
[.pdf]
WhatsUp (optional assignment) due
LiteMiner out
Tue 01/30 L2 - Peer-to-Peer I
[.pdf]
Chapter 10
Thu 02/01 L3 - Peer-to-Peer II
[.pdf] [screencast]
Chapter 10
Tue 02/06 L4 - Peer-to-Peer III
[.pdf] [screencast]
Chapter 10
Thu 02/08 L5 - Networking I
[.pdf] [screencast]
HW1 out Chapter 5
Tue 02/13 L6 - Networking II
[.pdf] [screencast]
LiteMiner due (11:59pm) Chapter 5
Thu 02/15 L7 - RPC
[.pdf] [screencast]
Tapestry out and HW1 due (11:59pm) Chapter 5
Tue 02/20 No Class Long weekend!
Thu 02/22 L8 - Security I
[.pdf] [screencast]
Chapter 11
Tue 02/27 L9 - Security II
[.pdf] [screencast]
Chapter 11
Thu 03/01 L10 - Time
[.pdf] [screencast]
Tapestry due (11:59pm) Chapter 14
Tue 03/06 L11 - Global State
[.pdf] [screencast]
HW2 out Chapter 14
Thu 03/08 L12 - Raft I
[.pdf] [screencast]
Chapter 15
Tue 03/13 No class Snow day, HW2 due (11:59pm) Chapter 15
Thu 03/15 No class Class cancelled, Raft out
Tue 03/20 L13 - Raft II/Gossip
[PDF] [screencast]
Wed 03/21 Midterm Metcalf Auditorium, 7-9pm
Thu 03/22 L14 - Distributed File System I
[PDF] [screencast]
Tue 03/27 No class Spring break!
Thu 03/29 No class Spring break!
Tue 04/03 L15 - Distributed File System II
[PDF] [screencast]
Thu 04/05 L16 - Distributed Transaction
[PDF] [screencast]
HW3 out
Tue 04/10 L17 - Google/Facebook/Amazon
[PDF] [screencast]
Raft due (11:59pm)
Wed 04/11 Puddlestore out
Thu 04/12 L18 - RPC Tutorial
[screencast]
Tue 04/17 L19 - Final project discussion
[PDF] [screencast]
Thu 04/19 L20 - Consensus
[PDF] [screencast]
HW3 due (11:59pm)
Tue 04/24 L21 - Zookeeper
[PDF] [screencast]
HW4 out
Thu 04/26 L22 - Systems for ML
[PDF] [screencast]
Thu 05/03 HW4 due (11:59pm)
Mon 05/07 Puddlestore due (11:59pm)
Mon 05/10 Final Review Session
[PDF] [screencast]
Mon 05/14 Final 2pm