5 crédits
30.0 h + 30.0 h
Q2
Enseignants
Van Roy Peter;
Langue
d'enseignement
d'enseignement
Anglais
Préalables
Au sein du programmeSINF1BA : LFSAB1402
Au sein du programme FSA1BA: LFSAB1101, LFSAB1102, LFSAB1201, LFSAB1202, LFSAB1301, LFSAB1401
Le(s) prérequis de cette Unité d’enseignement (UE) sont précisés à la fin de cette fiche, en regard des programmes/formations qui proposent cette UE.
Au sein du programme FSA1BA: LFSAB1101, LFSAB1102, LFSAB1201, LFSAB1202, LFSAB1301, LFSAB1401
Le(s) prérequis de cette Unité d’enseignement (UE) sont précisés à la fin de cette fiche, en regard des programmes/formations qui proposent cette UE.
Thèmes abordés
- Concepts, techniques et paradigmes des langages de programmation
- Paradigmes de programmation concurrente
- Techniques de raisonnement et de conception pour la programmation
- Programmation pratique et applications pratiques
Acquis
d'apprentissage
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 ingénieur civil », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
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 :
Les étudiants ayant suivi avec fruit ce cours seront capables de
Les étudiants auront développé des compétences méthodologiques et opérationnelles. En particulier, ils ont développé leur capacité à
|
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
- Compréhension profonde des concepts majeurs des langages de programmation. Les concepts sont présentés dans un cadre uniforme. Le cours est organisé autour d'une présentation progressive et cohérente des différents paradigmes de programmation concurrente.
- 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.
- Description d'un large éventail des paradigmes de programmation, relation entre ces paradigmes et introduction aux principaux langages de programmation.
- 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
- Séances magistrales chaque semaine.
- Séances de travaux pratiques en salle informatique chaque semaine.
- Projet de conception et programmation à faire pendant la deuxième moitié du cours.
Modes d'évaluation
des acquis des étudiants
des acquis des étudiants
- Test au milieu du quadrimestre (dispensatoire pour 1/4 de la matière).
- Projet (1/4 de la note).
- Examen écrit en session (3/4 de la note).
Autres infos
Préalables:
- FSAB1402 : Maîtrise de la programmation dans un langage de haut niveau
Ressources
en ligne
en ligne
Bibliographie
- Van Roy P. et Haridi S, "Concepts, Techniques, and Models of Computer Programming", MIT Press, March 2004. (support obligatoire)
- Mozart Programming System version 2, www.mozart-oz.org.
Faculté ou entité
en charge
en charge
INFO