Course Description

An introduction to the principles and practice of distributed systems. Topics include communication protocols, distributed coordination, consistency models, fault tolerance, distributed storage, and cloud computing architectures.

Prerequisites: CS 240 (Operating Systems), CS 220 (Computer Networks)

Instructor Information

Professor: Dr. Michael Chen
Email: m.chen@university.edu
Office: CIT 415
Office Hours: Wednesdays 1:00-3:00 PM or by appointment

Teaching Assistant: Sarah Park (s.park@university.edu)
TA Office Hours: Mondays & Fridays 3:00-4:30 PM, CIT Lab 3

Learning Outcomes

By the end of this course, students will be able to:

Textbooks

Required: "Designing Data-Intensive Applications" by Martin Kleppmann (O'Reilly, 2017)

Recommended:

Grading

ComponentWeight
Programming Assignments (4)40%
Midterm Exam20%
Final Exam25%
Paper Reviews & Discussion10%
Class Participation5%

Grading Scale: A (90-100), B (80-89), C (70-79), D (60-69), F (<60)

Course Schedule (Tentative)

WeekTopicReading
1-2Introduction & CommunicationCh 1-2
3-4Time & OrderingLamport paper
5-6Consistency ModelsCh 5
7ReplicationCh 6
8Midterm Exam—
9-10Consensus & RaftRaft paper
11Distributed TransactionsCh 7
12-13MapReduce & SparkMapReduce paper
14Case Studies (GFS, Dynamo, Spanner)Papers TBA
15Review—
16Final Exam—

Programming Assignments

Assignment 1: Implementing a simple RPC framework
Assignment 2: Building a distributed key-value store
Assignment 3: Raft consensus algorithm implementation
Assignment 4: Fault-tolerant MapReduce system

All assignments use Go. Prior Go experience not required—tutorial provided in Week 1.

Academic Integrity: All work must be your own. Collaboration is encouraged for understanding concepts, but code and writeups must be individual. Violations will result in a zero on the assignment and referral to the academic integrity board.

Policies

Attendance: Not mandatory but strongly encouraged. Quizzes and discussions happen in class.

Late Work: 10% penalty per day, up to 3 days. No credit after 3 days without prior arrangement.

Exam Policy: Closed book, closed notes. One double-sided 8.5×11" cheat sheet allowed.

Accessibility: Students requiring accommodations should contact the Office of Disability Services and inform the instructor within the first two weeks.