Course syllabus

Programming of Distributed Systems, 7.5 credits

Course code: DT136G Credits: 7.5
Main field of study: Computer Science Progression: G1F
Last revised: 14/03/2024    
Education cycle: First cycle Approved by: Head of school
Established: 02/12/2019 Reading list approved: 14/03/2024
Valid from: Autumn semester 2024 Revision: 2

Learning outcomes

Knowledge and understanding
After completion of the course the student is able to

  • describe architectures of distributed systems,
  • explain communication models in distributed systems,
  • explain how shared resources can be handled in distributed systems,
  • explain failure and security aspects in distributed systems.

Applied knowledge and skills
Completing this course, the student will be able to

  • design, implement and analyse a basic distributed system,
  • handle conflicts and failures in distributed environments,
  • apply different communication models to distributed systems.


Making judgments and attitudes
Completing this course, the student will be able to

  • judge the suitability of distributed system paradigms for a given problem,
  • understand the capabilities and limitations of the distributed systems, especially in the context of failures and security.

Content

Architectures of distributed systems

  • Communication models of distributed systems,
  • Global state and consistency,
  • Clocks: real and logical,
  • Naming,
  • Synchronization, communication and causality for distributed processes,
  • Distributed Filesystems,
  • Cloud computing,
  • Transactional systems,
  • Security in distributed systems,

Examinations and grades

Theory, 4.5 credits (Code: A001)
Grades used are Fail (F), Sufficient (E), Satisfactory (D), Good (C), Very Good (B) or Excellent (A).

Laboratory Work, 3 credits (Code: A002)
Grades used are Fail (U) or Pass (G).


According to the Higher Education Ordinance, Chapter 6, Section 18, a grade is to be awarded on the completion of a course, unless otherwise prescribed by the university. The university may determine which grading system is to be used. The grade must be determined by a teacher specifically nominated by the university (the examiner).

In accordance with university regulations on grading systems for first and second-cycle courses and study programmes (Vice-Chancellor’s decision ORU 2018/00929), one of the following grades is to be used: fail (U), pass (G) or pass with distinction (VG). For courses included in an international master’s programme (60 or 120 credits) or offered to the university’s incoming exchange students, the A to F grading scale is to be used. The vice-chancellor, or a person appointed by them, may decide on exceptions from this provision for a specific course, if there are special grounds for doing so.

The grades used on this course are Fail (F), Sufficient (E), Satisfactory (D), Good (C), Very Good (B) or Excellent (A).

Comments on grades

The grade for the course will be the grade from the A001 exam, given that the A002 exam is passed.

Modes of assessment

  • Theory (code A001): Written examination
  • Laboratory Work (code A002): Oral examination

A retake will be scheduled to take place within eleven weeks of the regular examination.

For students with a documented disability, the university may approve applications for adapted or other modes of assessment.

For further information, see the university's local examination regulations.

Specific entry requirements

Introduction to Programming, 7.5 Credits, Computer Communication and Networks, 7.5 Credits, Object-Oriented Programming, 7.5 Credits and Data Structures and Algorithms, 7.5 Credits.

For further information, see the university's admission regulations.

Other provisions

The course is given in English.

Students who have been admitted to and registered on a course have the right to receive tuition and/or supervision for the duration of the time period specified for the particular course to which they were accepted (see, the university's admission regulations (in Swedish)). After that, the right to receive tuition and/or supervision expires.

Reading list and other learning resources