Distributed Systems 2

Telegram channel

[Link]

Description

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 fol­lo­ws:

  • For regu­lar stu­den­ts:
    • 2nd seme­ster, 1st year: Distributed Systems 1
      (or a simi­lar cour­se taken in a dif­fe­rent uni­ver­si­ty)
    • 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

Objectives

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 objec­ti­ves:

  • Create an aware­ness of the major tech­ni­cal chal­len­ges in distri­bu­ted algo­ri­thms desi­gn and imple­men­ta­tion;
  • Expose stu­den­ts to cur­rent tech­ni­ques used to sol­ve the afo­re­men­tio­ned chal­len­ges;
  • 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 soft­ware.

The cour­se will inclu­de 10 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 lec­tu­res.