Course Schedule
Spring 2018

Note: this schedule is subject to change.

Week Topics Code/Resources Assignments Due
1
1/23-1/25
Intro to Distributed Systems
Computer Networking
Distributed Systems: for fun and profit
High Scalability Blog
Timelines at Scale
Maven in 5 Minutes
Concurrency Slides
Concurrency Summary
Threads Code
Java Threads
Due Thursday - 9:30am
Homework 0
Reading - Takada - Ch. 1
2
1/30-2/1
Protocol Buffers
ZooKeeper
Reliable Data Transfer
microcloud node/port assignments
sockets
zookeeper
protocol buffers
udppeer
Reading - Bonaventure - Recovering from error
3
2/6-2/8
Project 1 Demos - Tuesday 2/6
Reliable Data Transfer
Due Tuesday - start of class
Project 1 - Demo
Due Wednesday - 5pm
Project 1 - Final Code Upload
4
2/13-2/15
Reliable Data Transfer
Web Services
Summary of Java Synchronization
Go-Back-N Animation
udppeer
synchronization
Due Thursday - Watch Mastering Chaos - A Netflix Guide to Microservices
5
2/20-2/22
Web Services
Project work day
Due Thursday - start of class
Project 2 - Demo
Due Friday - 5pm
Project 2 - Final Code Upload
6
2/27-3/2
Web Services
Time and Global State
CAP Theorem
Distributed Systems: for fun and profit - Ch 1 - 2
7
3/6-3/8
Exam 1 - Thursday 3/8 Study Guide
Sample Exam
Spring break - woohoo!
8
3/20-3/22
Replication
Facebook Paper Discussion
Due Tuesday - Read Kleppmann - Ch 5 - Replication
Due Thursday before class - Read Existential Consistency: Measuring and Understanding Consistency at Facebook and submit the Review Form
9
3/27-3/29
Dynamo Paper Discussion
Due Tuesday before class - Read Dynamo: Amazon’s Highly Available Key-value Store and submit the Review Form
Due Friday - 5PM
Project 3 Code and Deployment
10
4/3-4/5
Coordination and Agreement
Transactions
Due Tuesday - Read Kleppmann - Ch 7 - Transactions - Ch 9 - pp. 352-362 (Distributed Transactions and Consensus)
11
4/10-4/12
Transactions
Consensus
Due Thursday - Read In Search of an Understandable Consensus Algorithm and submit the Review Form
12
4/17-4/19
Raft
Paxos
Spanner
Spanner Discussion Questions
Due Thursday - Read Spanner: Google’s Globally-Distributed Database and submit the Review Form
13
4/24-4/26
Project 4 Demos Spanner
Spanner Discussion Questions
Due Monday - 5PM
Project 4 Code and Demonstration
14
5/1-5/3
Exam 2 - Thursday 5/3 Study Guide
Sample Exam
Due Monday - 5PM
Project 5 Proposal
15
5/8-5/10
Due Tuesday - start of class
Project 5 Checkpoint 1
Finals Week
5/12-5/17
Project 5 Demonstrations