University: Technical University of Košice
Faculty: Faculty of Electrical Engineering and Informatics
Department: Department of Computers and Informatics
Course Number: 2608941 Course Name: Distributed Systems
Type, scope and method of learning activities:
Course Type: Lecture, Laboratory exercise, Project work
Recommended scope of the course content (in hours):
Full-time study (hours per week): 2,1,1
Part-time study (hours per semester): WT 26,13,13
Study Method:
Number of credits: 6
Recommended semester of study: WT
Recommended semester Study programme Study grade Study Method
1.rok WT Cybersecurity (KB_Ing_D_sk)
Informatics (INF_Ing_D_sk)
Informatics (INF_Ing_D_en)
Level of study:
Course completion requirements:
Assessment and completion of the course: Credit test and examination
Continuous assessment: Student passes the continuous assessment and receives credits when he or she meets the requirement to obtain at least 21% out of 40%.
problem set
Final assessment: Student passes the final assessment and passes the examination when he or she meets the requirement to obtain at least 31% out of 60%.
Overall assessment: Overall assessment is the sum of the assessments obtained by students in the assessment period. The overall result is determined in accordance with the internal regulations of the Technical University in Košice. (Study Regulations, the internal regulation principles of doctoral studies)
Learning outcomes:
The course covers basic principles and foundations of distributed systems that are necessary for design and implementation of distributed systems applications - communication, concurrency, naming, synchronization, consistency and replication. Students acquire also practical skills by implementation of a typical application of the distributed system.
Brief course content:
1. Architectures and basic concepts of distributed systems.
2. Concurrency - processes and threads in distributed systems.
3. Communication - Remote Procedure Call, Message oriented middleware, stream based communication for multi-media data transfer,
4. Naming service - simple names, structured names with attibutes.
5. Synchronization - time synchronization, logical clocks, mutual exclusion, election algorithms, GPS.
6. Naming.
7. Consistency and replication: data-centric models.
8. Consistency and replication: client-centric models.
9. Selected design patterns for distributed systems: Fundamental System Architecture, Interface Partitioning, Component Partitioning.
10. Selected design patterns for distributed systems: Application Control, Concurrency, Synchronization.
11. Selected design patterns for distributed systems: Object Interaction, Adaptation and Extension.
12. Selected design patterns for distributed systems: Resource Management.
Recommended Reference Sources:
1. TANENBAUM, A. S. - VAN STEEN, M.: Distributed Systems, Principles and Paradigms. 2nd Edition, Prentice Hall, 2006
2. BUSCHMANN, F. - HENNEY, K. - SCHMIDT, D. C.: Pattern-Oriented Software Architecture, A Pattern Language for Distributed Computing. Volume 4, John Wiley a Sons Inc., 2007
Recommended optional program components:
Languages required for the course completion:
Course assessment:
Total number of students assessed: 1227
  A B C D E FX  
  4% 9% 19% 30% 25% 12%  
doc. Ing. Martin Tomášek, PhD.
Last modified: 31.08.2023
Approved by: person(s) responsible for the study program