Takaisin kaikki kurssit

Distributed systems

Yksittäinen kurssi

Max amount of FITech students: 15

Persons without a valid study right to a Finnish university have preference to this course.

During the course, students learn essential motivations and solution techniques for distributed systems.

Course contents

  • The key principles of distributed system development
  • Applying the principles in evaluating major design paradigms used in implementing distributed systems
  • Distributed decision-making; Distributed systems related problems, including coordination, consistency and replication, fault tolerance and design and implement a small distributed system

On a more detailed level, we discuss about the basic distributed system techniques, including architectures, processes, communication, naming, modelling, synchronization, consistency and replication, and fault tolerance. In addition, the course may covers advanced topics like edge computing or blockchains. We propose solutions for these challenges on different levels of abstraction, in hardware, operating systems, middleware, and application-level architectures. The solutions address distributed processing and storage, their algorithms, mutual communication protocols, and failure situations with recovery options. Common solutions are discussed on replica management, data consistency models and management, and agreements between untrusted agents. Distribution benefits and disadvantages and effects of inter-dependencies of different solutions will be estimated.

Learning outcomes

After the course, a student can

  • explain the key principles of distributed system development
  • apply the principles in evaluating major design paradigms used in implementing distributed systems
  • describe distributed decision-making and some alternative used in it
  • explain challenges and solutions related to key issues of distributed systems, including coordination, consistency and replication, fault tolerance
  • design and implement a small distributed system
  • use different levels of abstraction in discussing about basic distributed system techniques and difficults as well as presenting solutions for these challenges
  • combine together the common solutions of different focused problem areas (like replica management, data consistency models and management, and agreements between untrusted agents)
  • identify distribution benefits and disadvantages and estimate effects of inter-dependencies of different solutions

In addition, student will learn general skills that include at least time management, group work, problem solving, documentation, implementation.

Learning material

The course is based on the course books, including Maarten van Steen and Andrew S Tanenbaum Distributed Systems – Principles and Paradigms, Third Edition, 2017, Sukumar Ghosh: Distributed systems an algorithmic approach, 2nd edition, Chapman&Hall/CRC, 2015. Any other distributed systems textbook covering the topics of the course is also possible to use.

Supplementary material will be provided during the course as needed.

Completion methods

Participation in teaching:

  • Lectures Tue 12-14, Thu 10-12 (material will be available after the lectures)
  • Weekly exercise sessions Wed 12-14 (non-mandatory but yield course points)
  • Group project
  • Exam

The course can be passed by taking a separate exam after independent study of the course materials. This course may be arranged in a different format and with different assessment methods for open university students.

More information of the University of Helsinki course page.

You can get a digital badge after completing this course.

Vastuuopettaja

Helsingin yliopisto
Tiina Nikander

Lisätietoa opinnoista

Helsingin yliopisto
Reijo Siven

Hakua koskevat kysymykset

FITech-verkostoyliopisto
Fanny Qvickström, Opintoasioiden suunnittelija
Hakuaika on päättynyt
Hakuaika on päättynyt
Teemat:
5G-teknologia,
Internet-teknologia
Kurssikoodi:
CSM13001
Opintopisteet
5 ECTS
Hinta:
0 €
Kurssin taso:
Kurssin ajankohta:
31.10.–23.12.2023
Haun alkamispäivä:
01.06.2023
Viimeinen hakupäivä:
Hakuaika on päättynyt
Vastuuyliopisto:
Helsingin yliopisto
Kuka voi hakea:
Aikuisopiskelija,
Tutkinto-opiskelija
Toteuttamistapa:
Lähiopetus
Paikkakunta:
Helsinki
Opetuskieli:
Englanti
Esitietovaatimukset:
Students must have programming skills, knowledge about operating systems, networking and computer organisation/architectures including basic understanding of concurrency problems in uniprocessor environments.
Oletko kiinnostunut tästä kurssista? Tilaa ilmoitus kurssin tietojen muutoksista suoraan sähköpostiisi! Voit peruuttaa tilauksen koska tahansa.