CAS CS 351 - Distributed Systems

Course Website

« back

The following lecture schedule is tentative and might be updated during the semester. We will be keeping you informed of any changes via Piazza. Make sure to become familiar with the Official Semester Dates.

MSAT refers to the textbook Distributed Systems 4th Edition (by Maarten van Steen, Andrew S. Tanenbaum).

Date Topic 1 Exercise Topic 2 Reading
Tue,6/30/26 L0: Course introduction Install Go + Word Search L1: Computation and synchronization primitives MSAT Ch. 1, MSAT Ch. 3.1
Thu,7/2/26 L2: Communication Primitives (RPCs) RPC Server + Data Races L3: Concurrency and parallelism; Common Go Bugs MSAT 4.1, 4.2
Tue,7/7/26 L4: Sharding and consistent hashing; Into to MapReduce Mini MapReduce L5: MapReduce MapReduce
Thu,7/9/26 Quiz 1: Lectures 0-5 BREAK L6: Time in distributed systems MSAT 5.1, 5.2
Tue,7/14/26 L7: Failure detection, failure models, recovery Heartbeats L8: Distributed Snapshots MSAT 8.1, 8.2.8, 8.3,
Thu,7/16/26 L9: Replication Vector Timestamper L10: Distributed Consensus 1 MSAT 7.1
Tue,7/21/26 MIDTERM MIDTERM L11: Distributed Consensus 2 Raft
Thu,7/23/26 L12: Distributed Consensus 3 Raft Worktime L13: Consistency in Distributed Systems; Intro to Consistency Models Raft
Tue,7/28/26 L15: TXNs + Serializability TXN Serialiazability Checker L14: The Google File System GFS
Thu,7/30/26 Quiz 2: Lectures 10-14 BREAK L16: Dynamo MSAT 7.2, Dynamo
Tue,8/4/26 L18: 2PC Consistent Hashing or 2PC (TBD) L19: Spanner MSAT 8.5, Spanner
Thu,8/6/26 FINAL FINAL FINAL