Programming paradigms : theory, practice and applications [ LSINF2335 ]
5.0 crédits ECTS
30.0 h + 15.0 h
2q
Enseignant(s) |
Mens Kim ;
|
Langue d'enseignement: |
Anglais
|
Lieu de l'activité |
Louvain-la-Neuve
|
Ressources en ligne |
> https://icampus.uclouvain.be/claroline/course/index.php?cid=SINF2335
et/ou > https://moodleucl.uclouvain.be/course/view.php?id=4653
|
Thèmes abordés |
En informatique, les langages sont omniprésents. Ceux-ci peuvent être très différents selon l'étape du cycle de vie du logiciel, le paradigme utilisé, ou le domaine d'application : langages de modélisation, langages de spécification, langages de programmation (impératif, orienté-objet, fonctionnel, logique, contraintes), langages d'interrogation, langages de scripts, langages de règles, langages graphiques, etc. L'objectif de ce cours consiste à étudier de manière approfondie un ou plusieurs paradigmes ou langages récents ou d'importance historique de l'informatique. Cette étude portera sur la conception du langage, les techniques d'implémentation, et les méthodes d'utilisation. Le langages ou paradigme étudiés pourront varier d'une année à l'autre.
Pour chaque langage ou paradigme de programmation étudié dans le cours, les thèmes suivants pourront êtres abordés :
-
Etude approfondie des caractéristiques du langage ou paradigme;
-
Principes de conception et techniques d'implémentation de ce langage ou paradigme;
-
Bases fondamentales du langage ou paradigme;
-
Utilisation du langage ou paradigme pour la résolution de problèmes.
|
Acquis d'apprentissage |
Eu égard au référentiel AA du programme « Master ingénieur civil en informatique », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
-
INFO1.1-3
-
INFO2.2-4
-
INFO5.2, INFO5.4-5
-
INFO6.4
Eu égard au référentiel AA du programme « Master [120] en sciences informatiques », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
-
SINF1.M2, SINF1.M3
-
SINF2.2-4
-
SINF5.2, SINF5.4-5
-
SINF6.4
Les étudiants ayant suivi avec fruit ce cours seront capables de
-
décrire, en les différenciant, les principaux paradigmes de programmation;
-
identifier les bases fondamentales d'un langage ou d'un paradigme;
-
expliciter les différences entre différents langages et faire le lien avec les paradigmes de programmation auxquels ils sont associés;
-
choisir de manière argumentée un langage ou un paradigme adapté à la résolution d'un problème particulier.
|
Modes d'évaluation des acquis des étudiants |
Pendant l'année, en parallèle avec le cours, les étudiants (individuellement ou en binôme) sont demandés déétudier un langage comparable aux langages vus dans le cours, ou d'approfondir l'étude d'un langage vu au cours. L'examen consistera en un rapport et une présentation détaillé de ce langage et les liens avec les autres langages ou paradigme vu au cours.
|
Méthodes d'enseignement |
Le cours consistera des cours magistraux où les caractéristiques et propriétés d'un ou plusieurs langages seront expliqués en détail. En parallèle, les étudiants travailleront sur leur étude d'un autre langage comparable. Occasionnellement, un orateur externe peut être invité à présenter l'un ou l'autre aspect d'un langage étudié.
|
Bibliographie |
Références
Comme les langages étudies peuvent varier d'un année à un autre, les références conseillés pour ce cours pourront varier également. Néanmoins, une référence très utile qui couvre un large éventail de langages de programmation reste :
-
Principles of Programming Languages - Design, Evaluation and Implementation. Bruce J. MacLennan.
Supports
Les transparents des cours magistraux ainsi que d'autres informations pratiques relatives au cours seront accessibles en ligne (cfr ressources en ligne): La même plate-forme en ligne sera également le moyen de communication préféré entre les étudiants et l'équipe didactique.
|
Autres infos |
Préalable :
-
LINGI1131
-
Au plus l'étudiant connaît de langages différents, au plus il appréciera ce cours.
|
Cycle et année d'étude |
> Master [120] en sciences informatiques
> Master [120] : ingénieur civil en informatique
|
Faculté ou entité en charge |
> INFO
|
<<< Page précédente
|