Computer Engineering MA, Advanced Distributed Algorithms, 6 credits

Please note that the literature can be changed/revised until: 
• June 1 for a course that starts in the autumn semester
• November 15 for a course that starts in the spring semester
• April 1 for a course that starts in the summer 


Print or save the syllabus as a PDF

You can easily print a syllabus from the website. Use the keyboard shortcut ctrl+p (Windows) or command+p (Mac). In the next step, you choose whether you want to print or save the course plan as a PDF.


Versions:

Syllabus:
Datateknik AV, Avancerade distribuerade algoritmer, 6 hp
Computer Engineering MA, Advanced Distributed Algorithms, 6 credits

General data

  • Code: DT091A
  • Subject/Main field: Computer Engineering
  • Cycle: Second cycle
  • Credits: 6
  • Progressive specialization: A1N - Second cycle, has only first-cycle course/s as entry requirements
  • Education area: Technology 100%
  • Answerable department: Computer and Electrical Engineering
  • Approved: 2025-03-18
  • Version valid from: 2025-01-20

Aim

The course provides students with the deepening knowledge to understand, analyze and design distributed algorithms. The knowledge is intended to be useful to a wide variety of research topics, from the theory of distributed algorithms to protocol design, for example to design and implement different distributed networks.

Course objectives

Upon completion of the course the student should be able to:

  • Describe the basic underpinnings of distributed algorithms and the fundamental abstractions used to create them
  • Explain consensus, broadcast, and shared memory
  • Explain the basics of distributed algorithms and distributed programming, and relate between selected topics in the area
  • Implement an avanced distributed system
  • Present, analyze and evaluate (verbally and/or in written text) research articles in the area.

Content

Different models for distributed algorithms, which includes:

  • failure detection strategies and methods for fault tolerance
  • reliable broadcasts and causal ordered broadcasts
  • shared memory
  • distributed consensus
  • byzantine fault tolerance
  • virtual synchronization
  • complexity
  • blockchains
  • distributed hash tables

Entry requirements

90 credits finished courses, with at least 60 credits in Computer Engineering BA (ABC), including 15 credits programming, 6 credits computer networks, and 6 credits distributed systems.

Selection rules and procedures

The selection process is in accordance with the Higher Education Ordinance and the local order of admission.

Teaching form

Teaching consists of lectures, seminars and home assignments. The course can also be read as a self-study course.

Examination form

I101: Written study assignment, 1.5 Credits
Grade scale: Two-grade scale

L101: Laborations, 1.5 Credits
Grade scale: Two-grade scale

P101: Project, with oral and written presentation, 3 Credits
Grade scale: Seven-grade scale, A-F o Fx

Link to subject-specific grading criteria: https://www.miun.se/gradingcriteria.


The examiner has the right to offer alternative examination arrangements to students who have been granted the right to special support by Mid Sweden University’s disabilities adviser.


Examination restrictions

Students are entitled to three examination opportunities within one year according to the examination format given in this version of the course syllabus. After the one-year period, the examination format given in the most recent version of the course syllabus applies.

Grading system

Seven-grade scale, A-F o Fx

Course reading

Select litterature list:

Reference literature

**Author:**Nancy Lynch
**Title:**Distributed Algorithms

**Author:**Wan Fokkink
**Title:**Distributed Algorithms: An intiutive Approach

Author: Maarten Van Steen
**Title:**Distributed Systems

**Author:**Andrew S Tanenbaum, Maarten Van Steen
**Title:**Distributed Systems

Shared research articles (in additon)

Check if the literature is available in the library

The page was updated 10/14/2024