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.

Creative Commons License

Date Topics Readings Notes
Fundamentals
Sun 08/20 Go systems programming [pdf] [pptx]
Wed 08/23 Concurrency in Go [pdf] [pptx] [code] Suggested reading: Go Tutorial
Sun 08/27 Course overview, principles, MapReduce [pdf] [pptx] Pre-reading: Map Reduce Assignment 1 out
Wed 08/30 Network communication and Remote Procedure Calls [pdf] [pptx]
Sun 09/03 Eid Al-Adha break
Wed 09/06 Eid Al-Adha break
Sun 09/10 Virtualization and Cloud computing [pdf] [pptx] See also the book chapter on Virtual Machines from the Wisconsin OS book
Wed 09/13 Network file systems [pdf] [pptx] See also the book chapters on AFS and NFS from the Wisconsin OS book
Sun 09/17 GFS Time synchronization and logical clocks [pdf] [pptx] Prof. Mootaz Elnozahy
Wed 09/20 Lab 1: Virtualization, sockets, RPCs [pdf] [code] Assignment 1 due
Assignment 2 out
Sun 09/24 Saudi National Day
Wed 09/27 Global state and gossip [pdf] [pptx]
Fault Tolerance
Sun 10/01 Primary-backup replication [pdf] [pptx] Pre-reading: VM replication
Tue 10/03 5:30-7:00PM GFS [txt] Pre-reading: GFS Bldg 9: Room 3125
Wed 10/04 No class
Sun 10/08 Two-phase commit, introducing safety and liveness [pdf] [pptx]
Wed 10/11 Consensus I: FLP Impossibility, Paxos [pdf] [pptx] See also A Brief Tour of FLP Impossibility
Sun 10/15 Consensus II: Replicated State Machines, Raft [pdf] [pptx] Pre-reading: Raft
See also an online lecture about Raft by John Ousterhout
Assignment 2 due
Assignment 3 out
Wed 10/18 Byzantine Fault Tolerance [pdf] [pptx] Suggested reading: Practical BFT
See also an online lecture about BFT by Barbara Liskov
Scalability, Consistency, and Transactions
Sun 10/22 Peer-to-Peer Systems and Distributed Hash Tables [pdf] [pptx] Suggested reading: Chord
Tue 10/24 2:30-4:00PM Midterm review session Bldg 9: Room 4225 (tentative)
Bring your questions!
Wed 10/25 Eventual consistency [pdf] [pptx] Pre-reading: Bayou
Suggested reading: Flexible Updates
Sun 10/29 Midterm in-class exam Covering till Byzantine Fault Tolerance
Wed 11/01 Scaling Services: Key-Value Storage [pdf] [pptx] Pre-reading: Dynamo
Sun 11/05 Strong consistency and CAP Theorem [pdf] [pptx]
Wed 11/08 Causal consistency [pdf] [pptx] Suggested reading: COPS Assignment 3 due
Assignment 4 out
Sun 11/12 Concurrency Control, Locking, and Recovery [pdf] [pptx] Pre-reading: Franklin, up to and including §3.2
Wed 11/15 Concurrency Control 2 and Distributed Transactions [pdf] [pptx] Suggested reading: Spanner
Boutique Topics
Sun 11/19 Security [pdf] [pptx]
Wed 11/22 Blockchain [pdf] [pptx] Pre-reading: Bitcoin
Sun 11/26 Performance evaluation
More Big Data Processing
Sun 11/26 Data-intensive computing I: graph processing, distributed ML [pdf] [pptx] Suggested reading: GraphLab and Distributed GraphLab
Sun 12/03 Data-intensive computing II: stream processing, coordination [pdf] [pptx]
Wed 12/06 Final review session Bring your questions!
Assignment 4 due
Sun 12/10 9:00AM-12:00PM Final exam Bldg 9: Lecture Hall 1

Last updated: 2017-12-03 13:58:09