Learning outcomes of the course unit
The goal of the course is to provide a in-depth knowledge on the techniques and technologies of distributed systems and on their use for developing distributed software systems.
Software Engineering, Database Systems.
Course contents summary
Introduction. Architecture and computing models. Middleware. Synchronization and coordination. Replication. Fault Tolerance. Security. Multi-agent systems. Modeling and simulation. Development technologies. Applications.
Architecture and computing models
Design and performance analysis
Concurrent and distributed programming languages
Naming resolution algorithms
Synchronization and coordination
Service oriented systems
Modeling and simulation
G. Coulouris, J. Dollimore, T. Kindber. Distributed Systems - Concepts and Design, Addison Wesley, Fifth Edition, 2012.
The course is based on theoretical lectures and Lab activities.
Assessment methods and criteria
Student evaluation is based on a theoretical and a practical test.