- To understand distributed systems and distributed algorithms.
- To learn how to create collaborative applications on distributed systems.
- To acquire a firm basis of basic concepts to allow clear reasoning about distributed and mobile systems.
- To learn how to use some advanced tools for the development of distributed and mobile applications.
Main themes
- Study of the theoretical basis of distributed systems, distributed algorithms, and languages for distributed programming.
- Study of the specific issues related to distributed and mobile systems : geographic distribution, management of localized and distributed resources, fault tolerance, security, interoperability, and openness.
- Practical use of several representative and advanced systems and languages for programming collaborative, distributed, and mobile applications.
Content and teaching methods
see "Main themes"
Other information (prerequisite, evaluation (assessment methods), course materials recommended readings, ...)
Course material:
- Rachid Guerraoui, Luis Rodriguez, "Introduction to Reliable Distributed Programming"
- Andrew S. Tanenbaum, Maarten van Streen, "Distributed Systems: Principles and Paradigms', Chapter 1-5
- (other readings distributed as handouts in the course)