Distributed Computing LPD

Distributed Algorithms

Master course, Fall 2017

Prerequisites: none.

Note: this course is independent from the course Concurrent Algorithms.


  • Prof. Guerraoui's new book on concurrent computing for interested readers: Concurrent computing.
  • Links to Wandida short lectures on broadcast.
  • DA 2017 page is online.

Dates and schedule

  • The course is given on Mondays, 15:15−17:00, in ELA01.
  • The exercises are given on Mondays, 17:15-18:00, in BC01.
  • Bonus exam date : 1st week of Dec
  • Final exam date: to be decided by EPFL administration (January-February)

Teaching team


  • Rachid Guerraoui and Luis Rodrigues - Introduction to Reliable Distributed Programming, available at 'La Fontaine' (with a student discount) or at amazon.de.
  • Christian Cachin, Rachid Guerraoui and Luis Rodrigues - Introduction to Reliable and Secure Distributed Programming

Additional Material

  • We prepared a document describing the language used for module specification and implementation, the notion of layering, and the notion of process. (odt pdf)
  • A Latex sample for algorithm implementation can be found here: alg-sample.tex

Slides and exercises

Note that the slides will most likely be edited as the semester progresses, so make sure you have the latest version.

Lecture Slides Exercises
Introduction intro.pdf ex01.pdf logic101.pdf

Information on exercises, grading, and exam

  • Exercises are made available on the course webpage each Monday.
  • Exercises are not graded and do not count towards the final grade. However, solving them helps you better understand the course material and prepare for the final exam.
  • Solutions to exercises will be given during the exercise sessions one week later after the exercises were given. Also, solutions will be available on the course webpage one week later after the exercises were given.
  • There will be a midterm in the second half of the semester. It is not mandatory, but it may improve the final grade (see below).
  • The final grade will be calculated using the formula max( 1/2*<midterm> + 1/2*<final> , <final> ), where <midterm> and <final> are the results of the midterm and the final exam, respectively. The final exam and the midterm will be written and closed-book.