Distributed Computing
ETH Zurich

Principles of Distributed Computing (FS 2026)

Course cataloguePrevious yearPODC lecture collection

Distributed computing is essential in modern computing and communications systems. Examples are on the one hand large-scale networks such as the Internet, and on the other hand multiprocessors such as your multi-core laptop. This course introduces the principles of distributed computing, emphasizing the fundamental issues underlying the design of distributed systems and networks: communication, coordination, fault-tolerance, locality, parallelism, self-organization, symmetry breaking, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques, basically the "pearls" of distributed computing. We cover a fresh topic every week.

Bonus Task

Each week, students will be able to submit an original problem based on a topic from a previous lecture. Students coming up with an interesting problem about the material of this course (possibly containing several subquestions) along with an high-quality solution will be awarded a grade bonus of 0.25 and their problem will be shared with other students.

Your problem should be complex enough to take about 20 minutes to solve, and should not merely ask about something that can easily be looked up in the script (definition, algorithm, etc). You may take style inspiration from past exam questions (and solutions), but your question must be original. It takes us at least 20 hours to design an exam question (initial idea, improvements, tuning, testing), so we expect that it will take you a substantial time to produce an interesting question.

There will be 7 submission rounds, each taking place every two weeks and covering the two previous topics. For example, the deadline to submit a problem related to Lectures 1 and 2 will be on the day of Lecture 3 (04.03.26), that for problems related to Lecture 3 and 4 on the day of Lecture 5 (18.03.26), and so on. The problem has to be sent by mail to the TA who organized the exercise session for the corresponding topics, as well a copy to Damien Berriaud. We will review the submissions and provide feedback (pass or fail) one week after each deadline, so that the result is communicated before the next submission deadline. A student may submit multiple problems but will be awarded the grade bonus at most once.

Bonus tasks which have been awarded the bonus grade will be available in this polybox folder.

Exam

Discussion Forum

We have set up a discussion forum on the moodle course homepage. You can use this forum to ask questions about the lecture and the exercises. As this is a discussion forum, feel free to also answer the questions of your colleagues.

Lecture Material

Chapter Title Lecture Exercises Additional Material
Chapter 0
Introduction
18.02.2026
Script [peleg] Preface, Chapter 1
Slides by M.Fischer, ETH Zürich
Chapter 1
Vertex Coloring
18.02.2026
Script Supervised by Damien
Exercises
Solutions
[peleg] Chapter 7
Slides by S.Schmid, TU Berlin
2023 Recording
Chapter 2
Tree Algorithms
25.02.2026
Script Supervised by Anton
Exercises
[peleg] Chapter 3-5
[hkpru] Chapter 7
Slides by S.Schmid, TU Berlin
2023 Recording
Chapter 3
Leader Election
04.03.2026
Supervised by Mose
Deadline Bonus Ch. 1 and 2.
[hkpru] Chapter 8
Slides by S.Schmid, TU Berlin
2023 Recording
Chapter 4
Maximal Independent Set
11.03.2026
Supervised by Marc [peleg] Chapter 8
Slides by R. Wattenhofer
Slides by S.Schmid, TU Berlin
2023 Recording
Chapter 5
Locality Lower Bounds
18.03.2026
Supervised by Anton 2023 Recording
Chapter 6
Matching
25.03.2026
Supervised by Damien Original Paper
Slides by M. Fischer
2024 Recording
Chapter 7
Global Problems
01.04.2026

Supervised by Mose
Slides by R. Wattenhofer
Animation of APSP Algorithm
by Jukka Suomela
2023 Recording
No lecture (Easter Break)
08.04.2026
Chapter 8
Distributed Sorting
15.04.2026
[leighton] Chapter 1.6 & 3.5
[clr] Chapter 28
Slides by S.Schmid, TU Berlin
2023 Recording
Chapter 9
Stabilization
22.04.2026
2023 Recording
Chapter 10
Wireless Protocols
29.04.2026
2023 Recording
Chapter 11
Graph Neural Networks
06.05.2026
Graph Representation Learning
by William L. Hamilton, McGill University
2023 Recording
Chapter 12
Labeling Schemes
13.05.2026
2023 Recording
Chapter 13
Minimum Spanning Tree 1
20.05.2026
Chapter 14
Minimum Spanning Tree 2
27.05.2026

References

These books are available at CS text book collection.

[peleg] Distributed Computing: A Locality-Sensitive Approach
David Peleg.
Society for Industrial and Applied Mathematics (SIAM), 2000, ISBN 0-89871-464-8
[aw] Distributed Computing: Fundamentals, Simulations and Advanced Topics
Hagit Attiya, Jennifer Welch.
McGraw-Hill Publishing, 1998, ISBN 0-07-709352 6
[hkpru] Dissemination of Information in Communication Networks
Juraj Hromkovic, Ralf Klasing, Andrzej Pelc, Peter Ruzicka, Walter Unger.
Springer-Verlag, Berlin Heidelberg, 2005, ISBN 3-540-00846-2
[leighton] Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes
Frank Thomson Leighton.
Morgan Kaufmann Publishers Inc., San Francisco, CA, 1991, ISBN 1-55860-117-1
[clr] Introduction to Algorithms
Thomas Cormen, Charles Leiserson, Ronald Rivest.
The MIT Press, 1998, ISBN 0-262-53091-0 oder 0-262-03141-8