Distributed Systems

Faculty

Faculty of Engineering and Computer Science

Version

Version 1 of 27.11.2025.

Module identifier

11B0439

Module level

Bachelor

Language of instruction

German

ECTS credit points and grading

5.0

Module frequency

winter and summer term

Duration

1 semester

 

 

Brief description

Distributed systems have a crucial role in overcoming the challenges associated with the complexity, scaling and reliability of modern applications and services (e.g. web-oriented). Students should be able to meet the rapidly growing needs and challenges in the area of distributed systems and applications with competence and technical depth.

Teaching and learning outcomes

1. Properties and types of distributed systems 
2. Architectural models and examples
3. Communication in networks as a foundation
4. Realization of distributed systems:
- Data-centric approach
- Procedure/function-oriented approach
- Object-oriented approach
- Web-based & service-oriented approach
5. System concepts for synchronization, replication, consistency
6. Security and reliability of distributed systems
7. Case studies and practical projects

Overall workload

The total workload for the module is 150 hours (see also "ECTS credit points and grading").

Teaching and learning methods
Lecturer based learning
Workload hoursType of teachingMedia implementationConcretization
30LecturePresence or online-
30Laboratory activity-
Lecturer independent learning
Workload hoursType of teachingMedia implementationConcretization
40Preparation/follow-up for course work-
30Exam preparation-
10Reception of other media or sources-
10Study of literature-
Graded examination
  • Written examination or
  • Project Report, written
Ungraded exam
  • Field work / Experimental work
Remark on the assessment methods

The project report is expected to be approx. 15 pages long.

Recommended prior knowledge

Computer networks form the basis for distributed systems. The necessary knowledge is taught, for example, in the first three chapters of the established textbook “Computer Networking: A Top-Down Approach” by James F. Kurose and Keith W. Ross.

The content of the lecture is reinforced through practical exercises dealing with the implementation of individual components of distributed systems. Practical knowledge of implementation with coding in C/C++ and Java under the Linux operating system is hence required. 

Translated with DeepL.com (free version)

Knowledge Broadening

Students know and understand the key principles of developing distributed systems. They will be able to describe the essential characteristics of different approaches and apply them to practical tasks.

Knowledge deepening

The various approaches for developing distributed systems are understood in terms of their processes and functions. Important parameters can be set appropriately. The handling of typical error situations is implemented correctly.

Knowledge Understanding

Students can reflect on the use of methods and concepts for designing distributed systems in specific application contexts.

Application and Transfer

Students are able to develop distributed systems on the basis of methodological knowledge from requirements analysis to the reflected use of system concepts and implementation.  They will be able to make a problem-related selection of the right development approaches for distributed systems, taking into account aspects of the programming languages that can be used, means to achieve interoperability and (according to system requirements) the frameworks available . 

Communication and Cooperation

Students can analyze the requirements for a distributed solution and derive the right solution strategy for the application and communicate this in a comprehensible manner. 

Literature

  1. Ghosh, Ratan K. & Ghosh, Hiranmay (2023): Distributed Systems : Theory and Applications, John Wiley & Sons, Incorporated.
  2. Coulouris, G. & Dollimore, J. & Kindberg, T. (2011): Distributed Systems: Concepts and Design, Addison Wesley, 5. Auflage.
  3. Schill, Alexander & Springer, Thomas (2012):  Verteilte Systeme - Grundlagen und Basistechnologien, Springer.
  4. Bengel, Günther (2014): Verteilte Systeme, Client-Server-Computing für Studenten und Praktiker, Springer-Vieweg, 4. Auflage.
  5. Comer, Douglas E. (2018): Computer Networks and Internets: Global Edition, Pearson Education, 6. Auflage. 
  6. Pollakowski, Martin (2009): Grundkurs Socketprogrammierung mit C unter Linux, Vieweg & Teubner Verlag; 2., akt. Aufl.
  7. Oechsle, Rainer (2022): Parallele und Verteilte Anwendungen in Java, Hanser, 6. Auflage.

Applicability in study programs

  • Computer Science and Media Applications
    • Computer Science and Media Applications B.Sc. (01.09.2025)

  • Computer Science and Computer Engineering
    • Computer Science and Computer Engineering B.Sc. (01.09.2025)

    Person responsible for the module
    • Eikerling, Heinz-Josef
    Teachers
    • Eikerling, Heinz-Josef
    • Timmer, Gerald
    • Westerkamp, Clemens