Skip to content

Security Of Distributed Applications

Public syllabus for 2025-2026

Academic overview

Programme
CS
Period
Year 1, Semester 1
Credits
5
Weeks
14

Curriculum placement

Appears in study plans

Teaching team

Course coordinator
(none)
Seminar coordinators
(none)

Learning time distribution

Total
Curriculum Lecture Practice Total Weekly Lecture Practice
42 28 14 3 2 1
Exam hours
6
Individual Study Bibliography study Field study Homework Tutoring Others
83 32 6 33 6 0
Overall
125

Learning outcomes

Knowledge

  • Mastering the fundamental notions in distributed systems

Skills

  • Dexterity in creating distributed applications

Responsibility

  • Professional development and self-confidentiality in own capacities by the presence of the abilities for understanding and development of distributed systems

Online platform

(none)

Course content

Content Methods Obs
Lecture 1: What is a Distributed System? Modern Technologies for Distributed Systems Presentation
Lecture 2: Design and Middleware. P2P Presentation
Lecture 3: Communication in Client-Server model. Grid Presentation
Lecture 4: Remote Procedure Call. Ubiquitous Computing Presentation
Lecture 5: Group Communication. Virtualization Presentation
Lecture 6: Clock synchronization - part 1. Service oriented architectures Presentation
Lecture 7: Clock synchronization - part 1. Web services Presentation
Lecture 8: Distributed Mutual Exclusion. XML and WSDL Presentation
Lecture 9: Deadlocks. SOAP Presentation
Lecture 10: Elections. UDDI Presentation
Lecture 11: Fault tolerance. REST Presentation
Lecture 12: Atomic transactions. Web 2.0 and Web applications Presentation
Lecture 13: Distributed systems models. Service Component Architecture Presentation
Lecture 14: Real time systems. Public Web services Presentation

Course bibliography

Joe Clabby, Web Services Explained: Solutions and Applications for the Real World, Prentice Hall PTR, 2002 Thomas Erl, Service-Oriented Architecture: Concepts, Technology, and Design, Prentice Hall PTR, 2005 Andrew S. Tanenbaum, Marteen Van Steen, Distributed Systems. Principles and Paradigms, CreateSpace Independent Publishing Platform, 2016 George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair, Distributed Systems. Concepts and Design, Addison-Wesley, 2012 Ray. Rafaels, Cloud Computing: From beginning to end, CreateSpace Independent Publishing, 2015

Seminar content

Content Methods Obs
Lab 1: Sockets in Java. TCP Sockets Streams, Readers and Writers for Input and Output Codes developed by the students under supervision
Lab 2: UDP Sockets Multicasting Codes developed by the students under supervision
Lab 3: Remote Methods Invocation NIO: New I/O packages Codes developed by the students under supervision
Lab 4: Bottom-up build of Web Services with Eclipse WTP; Automated building of clients of Web Services with Eclipse WTP. Codes developed by the students under supervision
Lab 5: Programming a client of a Web service with Eclipse WTP; Writing a client of a public Web service. Codes developed by the students under supervision
Lab 6: Cloud Computing - SaaS; Cloud Computing - IaaS. Codes developed by the students under supervision
Lab 7: Cloud Computing – Azure – simple web application; Cloud computing – AWS and FaaS. Codes developed by the students under supervision
Bibliography: Binildas CA, Malhar Barai, Vincenzo Caselli, Service Oriented Architecture with Java. Using SOA and web services to build powerful Java applications, Packt Publishing Ltd., 2008 Kenneth L. Calvert, Michael J. Donahoo. TCP/IP sockets in Java : practical guide for programmers, 2nd ed., Elsevier, 2008 John Paul Mueller, Mining Google Web Services: Building Applications with the Google API, Sybex, 2004 James Murty, Programming Amazon Web Services, O'Reilly, 2008 John Long, Cloud Native Java, O’Reilly, 2017

Seminar bibliography

The content is in accordance with the structure of similar courses from other universities and covers the fundamental aspects necessary to become familiar with the issue of distributed systems. The ability to identify, design, implement and analyze distributed systems is essential for complex systems developed in the software industry. The skills offered by this discipline are necessary for an IT specialist to identify effective solutions to solve specific problems, regardless of the specific field of activity.

Corroboration

(none)

AI tools guidance

(none)

Evaluation and delivery

Activity Criteria Methods Percentage
C
  • ● Knowledge of problems associated with distributed systems and their solution (OC)
  • Written exam in the exam session
  • 50.0%
S
  • ● The ability to design and program a distributed system (OAb)
  • Oral evaluation of the software project (semester assignment)
  • 50.0%

Performance standards

Minimum standard (knowledge and skills required for grade 5) ● Ability to write a simple distributed application. ● Understanding the basic principles of distributed systems. The final mark is calculated as a weighted average of the marks awarded for the components specified in 10.4 and 10.5. The exam is considered passed if the average is at least 5 (it is not necessary that each grade be higher than 5). At each of the exam sessions (including arrears and increases), the grade is calculated according to the same rule. In the arrears/increase session, only one of the two tests (written or oral) can be given, unless the student wants to take both tests. ● Note: Students can participate in the consultation hours (2 modules/week according to the planning established at the beginning of the semester) during which the head of the course and laboratory answers the students' questions and offers additional explanations related to the content of the course, applications from the laboratory and assignments.

Additional info

(none)