Distributed Systems 2

I will not be responsible for the course in the academic years 22/23, 23/24, 24/25.

1st Semester, 2021/22

The cour­se will start on Friday September 17th, 11.30–13.30. Monday September 13th will be skipped.

In Fall 2021, the cour­se will be given in pre­sen­ce. Depending on the reque­st, I will also stream it in zoom and make the recor­dings avai­la­ble. In this docu­ment (acces­si­ble only throu­gh an UniTN account), you can find the links to the zoom meetings.

News and upda­tes about the cour­se will be com­mu­ni­ca­ted throu­gh the tele­gram chan­nel of the cour­se [Link].

The mood­le page will only con­tain a link to this page.


The cour­se assu­me some kno­w­led­ge of the con­tent cove­red by the Distributed Systems 1 (DS1) cour­se, taught by Prof. Picco. There is no for­mal requi­re­men­ts, yet I will refer to the ter­mi­no­lo­gy discus­sed the­re, without re-intro­du­cing it, such as tho­se con­tai­ned in this paper:

The sug­ge­sted order in which the two cour­ses should be com­ple­ted is as follows:

  • For regu­lar students: 
    • 2nd seme­ster, 1st year: Distributed Systems 1
      (or a simi­lar cour­se taken in a dif­fe­rent university)
    • 1st seme­ster, 2nd year: Distributed Systems 2
  • For stu­den­ts who have alrea­dy taken Distributed Systems 1 in the Bachelor degree: 
    • 1st seme­ster, 1st or 2nd year: Distributed Systems 2


The Distributed Systems 2 cour­se builds on the basic notions pre­sen­ted in Distributed Systems 1. The goal of this cour­se is to pro­vi­de stu­den­ts with an under­stan­ding of the main algo­ri­th­mic tech­ni­ques and desi­gn options in the imple­men­ta­tion of modern distri­bu­ted systems. Consider it as cour­se on “Distributed Algorithms (and Data Structures)”; the focus is on the prin­ci­ples, rather than on a par­ti­cu­lar tech­no­lo­gy. Concretely, this inclu­des the fol­lo­wing objectives:

  • Create an aware­ness of the major tech­ni­cal chal­len­ges in distri­bu­ted algo­ri­thms desi­gn and implementation;
  • Expose stu­den­ts to cur­rent tech­ni­ques used to sol­ve the afo­re­men­tio­ned challenges;
  • Provide expe­rien­ce in the imple­men­ta­tion of typi­cal algo­ri­thms used in distri­bu­ted systems.
  • Expose stu­den­ts to cur­rent tech­no­lo­gy and distri­bu­ted infra­struc­tu­re software.

The cour­se will inclu­de 12 lab ses­sions in which stu­den­ts are asked to imple­ment some of the algo­ri­thms that are discus­sed in the theo­ry lectures.

Scroll to top