CS 417 Syllabus

Spring 2020

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

Go here to get lecture notes and other course documentation.

*Subject to change without notice.
Last modified May 10, 2020.
recycled pixels