h Algorithms and Complexity (Freiburg)
Algorithms and Complexity

(Theory of) Distributed Systems
Graduate Course - Summer Term 2023
Fabian Kuhn


Course description

The course provides an introduction to the fundamentals of distributed systems and algorithms. The course will in particular cover the following topics:

  • distributed systems models
  • time and global states in distributed systems
  • sychronous and asynchronous systems
  • fault tolerance
  • basic distributed algorithms for coordination and agreement tasks
  • basic distributed network algorithms
  • distributed and parallel graph algorithms
  • impossibility results and lower bounds


  • Lecture: Monday 14:15 - 16:00, room 101-01-016/18
  • Exercise Tutorial: Wednesday 12:15 - 14:00, room 101-01-016/18

Information about lectures on June 12 & 19
For the two lectures on June 12 and June 19, we have provided video lectures (see lecture materials). The lectures on June 12 and 19 will take place. We will however only give a summary of the content of the videos and will use the rest of the lecture to discuss questions related to the material in the videos.

For offline questions and discussions regarding the lecture and the exercises, we use Zulip as a discussion forum. Information on how to get access to our Zulip server can be found in the technical section below.

Lecture Material

All material regarding the lecture (literature, slides, videos, etc.) are available on the lecture materials web page of the course. In order to limit access to this material, this page is only visible from within the university network (i.e., use VPN to access the page from home).


Below you find the weekly exercise sheet. Details on how to hand in your exercise solutions is found in the technical section below.

Exercise Assigned Due (12 pm) Solution

Exercise 01 19.04.2023 26.04.2023 Solution 01
Exercise 02 27.04.2023 03.05.2023 Solution 02
Exercise 03 10.05.2023 17.05.2023 Solution 03
Exercise 04 17.05.2023 25.05.2023 Solution 04
Exercise 05 25.05.2023 07.06.2023 Solution 05
Exercise 06 07.06.2023 14.06.2023 Solution 06
Exercise 07 14.06.2023 21.06.2023 Solution 07
Exercise 08 21.06.2023 28.06.2023 Solution 08
Exercise 09 28.06.2023 05.07.2023 Solution 09
Exercise 10 05.06.2023 12.07.2023 Solution 10
Exercise 11 12.06.2023 19.07.2023 Solution 11
Exercise 12 21.07.2023 26.07.2023 Solution 12

Technical Information

Data Access Zulip

The link on how to access get access to our Zulip server is available here. Note that the information is only visible from within the university network (i.e., use VPN to access the page from home or access the internet via the university eduroam).

Daphne and Subversion (SVN)

The exercises are submitted via Daphne. On Daphne, an overview of the points you achieved so far is given. Exercises are also available there. Please click on this link to register for the course with your rz-account.

After registration, a SVN repository will be created for you with an URL of the following form:


You should do a "checkout" of your SVN-repository (using the URL described above) to get a local copy on your pc. With the command "update" you synchronize your local copy with the current version on the server. Through the command "commit" you upload your local files to your repository on the server. A more detailed overview can be found here. There are different subversion clients you can use. For Windows Tortoise-SVN is recommended.

Note that every solution of an exercise sheet must be uploaded ("committet") to a separate folder named exercise-XY, where XY is the exercise number (with a leading 0 if smaller than 10). This folder will be automatically locked (that is, no commits are possible anymore) after the submission deadline!


Some of the content is for example covered by the following books:

  • Distributed Computing: Fundamentals, Simulations and Advanced Topics
    Hagit Attiya, Jennifer Welch.
    McGraw-Hill Publishing, 1998, ISBN 0-07-709352 6
  • Distributed Computing: A Locality-Sensitive Approach
    David Peleg.
    Society for Industrial and Applied Mathematics (SIAM), 2000, ISBN 0-89871-464-8
  • Additional literature for each chapter will be provided where available.