CS 417 Syllabus

Spring 2021

week date topic*
0 Jan 20 Recitation canceled
1 Jan 25 Introduction
Networking: network protocols, point-to-point communication
1.5 Jan 27 Introduction, network programming
2 Feb 1 Marshaling: JSON, Google protocol buffers
Remote procedure calls, distributed objects
2.5 Feb 3 Java RMI, Web services with Python
3 Feb 8 Web services
Clock synchronization
Event ordering: Logical clocks, vector clocks
3.5 Feb 10 Assignment review
4 Feb 15 Group communication: message ordering and message delivery, multicasting
Replication and virtual synchrony
4.5 Feb 17 Review for Exam 1
5 Feb 22 Distributed mutual exclusion
Election algorithms
Consensus: Raft
5.5 Feb 24 No recitation
6 Mar 1 Exam review
Network attached storage: design, NFS, AFS (scale), DFS & SMB (cache control), CODA (redundancy)
6.5 Mar 3 Project discussion
7 Mar 8 Google FS (GFS), Hadoop Distributed FS (HDFS)
Chubby,
Distributed lookup services and distributed hash tables, Amazon Dynamo
7.5 Mar 10
8 Mar 15 NO CLASS: SPRING BREAK
8.5 Mar 17 NO CLASS: SPRING BREAK
9 Mar 22 Distributed transactions: two phase commit, three-phase commit, ACID/BASE models
Distributed deadlock
Concurrency control
9.5 Mar 24 Assignment review and Q & A
10 Mar 29 Google cluster architecture, MapReduce
10.5 Mar 31
11 Apr 5 Bigtable (Apache Hama), Spanner, Bulk Synchronous Parallel framework (Apache Hive) Pregel framework (Apache Giraph)
Hive, Apache Spark
11.5 Apr 7
12 Apr 12 Content delivery networks: Akamai
Peer-to-peer content delivery
Clustering: scalable performance, load balancing, and availability
12.5 Apr 14 Assignment discussion, Amazon Elastic MapReduce
13 Apr 19 Cryptography: introduction, communication and authentication, key exchange, secure communication, hybrid cryptosystems, digital signatures
Distributed authentication: protocols, digital certificates, Kerberos, SSL
Identity management (OpenID), distributed authorization (OAuth)
13.5 Apr 21 TBD
14 Apr 26 Messaging: Kafka
Distributed caching: memcashed, Redis
14.5 Apr 28 No recitation
15 May 3 Distributed systems design

Go here to get lecture notes and other course documentation.

*Subject to change without notice.
Last modified January 8, 2021.
recycled pixels