Nowadays, computing, whether it is visible (a company's information system) or embedded in an industrial process, is distributed by nature: computer systems are essentially distributed, they often consist of networked "sites" (processors, sensors, computers, devices, etc.).

The aim of this course is to study:

  • the basic distributed algorithms used to "manage" a distributed infrastructure and,
  • the environments used to develop and deploy distributed applications: REST, SOAP, web sockets.

A project will be developed by the student at the end of the course. The project encompasses the following technologies studied in the course:

  • WebSocket
  • REST architecture

From a theoretical point of view, this course assumes that students are familiar with the concept of concurrent programming.

From a practical point of view, this course assumes that students are familiar with Java and Python programming languages as well as threads and sockets.