Objectifs (en terme de compétences)
- Montrer une compréhension profonde des concepts majeurs de la programmation.
- Comprendre et appliquer les bases des formalismes les plus courants utilisés pour définir des langages formels (syntaxe et sémantique), plus précisément les langages algorithmiques de programmation.
- Comprendre le fonctionnement des langages dans les principaux paradigme de programmation ; comprendre les relations entre ces différents paradigmes.
- Pouvoir rapidement apprendre de nouveaux langages, concevoir des langages spécifiques pour une application quelconque et savoir interfacer des langages différents.
Objet de l'activité (principaux thèmes à aborder)
- Syntaxe: notions de syntaxes abstraite et concrète ; formalismes de définition de ces syntaxes. ; représentation de textes formels (arbres syntaxiques, graphes).
- Sémantique : introduction aux méthodes de définition de sémantique (sémantique opérationnelle, sémantique axiomatique, sémantique dénotationnelle).
- Concepts majeurs de programmation : fonction, objet, classe, abstraction, instantiation, héritage, état, encapsulation, non-déterminisme, concurrence, programmation d'ordre supérieur, compositionnalité, etc.
- Techniques d'utilisation de ces concepts.
- Paradigmes de programmation et introduction aux principaux langages de programmation.
- Principes et techniques de conception et d'interfaçage de langages.
- Applications pratiques dans plusieurs domaines (par ex. systèmes répartis, programmation par contraintes, interfaces homme-machine).
Autres informations (Pré-requis, Evaluation, Support, ...)
- Pré-requis:
Maîtrise de la programmation dans un langage de haut niveau tel que
LINF2121 Algorithmique et structures de données P. Dupont
- Références
Ouvrage(s) recommandé(s)
(1) Sethi R, "Programming Languages : Concepts and Constructs" , Addison-Wesley, 1996.
(2) Van Roy P. and Haridi S, "Concepts, Techniques, and Models of Computer Programming" MIT Press, March 2004.
(3) Glynn Winskel, "The Formal Semantics of Programming Language" , MIT Press, 1993.
Autres crédits de l'activité dans les programmes
ECGE3DS/IG
|
Diplôme d'études spécialisées en économie et gestion (informatique de gestion - Master in Information Systems)
|
(5 crédits)
| |
INFO21
|
Première année du programme conduisant au grade d'ingénieur civil informaticien
|
(5 crédits)
|
Obligatoire
|
INFO22
|
Deuxième année du programme conduisant au grade d'ingénieur civil informaticien
|
(5 crédits)
| |
LINF21
|
Première licence en informatique
|
(5 crédits)
| |
LINF21/GN
|
Première licence en informatique (informatique générale)
|
(5 crédits)
|
Obligatoire
|
LINF21/GS
|
Première licence en informatique (informatique de gestion)
|
(5 crédits)
|
Obligatoire
|
MAP23
|
Troisième année du programme conduisant au grade d'ingénieur civil en mathématiques appliquées
|
(5 crédits)
| |
MATH22/E
|
Deuxième licence en sciences mathématiques (Economie mathématique)
|
(5 crédits)
| |
MATH22/G
|
Deuxième licence en sciences mathématiques
|
(5 crédits)
| |
MATH22/S
|
Deuxième licence en sciences mathématiques (Statistique)
|
(5 crédits)
| |
|