6.5250/18.437 Distributed Algorithms, MIT, Fall 2025
- Instructor: Prof. Mohsen Ghaffari. Office hours by appointment.
- Teaching Assistants: Jaehyun Koo and Kenny Zhang. Office hours Thursdays 3:00-5:00 pm, in 32-G5 (open lounge).
- Lecture Time & Place: Tuesdays and Thursdays 11:00-12:30 at E25-111.
- Level: Graduate, counts as a TQE course in Theoretical Computer Science.
- Administrative Assistant: Nathan Higgins.
- Canvas: Distributed Algorithms 2025 on Canvas (for nonpublic material). If you want Canvas access but are not registered in the course, please send an email to the course TA describing your background and how you plan to participate in the course.
- Piazza: Distributed Algorithms 2025 on Piazza (for discussions). Please make sure to enroll, especially if you are taking this course for credit.
- Feedback: Anonymous Form. Whenever possible, we prefer non-anonymous feedback, as it allows us to further discuss the issue. For non-anonymous feedback, please send an email to Mohsen with the title 6.5250 Distributed Algorithms: Feedback.
- Course Description: Distributed computing is central to many modern computational systems, including wired and wireless communication networks, cluster computing, multi-core computers, robot swarms, data management systems, and transportation systems. This is a graduate-level theory course and it introduces and investigates the fundamental aspects of distributed computing, including communication and coordination, locality, symmetry breaking, parallelism, fault-tolerance, asynchrony, bandwidth limitations and congestion, and beyond. The focus will be on algorithmic tools and techniques and methods for proving lower bound or impossibility results.
- Prerequisites: Sufficient mathematical maturity to start a graduate-level algorithmic course, including comfort with the basics of algorithm design and analysis, basics of probability, and some prior exposure to randomized algorithms. For instance, having passed MIT's 6.1220/6.046 Design and Analysis of Algorithms would suffice. No background in distributed systems is required. If you're not sure whether you are ready for this course, please talk to Mohsen.
- Grading: Six biweekly problem sets 50%, course project 30%, scribing and peer grading 20%. See the Canvas page for further instructions.
Lectures (Tentative)
The syllabus/material will be updated during the semester. Green links show the main sources (scripts, textbooks, scribe notes, or slides). Blue links point to optional/supplementary material, usually source papers or other related work. Red links indicate deliverables (problem sets or project items).
Block 1: General Introduction
- Lecture 01 (Sept. 04): Introduction, Logistics, and Distributed Coloring in a Ring
- Lecture 02 (Sept. 9): Flooding, BFS tree, Broadcast, Convergecast, and Bellman-Ford
Block 2: Local Distributed Graph Algorithms
- Lecture 03 (Sept. 11): Coloring Algorithms
- Lecture 04 (Sept. 16): Coloring Lower Bounds
- Lecture 05 (Sept. 18): Maximal Independent Set
- Luby (STOC 1985)
- Alon, Babai, and Itai (Journal of Algorithms 1986)
- Israeli and Itai (Info. Proc. Letters 1986)
- Deadline for Problem Set 1: Thursday, Sept. 18, 11:59 pm
- Lecture 06 (Sept. 23): Network Decomposition, Definition and Randomized Constructions
- Lecture 07 (Sept. 25): Network Decomposition, Deterministic Constructions
Block 3: Fault Tolerance and Asynchrony in Distributed Computing
- Lecture 08 (Sept. 30): Fault-tolerant Synchronous Consensus Algorithms
- Lecture 09 (Oct. 02): Fault-tolerant Synchronous Consensus Lower Bounds
- Sections 6.4-6.7, 7.1 of the Lynch Textbook
- Slides
- Deadline for Problem Set 2: Thursday, Oct. 2, 11:59 pm
- Lecture 10 (Oct. 07): Asynchronous Consensus: Deterministic Impossibility with One Fault, and Randomized Algorithm
- Scribe Notes, to be added here
- Fischer, Lynch, Paterson (PODS 1983, JACM 1985)
- Ben-Or (PODC 1983)
- Lecture 11 (Oct. 09): Synchronizers
Block 4: Global Distributed Graph Algorithms
- Lecture 12 (Oct. 14): MST Algorithms
- Section 2.2 of the DGA Notes
- Handwritten notes (the shared screen in the recorded video)
- Lecture 13 (Oct. 16): Min-Cut Algorithms
- Ghaffari and Haeupler (SODA 2016)
- Deadline for Problem Set 3: Thursday, Oct. 16, 11:59 pm
- Lecture 14 (Oct. 21): Lower Bounds for MST, Min-Cut, Shortest Paths, and Beyond
- Lecture 15 (Oct. 23): Shortest Path Algorithms
- Scribe Notes
- Nanongkai (STOC 2014)
- Deadline for Project Proposals: Friday, October 24, 11:59 pm
- Lecture 16 (Oct. 28): Shortest Path Algorithms, continued
Block 5: Selected Topics
- Lecture 17 (Oct. 30): Routing in the Complete Network
- Scribe Notes (initial draft)
- Lenzen and Wattenhofer (STOC 2011)
- Lenzen (PODC 2013)
- Deadline for Problem Set 4: Thursday, Oct. 30, 11:59 pm
- Lecture 18 (Nov. 4): Connectivity via Linear Sketching
- Lecture 19 (Nov. 6): Local Computation Algorithms (LCAs)
- Scribe Note TBA
- Nguyen and Onak (FOCS 2008)
- Lecture 20 (Nov. 13): Shattering and Its Necessity
- Scribe Notes TBA
- Berenboim, Elkin, Pettie, and Schneider (FOCS 2012)
- Ghaffari (SODA 2016)
- Chang, Kppelowitz, Pettie (FOCS 2016)
- Deadline for Problem Set 5: Thursday, Nov. 13, 11:59 pm
- Lecture 21 (Nov. 18): The Landscape of Local Distributed Complexities
- Lecture 22 (Nov. 20): Local Rounding
- Lecture 23 (Nov. 25): Topic TBD
- Deadline for Problem Set 6: Tuesday, Nov. 25, 11:59 pm
- Lecture 24 (Dec. 02): Topic TBD
Block *: Project Presentations and Reports
Accessibility