DM883: Distributed Systems

Study Board of Science

Teaching language: Danish or English depending on the teacher, but English if international students are enrolled
EKA: N340091102
Assessment: Second examiner: Internal
Grading: 7-point grading scale
Offered in: Odense
Offered in: Spring
Level: Master

STADS ID (UVA): N340091101
ECTS value: 5

Date of Approval: 29-10-2021

Duration: 1 semester

Version: Approved - active

Entry requirements


Academic preconditions

The student is expected to be familiar with the basics of operating systems and computer networks and have a basic understanding of concurrent programming.

Course introduction

The course aims to provide students with the foundations and tools for the design and implementation of distributed systems. In relation to the competence profile of the degree it is the explicit focus of the course to:
  • Give the competence to reflect on the knowledge of the field of Computer Science and to identify scientific issues.
  • Give skills to elucidate hypotheses on a qualified theoretical background and critically refer to own and others' research results and scientific models.
  • Give knowledge and understanding of how scientific knowledge is obtained and modelled through an interplay between theory and experiment.

Expected learning outcome

The learning objective of the course is that the student demonstrates independence in the analysis, design, and programming of distributed systems.  Specifically, after the course the student is expected to be able to:

    • Identify fundamental scenarios and solutions in distributed systems.
    • Describe distributed architectures and algorithms covered in the course.
    • Explain fundamental problems, techniques, and solutions for distributed systems.
    • Reason about properties of concrete distributed systems.
    • Describe and analyse distributed architectures and algorithms using model-based approaches.
    • Design and implement non-trivial distributed systems.


    The following main topics are contained in the course:

    • Logical time and global state in distributed systems.
    • Communication paradigms, message ordering, and group communication.
    • Distributed coordination and shared memory.
    • Consensus and agreement in distributed systems.
    • Replication, consistency, and fault tolerance.
    • Decentralised and peer-to-peer architectures.


    See itslearning for syllabus lists and additional literature references.

    Examination regulations

    Exam element a)




    Projects and oral examination




    Second examiner: Internal


    7-point grading scale


    Full name and SDU username


    Normally, the same as teaching language


    Oral examination - 30 minutes

    Examination aids

    To be announced during the course.

    ECTS value


    Additional information

    During the course a set of problems is assigned as well as a final project. These form the basis for an oral exam at the end of the course. The final grade, will be based on an overall impression of the student's performance in the two elements which are part of the evaluation. The co-examiner will be able to see the solutions of the assigned problems.

    Indicative number of lessons

    40 hours per semester

    Teaching Method

    The teaching method is based on three phase model.

    • Intro phase: 24 hours.
    • Skills training phase: 16 hours, hereof tutorials: 16 hours.

    Lectures consist of a mix of in-person and online teaching (up to 70%).

    Activities during the study phase:

    • Self study of various parts of the course material.
    • Reflection upon the intro and training sections.
    • Solving small assignments, individually or in small groups.

    Teacher responsible

    Name E-mail Department
    Marco Peressotti Concurrency


    Administrative Unit

    Institut for Matematik og Datalogi (datalogi)

    Team at Educational Law & Registration


    Offered in


    Recommended course of study

    Profile Education Semester Offer period

    Transition rules

    Transitional arrangements describe how a course replaces another course when changes are made to the course of study. 
    If a transitional arrangement has been made for a course, it will be stated in the list. 
    See transitional arrangements for all courses at the Faculty of Science.