Objectifs (en termes de compétences)
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 langages récent 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. Les langages étudiés pourront varier d'une année à l'autre.
En 2006-2007 nous étudierons les détails du langage Scheme, un représentant de la famille des langages fonctionnels, et Prolog, un langage de programmation logique.
Objet de l'activité (principaux thèmes à aborder)
Pour chaque langage:
- Etude approfondie des caractéristiques du langage;
- Principes de conception et techniques d'implémentation de ce langage;
- Bases fondamentales du langage;
- Utilisation du langage pour la résolution de problèmes;
- Séances d'exercices sur ordinateur.
Résumé : Contenu et Méthodes
Le cours consistera en cours magistraux où les caractéristiques et propriétés du langage seront expliquées en détail. En parallèle avec les cours magistraux, des séances pratiques seront organisées où les étudiants auront l'occasion de mettre en pratique et de comprendre les implications de la théorie. Occasionnellement, des orateurs externes peuvent être invités à présenter l'un ou l'autre aspect d'un langage étudié.
Autres informations (Pré-requis, Evaluation, Support, ...)
Pré-requis
Ce cours n'a aucun cours spécifique comme pré-requis. Néanmoins, les étudiants devront avoir un certain intérêt en programmation et en langages de programmation. Au plus l'étudiant connaît de langages différents, au plus il appréciera ce cours.
Références
Comme les langages étudiés 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 est :
Principles of Programming Languages - Design, Evaluation and Implementation. Bruce J. MacLennan. Saunders College Publishing.
Supports
Les transparents des cours magistraux ainsi que les énoncés des séances pratiques et d'autres informations pratiques relatives au cours seront accessibles sur iCampus.
iCampus sera également le moyen de communication privilégier entre les étudiants et l'équipe didactique.
Modalités d'évaluation
L'examen portera sur les langages étudiés pendant le cours et consistera en une partie théorique et une partie pratique. De plus, pendant l'année, les étudiants peuvent être invités a préparer et présenter une partie des cours magistraux, auquel cas l'appréciation du professeur sur leur présentation comptera également pour la note finale du cours.
Autres crédits de l'activité dans les programmes
INFO22
|
Deuxième année du programme conduisant au grade d'ingénieur civil informaticien
|
(4 crédits)
| |
INFO23
|
Troisième année du programme conduisant au grade d'ingénieur civil informaticien
|
(4 crédits)
| |
|