Department: Computer science and communication systems
Specialization: Data Engineering
Module: System programming

Course description

Back Systèmes concurrents

  • Objectives

    A la fin du cours, l'étudiant sait:

    • Analyser un problème informatique et juger de la nécessité d'une approche concurrente.
    • Concevoir un programme concurrent en identifiant, sur la base de critères objectifs, les différents processus et leur interaction.
    • Utiliser à bon escient les outils de synchronisation entre processus.
    • Appliquer les règles permettant d'éviter interblocage et privation.
    • Représenter une application concurrente à l'aide d'un formalisme adéquat.
    • Simuler à l'aide d'un formalisme adéquat le comportement dynamique d'un programme concurrent.
  • Content
    • Introduction: première approche, définitions, caractéristiques et modèle.
    • Exclusion mutuelle: problématique, réalisation (attente active, verrous).
    • Synchronisation: problématique, réalisation (sémaphores, moniteurs)
    • Langages/environnements de développement qui supportent de multiples processus: Python, Java, pthreads, etc

Type of teaching and workload

Lecture course (including exercises)
40 periods
Practical exercises / lab work
40 periods
Module exam
oral (15 min.)

Course specification

Year of validity
2025-2026
Weight
2nd year
Semester
Autumn
Program
French,Bilingual
Department
Computer science and communication systems
Language of instruction
French
ID
B2C-SYCO-S
Level
Intermediate
Course type
Core
Study program
Bachelor

Evaluation methods

  • Continuous assessment Written work, Practical exercises / Evaluated reports
  • Exam: oral (15 min.)

Reference work

  • Notes du professeur
  • Références distribuées pendant le cours
  • Concurrent Programming, Gregory Andrews, Addison-Wesley, 1992 IBSN 0805300864

Intructor(s) and/or coordinator(s)

Patrick Bovey, Michael Mäder