Distributed Algorithms

This course provides an introduction to computing in a distributed environment without a central coordinator. It presents fundamental programming abstractions for distributed systems and fault-tolerant, highly available, and secure protocols that implement them. Important problems of distributed computing are discussed and influential impossibility results are shown. The central question of the course is how to tolerate uncertainty and adversarial influence, which may arise from network delays, faults, or malicious attacks in a distributed system. Topics include replication, quorums, reliable broadcast, distributed storage, consensus, Byzantine agreement, atomic broadcast, and notions of consistency arising in this setting. Applications to real-world systems will be presented, in the domain of cloud computing, cryptocurrencies, and blockchain systems.


Code 11102
Type Course
Site Bern
Track(s) T1 – Distributed Software Systems
T4 – Theory and Logic
Semester A2024


Lecturer(s) Christian Cachin
Language english
Course Page

The course page in ILIAS can be found at https://ilias.unibe.ch/goto_ilias3_unibe_crs_3112375.html.

Schedules and Rooms

Period Weekly
Schedule Wednesday, 14:15 - 17:00
Location UniBE, Engehalde E8
Room 002

Additional information


First Lecture
The first lecture will be announced later.