Skip to content
Main menu hidden.

Distributed Systems, 7.5 Credits

Swedish name: Distribuerade system

This syllabus is valid: 2024-01-01 and until further notice

Course code: 5DV186

Credit points: 7.5

Education level: Second cycle

Main Field of Study and progress level: Computing Science: Second cycle, has only first-cycle course/s as entry requirements
Computational Science and Engineering: Second cycle, has only first-cycle course/s as entry requirements

Grading scale: TH teknisk betygsskala

Responsible department: Department of Computing Science

Established by: Faculty Board of Science and Technology, 2017-09-29

Revised by: Faculty Board of Science and Technology, 2023-06-19


The course introduces basic knowledge to give an understanding how modern distributed systems operate. The focus of the course is on distributed algorithms and on practical aspects that should be considered when designing and implementing real systems. Some topics covered during the course are causality and logical clocks, synchronization and coordination algorithms, transactions and
replication, and end-to-end system design. Although the course cover various distributed algorithms, it is not only a theoretical course.
Thus, computer based assignments are used extensively to give students practical experience in designing and implementing real systems. In addition the course explores recent trends exemplified by current highly available and reliable distributed systems.

Expected learning outcomes

Knowledge and understanding
After completing the course, the student should be able to:

  • (FSR 1) summarize and describe general properties, challenges, and characteristics of distributed systems,
  • (FSR 2) explain the notions of causality and time in light of the design and implementation of distributed systems,
  • (FSR 3) describe general distributed algorithms for synchronization and concurrency, coordination, transactions, and replication,
  • (FSR 4) explain the inner mechanisms of current distributed systems,
  • (FSR 5) exemplify practical issues that need to be considered when designing, implementing, and debugging distributed systems.

Competence and skills
After completing the course, the student should be able to:

  • (FSR 6) compare replication schemes with respect to performance, availability, and consistency,
  • (FSR 7) design, implement, and debug distributed systems,
  • (FSR 8) employ fundamental distributed algorithms to solve problems that arise when engineering distributed systems.

Required Knowledge

At least 90 ECTS, including 60 ECTS Computing Science or 120 ECTS within a study programme. At least 7.5 ECTS data structures and algorithms; 7.5 ECTS systems programming; 7.5 ECTS operating systems; and 7.5 ECTS data communication and computer networks. Proficiency in English equivalent to the level required for basic eligibility for higher studies.

Form of instruction

Education consists of lectures and compulsory written and computer based assignments. In addition to scheduled activities, individual work with the material is also required.

Examination modes

FSR 1-6 are assessed based on written exams in halls. FSR 7 and 8 are assessed through a number of mandatory assignments (projects) with written reports and oral presentations.

The final grades given for the course are Fail (U), or Pass (3), Pass with Merit (4), or Pass with distinction (5).

Adapted examination
The examiner can decide to deviate from the specified forms of examination. Individual adaptation of the examination shall be considered based on the needs of the student. The examination is adapted within the constraints of the expected learning outcomes. A student that needs adapted examination shall no later than 10 days before the examination request adaptation from the Department of Computing Science. The examiner makes a decision of adapted examination and the student is notified.

Other regulations

In an exam, this course not be included, in whole or in part, simultaneously with another course of similar content. If in doubt, consult the student counselors at the Department of Computing Science and / or program director of your program.


If the syllabus has expired or the course has been discontinued, a student who at some point registered for the course is guaranteed at least three examinations (including the regular examination) according to this syllabus for a maximum period of two years from the syllabus expiring or the course being discontinued.


Valid from: 2024 week 1

Coulouris George F.
Distributed systems : concepts and design
5. ed., International ed. : Harlow, Essex : Pearson Education ; Addison-Wesley : 2012 : 1063 p. :
ISBN: 978-0-273-76059-7
Search the University Library catalogue