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.
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
Q2
Enseignants
Van Roy Peter;
Langue
d'enseignement
d'enseignement
Anglais
Préalables
Ce cours suppose acquise la maîtrise de la programmation dans un langage de haut niveau telle qu'enseignée dans le cours LEPL1402.
Thèmes abordés
- Paradigmes de programmation concurrente (y compris état partagé, passage de messages et dataflow déterministe)
- Concepts majeurs de la programmation (y compris évaluation paresseuse, non-déterminisme, agent, verrou, moniteur, transaction, interblocage, programmation d'ordre supérieur, compositionnalité)
- Techniques de raisonnement et de conception pour la programmation concurrente
- Applications pratiques dans plusieurs domaines (y compris simulation des circuits logiques, gestion des ascenseurs, gestion des transactions)
Acquis
d'apprentissage
d'apprentissage
A la fin de cette unité d’enseignement, l’étudiant est capable de : | |
1 |
|
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) ».
Contenu
- Paradigmes de programmation concurrente (état partagé, passage de messages et dataflow déterministe).
- 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).
Méthodes d'enseignement
- Cours magistral chaque semaine
- Séances de travaux pratiques en salle informatique chaque semaine, pour résoudre des problèmes simplifiés en utilisant les concepts vu au cours
- Projet de conception et d'implémentation pour appliquer ces concepts dans le cadre d'une application plus complexe.
Modes d'évaluation
des acquis des étudiants
des acquis des étudiants
- Test dispensatoire 25% (vers la 7e semaine)
- Projet 25%
- Examen final (50%) (ou 75% si on refait la partie du test)
Autres infos
Prérequis:
- Cours de programmation de seconde année Informatique 2 (LFSAB 1402) ou équivalent.
Ressources
en ligne
en ligne
LINGI1131 Moodle: https://moodleucl.uclouvain.be/course/view.php?id=1824
Bibliographie
Peter Van Roy et Seif Haridi, Concepts, Techniques, and Models of Computer Programming, MIT Press, 2004
Support de cours
- Concepts, Techniques, and Models of Computer Programming
Faculté ou entité
en charge
en charge
INFO