Principles of Distributed Computing (FS 2021)
Course catalogue • Previous year • PODC lecture collection
Distributed computing is essential in modern computing and communications systems. Examples are on the one hand largescale networks such as the Internet, and on the other hand multiprocessors such as your new multicore laptop. This course introduces the principles of distributed computing, emphasizing the fundamental issues underlying the design of distributed systems and networks: communication, coordination, faulttolerance, locality, parallelism, selforganization, symmetry breaking, synchronization, uncertainty. We explore essential algorithmic ideas and lower bound techniques, basically the "pearls" of distributed computing. We will cover a fresh topic every week.
 Course prerequisites: Interest in algorithmic problems. (No particular course needed.)
 Course language: English
 Lecture by Roger Wattenhofer and Mohsen Ghaffari, Wednesdays 810 on Zoom: https://ethz.zoom.us/s/96251934606.

Exercises organized by Pál András Papp and Karolis Martinkus (for Prof. Wattenhofer's part),
and Sebastian Brandt, Václav Rozhoň, and Goran Zuzic (for Prof. Ghaffari's part)
 Exercise A: Wednesdays 1416 on Zoom: https://ethz.zoom.us/s/96673887071.
 Exercise B: Wednesdays 1618 on Zoom: https://ethz.zoom.us/s/96673887071.
 Both exercise sessions offer identical content. Please visit the exercise session which better fits your personal schedule.
News
 March 17, 2021: The first graded homework assignment is now available on the moodle course homepage.
 April 20, 2021: The first graded homework assignment has been corrected. The results are available on the moodle course homepage.
Exam
 You are allowed to bring any written material you like (lecture notes, books, personal notes,...), but no electronic devices whatsoever (no calculator, phone, laptop, headphones,...).
Graded Homework Assignment
We will have two graded homework assignments (compulsory continuous performance assessment). Each graded homework assignment will account for 10% of the final grade, the main exam will be 80% of the final grade.Corrections of the first graded assignment are now available in Moodle. You will find the grading table in the homework description.
Discussion Forum
We have set up a discussion forum on the moodle course homepage. You can use this forum to ask questions about the homework assignment as well as questions about the lecture. As this is a discussion forum, feel free to also answer the questions of your colleagues.Lecture Recordings
Recorded videos can be accessed through the moodle course homepage.Lecture Material
Chapter Title  Lecturer  Lecture Notes  Exercises  Responsible Assistant  Additional Material 

Chapter 0 Introduction 24.02.2021 
Roger Wattenhofer  PDF 1:1 PDF 2:1 
[peleg] Preface, Chapter 1  
Chapter 1 Vertex Coloring 24.02.2021 
Roger Wattenhofer  PDF 1:1 PDF 2:1 
Exercises Solutions 
Diana  [peleg] Chapter 7 Slides by S.Schmid, TU Berlin 
Chapter 2 Tree Algorithms 03.03.2021 
Roger Wattenhofer  PDF 1:1 PDF 2:1 
Exercises Solutions 
Béni  [peleg] Chapter 35 [hkpru] Chapter 7 Slides by S.Schmid, TU Berlin 
Chapter 3 Coloring General Graphs 10.03.2021 
Mohsen Ghaffari  PDF 1:1 
Exercises Solutions 
Vaclav  [DGA] Section 1.4 
Chapter 4 LocalityBased Lower Bounds 17.03.2021 
Mohsen Ghaffari  PDF 1:1  Exercises Solutions 
Vaclav  [DGA] Sections 1.2.2 & 1.3.1 
Chapter 5 Maximal Independent Set 24.03.2021 
Mohsen Ghaffari  PDF 1:1  Exercises Solutions 
Vaclav  [DGA] Section 1.6 
Chapter 6 Network Decomposition 31.03.2021 
Mohsen Ghaffari  Exercises Solutions 
Sebastian  [DGA] Section 1.5  
Chapter 7 Shared Objects 14.04.2021 
Roger Wattenhofer  PDF 1:1 PDF 2:1 
Exercises Solutions 
András  Slides by S.Schmid, TU Berlin 
Chapter 8 Distributed Sorting 21.04.2021 
Roger Wattenhofer  PDF 1:1 PDF 2:1 
Exercises 
Ard  [leighton] Chapter 1.6 & 3.5 [clr] Chapter 28 Slides by S.Schmid, TU Berlin 
Chapter 9 Global Problems 1 28.04.2021 
Roger Wattenhofer  Lioba  
Chapter 10 Global Problems 2: Minimum Spanning Tree 05.05.2021 
Mohsen Ghaffari  Sebastian  [DGA] Section 2.2  
Chapter 11 Global Problems 3: Minimum Cut 12.05.2021 
Mohsen Ghaffari  Goran  [DGA] Section 2.3  
Chapter 12 Distributed Computing via AlltoAll Communication 19.05.2021 
Mohsen Ghaffari  Goran  [DGA] Sections 3.1 & 3.2  
Chapter 13 Wireless Protocols 26.05.2021 
Roger Wattenhofer  Ye  
Chapter 14 Labeling Schemes 02.06.2021 
Roger Wattenhofer  Jakub 
References
These books are available at CS text book collection.
[peleg] 
Distributed Computing: A LocalitySensitive Approach David Peleg. Society for Industrial and Applied Mathematics (SIAM), 2000, ISBN 0898714648 
[aw] 
Distributed Computing: Fundamentals, Simulations and Advanced Topics Hagit Attiya, Jennifer Welch. McGrawHill Publishing, 1998, ISBN 007709352 6 
[hkpru] 
Dissemination of Information in Communication Networks Juraj Hromkovic, Ralf Klasing, Andrzej Pelc, Peter Ruzicka, Walter Unger. SpringerVerlag, Berlin Heidelberg, 2005, ISBN 3540008462 
[leighton] 
Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes Frank Thomson Leighton. Morgan Kaufmann Publishers Inc., San Francisco, CA, 1991, ISBN 1558601171 
[clr] 
Introduction to Algorithms Thomas Cormen, Charles Leiserson, Ronald Rivest. The MIT Press, 1998, ISBN 0262530910 oder 0262031418 