Ce cours présente les principaux fondamentaux des systèmes distribués tels que le réseau informatique, horloges, les modèles de tolérance aux pannes, coordination, la réplication et les transactions. Le cours vise aussi à introduire les principes avancés de systèmes distribués, tels que les patrons pour le traitement de données massives (p. ex. MapReduce), les réseaux pair à pair et décentralisés, et les notions de cohérence, de disponibilité et de tolérance au partitionnement. Les systèmes distribués à grande échelle pour données massives seront utilisés à titre d’exemple.
Au terme de ce cours, l'étudiant ou l'étudiante sera en mesure :
Séances de laboratoire axées sur la mise en œuvre de projets permettant d'implémenter les mécanismes de base des systèmes distribués, tel que la réplication, la coordination, et la tolérance aux pannes.