CS-240 Syllabus

Schedule

This schedule and syllabus is preliminary and subject to change.

Lectures and related materials are licensed for use under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. Michael Freedman and Kyle Jamieson developed much of the original material. Wyatt Lloyd has updated it.

Creative Commons License

Date Topics Slides Readings
Mon 08/28 Introduction + course overview [pdf] [pptx]
Thu 08/31 Go systems programming [pdf] [handout] See also the Go syntax reference
Mon 09/04 MapReduce case study [pdf] [pptx] Pre-reading: MapReduce
Fundamentals
[video] Due by 09/07 Network communication and Remote Procedure Calls [pdf] [pptx]
Thu 09/07 Concurrency and RPCs in Go [pdf] [handout] [code] Suggested reading: "Concurrency" portion of a Tour of Go
Wed 09/13 Assignment 1 due at 11:59pm
[video] Due by 09/14 Time and logical clocks 1 [pdf] [pptx]
[video] Due by 09/14 Time and logical clocks 2 [pdf] [pptx]
Thu 09/14 Discussion: Time and logical clocks
Wed 09/20 Assignment 2 due at 11:59pm
[video] Due by 09/21 Distributed snapshots [pdf] [pptx]
Thu 09/21 Discussion: Distributed snapshots
Eventual Consistency and Scaling Out
Mon 09/25 Eventual consistency, Bayou [pdf] [pptx] Pre-reading: Bayou
Thu 09/28 Peer-to-Peer Systems and Distributed Hash Tables [pdf] [pptx] Suggested reading: Chord
Mon 10/02 Scale-out key-value storage, Dynamo [pdf] [pptx] Pre-reading: Dynamo
Thu 10/05 No class
Big Data
[video] Due by 10/12 Big data processing [pdf] [pptx]
Replicated State Machines
Mon 10/09 Replicated State Machines via Primary-Backup [pdf] [pptx]
Thu 10/12 Lab 1
Mon 10/16 Mid-semester Break
Thu 10/19 Lab 2
Mon 10/23 Lab 3
Thu 10/26 Midterm in-class exam (1h:15m)
Mon 10/30 View Changes and Reconfiguration [pdf] [pptx] See also Viewstamped Replication Revisited
Thu 11/02 Consensus with Paxos [pdf] [pptx]
Mon 11/06 Raft [pdf] [pptx] Pre-reading: Raft
See also an online lecture about Raft by John Ousterhout
Thu 11/09 Byzantine Fault Tolerance [pdf] [pptx] Suggested reading: Practical BFT
See also an online lecture about BFT by Barbara Liskov
Strong Consistency and Scaling Out with Transactions
Mon 11/13 Consistency Models [pdf] [pptx]
Wed 11/15 Assignment 3-1 due at 11:59pm
Thu 11/16 CAP, FLP [pdf] [pptx] See also A Brief Tour of FLP Impossibility
Mon 11/20 Scalable Causal Consistency [pdf] [pptx] Suggested reading: COPS
Thu 11/23 Atomic Commit and Concurrency Control [pdf] [pptx] See also: Franklin, up to and including §3.2
Mon 11/27 Distributed transactions 1 [pdf] [pptx] Suggested reading: Spanner
Wed 11/29 Assignment 3-2 due at 11:59pm
Thu 11/30 Distributed transactions 2 [pdf] [pptx]
Mon 12/04 No class
System Evaluation
Thu 12/07 Reasoning about System Performance [pdf] [pptx]
Thu 12/07 Assignment 4 due at 11:59pm
Sun 12/10, 1:00-4:00PM Final exam

Last updated: 2023-11-16 9:26