Module Handbook

  • Dynamischer Default-Fachbereich geändert auf INF

Module INF-02-03-M-2

Distributed and Concurrent Programming (M, 4.0 LP)

Module Identification

Module Number Module Name CP (Effort)
INF-02-03-M-2 Distributed and Concurrent Programming 4.0 CP (120 h)


CP, Effort 4.0 CP = 120 h
Position of the semester 1 Sem. in WiSe
Level [2] Bachelor (Fundamentals)
Language [DE] German
Module Manager
Area of study [INF-PFL] Mandatory Modules
Reference course of study [INF-82.79-SG] B.Sc. Computer Science
Livecycle-State [NORM] Active


Type/SWS Course Number Title Choice in
Presence-Time /
SL SL is
required for exa.
PL CP Sem.
2V+1U INF-02-03-K-2
Distributed and Concurrent Programming
P 42 h 78 h
ja PL1 4.0 WiSe
  • About [INF-02-03-K-2]: Title: "Distributed and Concurrent Programming"; Presence-Time: 42 h; Self-Study: 78 h
  • About [INF-02-03-K-2]: The study achievement "[U-Schein] proof of successful participation in the exercise classes (ungraded)" must be obtained.
    • It is a prerequisite for the examination for PL1.

Examination achievement PL1

  • Form of examination: written exam (Klausur) (60-90 Min.)
  • Examination Frequency: each semester
  • Examination number: 60203 ("Distributed and Concurrent Programming")

Evaluation of grades

The grade of the module examination is also the module grade.


The students know...
  • the phenomena of concurrent software systems
  • the operation of virtual machines using the example of the Java Virtual Machine
  • Mechanisms for creating and organizing concurrent processes using the example of Java threads
  • Mechanisms for synchronizing concurrent processes
  • happens-before-consistency and adequate synchronization
  • message-based interaction and remote method invocation

Competencies / intended learning achievements

Students acquire a detailed understanding of the tasks and solution methods in the development of distributed, concurrent software systems using the Java programming language as an example.

The students can...

  • develop concurrent systems,
  • use memory and message-based interaction to implement concurrent systems,
  • adequately synchronize concurrent systems,
  • detect and handle synchronization errors (inconsistencies, jams).


  • M. Broy: Informatik – Eine grundlegende Einführung, Teil III, Springer, 1994
  • F. Mattern: Verteilte Basisalgorithmen, Informatik-Fachberichte 226, Springer, 1989, S. 103-119
  • R. Schwarz, F. Mattern: Detecting Causal Relationships in Distributed Computations: In Search of the Holy Grail, Distributed Computing, Vol. 7, No. 3, 1994, pp. 149-174
  • L. Lamport: Time, Clocks, and the Ordering of Events in a Distributed System, Communications of the ACM, Vol. 21, No. 7, 1978, pp. 558-565
  • J. Gosling, B. Joy, G. Steele, G. Bracha, A. Buckley, D. Smith, G. Bierman: The Java® Language Specification, Java SE 14 Edition, 20.2.2020,
  • Java® Platform Standard Edition Documentation 14, Oracle,
  • T. Lindholm, F. Yellin, G. Bracha, A. Buckley, D. Smith: The Java® Virtual Machine Specification, Java SE 14 Edition, 20.2.2020,

Requirements for attendance of the module (informal)


Requirements for attendance of the module (formal)


References to Module / Module Number [INF-02-03-M-2]

Course of Study Section Choice/Obligation
[INF-82.79-SG] B.Sc. Computer Science [Compulsory Modules] Software Development [P] Compulsory
[WIW-82.176-SG#2009] B.Sc. Business Administration and Engineering specialising in Computer Science (2009) [2009] [Fundamentals] Field of study: Computer Science [WP] Compulsory Elective