The course aims to provide students with proper conceptual and technological tools for the design, analysis, and development of modern distributed software applications.
After introducing models, paradigms, and algorithms for distributed software, various types of middleware systems are presented, focusing on the issues they have been designed to deal with.
Students will learn to design, implement, and integrate distributed software, possibly made of heterogeneous components.
Moreover, they will acquire the ability to choose and apply the most suitable middleware solutions to address practical problems in distributed enterprise applications.
Prerequisites: knowledge of Operating Systems basics and synchronization techniques, C, and mastering of Java.
All the activities are supported by information and learning material posted and updated in the dedicated MS Teams room (click on the link box above to access it).

