CAS CS 351 - Distributed Systems

CS351 Spring 2026

« 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 Assigned Reading  
1/21 L0: Course introduction MSAT Ch. 1  
1/26 Snow Day -  
1/28 L1: Computation and synchronization primitives MSAT Ch. 3.1  
2/2 L2: Communication Primitives (RPCs) MSAT 4.1, 4.2  
2/4 L3: Concurrency and parallelism; Common Go Bugs    
2/9 L4: Sharding and consistent hashing; Into to MapReduce MapReduce  
2/11 L5: MapReduce MapReduce  
2/17 Quiz 1: Lectures 0-5    
2/18 L6: Time in distributed systems MSAT 5.1, 5.2  
2/23 L7: Failure detection, failure models, recovery MSAT 8.1, 8.2.8, 8.3  
2/25 L8: Distributed snapshots MSAT 8.6, Distributed snapshots  
3/2 L9: Replication MSAT 7.1  
3/4 MIDTERM (Lec0-9)   -
3/16 L10: Distributed Consensus I Raft  
3/18 L11: Distributed Consensus II Raft  
3/23 L12: Distributed Consensus III Raft  
3/25 Quiz 2: Lectures 10-12    
3/30 L13: Consistency in Distributed Systems; Intro to Consistency Models MSAT 7.2, 7.3, 7.5  
4/1 L14: The Google File System The Google file system  
4/6 L15: Distributed Transactions and Serializability MSAT 7.2  
4/8 L16: Dynamo: Amazon’s Highly Available Key-Value Store Dynamo  
4/13 L17: Distributed Transactions, Atomicity, Two-Phase Commit MSAT 8.5  
4/15 Quiz 3: Lectures 13-17    
4/22 L18: Spanner: Google’s Globally Distributed Database Spanner  
4/27 L19: Spanner Part 2 - r/o transactions via snapshot isolation, safe time, commit wait Spanner  
4/29 Final Review