Concurrent and Distributed Programs

Module Code
Module Coordinators
Thomas Letschert
Thomas Letschert
Short Description
This module introduces to the basic concepts of concurrency and distribution and teaches how to solve problems of synchronisation using standard techniques and mechanisms.
Learning Objectives

On completion of the module students will know basic ideas and most relevant techniques of distributed and concurrent programs. They are able to classify problems and to solve them using well known techniques in the area of concurrent and distributed programming and to develop and present solutions in a team.

  • Concepts: parallelism, concurrency and distribution
  • Synchronisation: mutual exclusion, conditional synchronisation
  • Distributed programs: client/server, rendezvous communication
  • Protocols: specification, implementation, verification
Duration in Semester
Instruction Language
Total Effort
6 CrP; an estimated 180 hours, of which approximately 60 are spent in class.
Weekly School Hours
Method of Instruction

Lecture 2 SWS, Exercises 2 SWS

Requirements for the awarding of Credit Points

Examination: Written exam

Evaluation Standard
according to examination regulations (§ 9)
  • A. Prokopec: Learning Concurrent Programming in Scala
  • B. Goetz, J. Bloch, J. Bowbeer, und D. Lea: Java Concurrency in Practice
  • M. Herlihy, Maurice. N. Shavit: The Art of Multiprocessor Programming