These courses are taught in a blended way (face-to-face and online) by EDSA partners and associate EDSA partners.

The objective of this course is to deeper understand and study the behavior of the networks arising within distributed systems. In particular, the course will focus on the concepts of graph theory which will allow to explain the connectivity and dynamics of many real world networks. The course will also cover the topics of Distributed Data Management, Large Graph Processing, Publish/Subscribe Systems, Navigable Small-World Overlays.
This course describes the critical technology trends that are enabling cloud computing and the services and applications they offer. The course covers a wide variety of advanced topics in data intensive computing, including distributed file systems, NoSQL databases, processing data-at-rest (batch data) and data-in-motion (streaming data), graph processing, and resource management. The course is mainly based on research papers.
This course introduces fundamental principles and techniques of Distributed Artificial Intelligence (DAI), as well as the usage of such techniques for creating applications in distributed computing environments. Central to the course are the concepts of "intelligent agents", as a paradigm for creating autonomous software components, and “multi-agent systems” as a way of providing coordination and communication between individual autonomous software components.
The main objective of this course is to provide the students with a solid foundation for understanding, analyzing and designing distributed algorithms for reliable distributed systems.