Concurrent and Distributed Programs

Module Code
CS2301
Module Coordinators
Thomas Letschert
Teachers
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.

Contents
  • Concepts: parallelism, concurrency and distribution
  • Synchronisation: mutual exclusion, conditional synchronisation
  • Distributed programs: client/server, rendezvous communication
  • Protocols: specification, implementation, verification
Duration in Semester
1
Instruction Language
German
Total Effort
6 CrP; an estimated 180 hours, of which approximately 60 are spent in class.
Weekly School Hours
4
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)
Availability
Yearly
References
  • 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