Paradigmes de programmation concurrente

linfo1131  2019-2020  Louvain-la-Neuve

Paradigmes de programmation concurrente
Note du 29 juin 2020
Sans connaitre encore le temps que dureront les mesures de distances sociales liées à la pandémie de Covid-19, et quels que soient les changements qui ont dû être opérés dans l’évaluation de la session de juin 2020 par rapport à ce que prévoit la présente fiche descriptive, de nouvelles modalités d’évaluation des unités d’enseignement peuvent encore être adoptées par l’enseignant ; des précisions sur ces modalités ont été -ou seront-communiquées par les enseignant·es aux étudiant·es dans les plus brefs délais.
5 crédits
30.0 h + 30.0 h
Q1

  Cette unité d'enseignement n'est pas dispensée en 2019-2020

Langue
d'enseignement
Anglais
Préalables
Ce cours suppose acquises les concepts, paradigmes et sémantique des langages de programmation visés par le cours LINFO1104
Thèmes abordés
  • paradigmes de programmation concurrente (état partagé, passage de messages et concurrence déclarative)
  • Concepts majeurs de la programmation qui inclut fonction, objet, classe, abstraction, instantiation, héritage, état, encapsulation, concurrence, dataflow, évaluation paresseuse, non-déterminisme, agent (objet actif), verrou (lock), moniteur, transaction, interblocage (deadlock), programmation d'ordre supérieur, compositionnalité, etc.
  • Techniques de raisonnement et de conception avec les différents paradigmes pour concevoir des programmes corrects
  • Applications pratiques dans plusieurs domaines (par exemple, la simulation des circuits logiques, la simulation des ascenseurs, un gestionnaire de transactions).
Acquis
d'apprentissage

A la fin de cette unité d’enseignement, l’étudiant est capable de :

1
Eu égard au référentiel AA du programme « Bachelier en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
  • S1.I5
  • S2.2-4
  • S5.2, S5.4-5
Les étudiants ayant suivi avec fruit ce cours seront capables de
  • définir avec précision et utiliser à bon escient dans les programmes de taille moyenne les concepts-clé de programmation;
  • définir les principaux paradigmes de la programmation concurrente (état partagé, passage de messages et concurrence déclarative), avec les concepts qu'ils contiennent et les propriétés qu'ils donnent aux programmes;
  • expliquer les relations (similitudes, différences) entre ces différents paradigmes ;
  • expliquer le lien entre les langages de programmation et les principaux paradigmes de programmation concurrente ;
  • écrire des programmes de taille moyenne dans ces paradigmes de programmation concurrente.
  • penser à l'aide d'abstractions (raisonner correctement sur un système qui comprend plusieurs couches d'abstractions, et définir de nouvelles abstractions pour simplifier la résolution d'un problème)
 

La contribution de cette UE au développement et à la maîtrise des compétences et acquis du (des) programme(s) est accessible à la fin de cette fiche, dans la partie « Programmes/formations proposant cette unité d’enseignement (UE) ».
Faculté ou entité
en charge
INFO


Programmes / formations proposant cette unité d'enseignement (UE)

Intitulé du programme
Sigle
Crédits
Prérequis
Acquis
d'apprentissage
Approfondissement en sciences informatiques