Distributed Algorithms


Course Objective

The main objective is to provide students with an algorithmic frame of
mind for solving fundamental problems in distributed computing. They
obtain insight into concurrency concepts, and are offered a bird's-eye
view on a wide range of algorithms for basic and important challenges in
distributed systems.

Characteristic of the course is that correctness arguments and
complexity calculations of distributed algorithms are provided in an
intuitive fashion and by means of examples and exercises.

Course Content

The following topics are treated in the course: Logical clocks,
snapshots, graph traversal, termination detection, garbage collection,
deadlock detection, routing, election, minimal spanning trees, anonymous
networks, checkpointing, fault tolerance, failure detection, consensus,
mutual exclusion, self-stabilization, blockchains, database transactions

Teaching Methods

4 hours per week HC
4 hours per week WC

Method of Assessment

Written examen (plus a take-home exercise sheet that can provide up to
0.5 bonus point, if a passing mark for the written exam is achieved).


W.J. Fokkink. Distributed Algorithms: An Intuitive Approach (2nd ed).
MIT Press,

Target Audience


Additional Information

The homepage of the course is at http://www.cs.vu.nl/~tcs/da/

Recommended background knowledge

Datastructures & Algorithms

General Information

Course Code X_400211
Credits 6 EC
Period P5
Course Level 500
Language of Tuition English
Faculty Faculty of Science
Course Coordinator prof. dr. W.J. Fokkink
Examiner prof. dr. W.J. Fokkink
Teaching Staff prof. dr. W.J. Fokkink
J. Urbani

Practical Information

You need to register for this course yourself

Last-minute registration is available for this course.

Teaching Methods Seminar, Lecture
Target audiences

This course is also available as: