Course details

Distributed Application Environment (in English)

PDIe Acad. year 2023/2024 Winter semester 5 credits

Course is not open in this year

Common characteristics of distributed environments. Principles, algorithms, and systems of distributed computing. Types of distributed environments. Design and model of distributed algorithms. Distributed operating and file systems. Cloud Computing. Data-centric computing. Technology JSP, J2EE, JavaBeans, EJB, RPC, XML-RPC, SOAP, IIOP. Web services. Security in distributed applications.


Course coordinator

Language of instruction



Examination (written)

Time span

  • 39 hrs lectures
  • 13 hrs projects

Assessment points

  • 55 pts final exam
  • 15 pts mid-term test
  • 30 pts projects




Learning objectives

The aim is to understand principles and design of applications for distributed environment, obtain overview of modern distributed environments and ability of usage application interface for various programming environments.

The students will become familiar with concepts and principles of distributed environments, with the design and implementation of applications for distributed environments and security aspects in distributed environments.

  • A student learns terminology in the domain of DS
  • A student learns to create small projects
  • A student learns to present and defend the results of the small project

Prerequisite knowledge and skills

Knowledge of programming the network applications in common programming languages like C/C++ or Java. Knowledge of Unix architecture and ability to create programs for Unix operating systems.

Study literature

  • S. Saxena, S. Gupta: Real-Time Big Data Analytics, Packt Publishing, 2016.

Fundamental literature

  • Kshemkalyani, Singhal: Distributed Computing, Cambridge Press, 2008.

  • Dahlia Malkhi: Concurrency: The Works of Leslie Lamport, ACM Books, 2019.
  • B. Burns: Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services, O'Reilly Media, 1st edition, 2018.

Syllabus of lectures

  1. Principles and models of distributed computation
  2. Physical and Logical Time
  3. Global State and Snapshot Algorithms
  4. Group communication
  5. Authentication in Distributed Systems
  6. Algorithms of Leader Election and Mutual Exclusion
  7. Midterm Exam
  8. Virtualization and Cloud Computing
  9. MapReduce Programming Model and Apache Hadoop
  10. Principles of Apache Spark
  11. Distributed Stream Processing in Apache Flink
  12. Enterprise Service Bus
  13. Distributed computing with BOINC

Syllabus - others, projects and individual work of students

  • Implementation of a distributed application in the given target environment (Spark, Flink, Azure, Hadoop,...).

Progress assessment

  • Mid-term written examination - 15 points
  • Evaluated project with the defense - 30 points
  • Final written examination - 55 points


Course inclusion in study plans

Back to top