IFT 2030 - hiver 2002

Concepts des langages de programmation

Professeur: Miklós Csürös
Bureau: AA 3253
Tél: 343-6111 poste 1655
E-mail: csuros@iro.umontreal.ca

Démonstrateur:

Horaire

TypeJour HeureLocal
courslundi9:30-11:30AA-1360
jeudi11:30-12:30
TPmardi15:30-17:30AA 1207/1411

Préalable

IFT2010 (Programmation II).

Contenu général et objectifs de cours

Ce cours présente les concepts à la base des langages de programmation, en prenant comme examples des langages représentatifs de ces concepts. Nous étudierons ainsi la programmation impérative (avec C/C++ et les problèmes que les pointeurs apportent), la programmation fonctionnelle (avec Scheme), la programmation par objets (avec C++ et Java), la programmation logique (avec Prolog), et la programmation parallèle (avec Java). L'approche du cours mettra l'emphase sur l'apprentissage des principes de base des langages, tels que la représentation des unités de base, le typage et les mécanismes d'exécution. Nous ne cherchons pas à former des spécialistes d'aucun des langages étudiés, mais plutôt à donner une solide formation de base qui permettra à l'étudiant(e) d'approfondir selon sa volonté n'importe lequel des milliers de langages de programmation qui existent. En plus des cours théoriques, des exercices de programmation seront donnés, visant la compréhension des concepts et l'illustration de différents paradigmes de programmation.

Bibliographie

Le livre obligatoire est mis en réserve à la bibliothèque de Math-Info (pavillon André-Aisenstadt).

Livre obligatoire

Ravi Sethi. Programming Languages: Concepts and Constructs, seconde édition. Addison-Wesley, 1996. ISBN 0-201-59065-4. (En vente à la Librairie de l'Université: 89,25$.)

Évaluation

TPs: 40% intra: 30% final: 30%

Les deux examens seront à livre fermé et l'examen final portera sur la matière de toute la session. Il y aura 3-4 travaux pratiques à caractère théorique et programmation. Si la note moyenne aux examens n'atteint pas le seuil de 40%, le cours est échoué.

Important: Vous êtes encouragés à faire vos devoirs en groupes de deux et à remettre une seule copie par groupe. Pas de groupes de trois ou plus.

Calendrier approximatif

Semaine Date Heures Matière Sethi
1Lu 7/12Introductionchapitre 1
Je 10/13Syntaxe des langageschapitre 2
2Lu 14/1
Je 17/16Programmation impérativechapitres 3-5
3Lu 21/1
Je 24/1
4Lu 28/1
Je 31/14Programmation o.o.chapitres 6-7
5Lu 4/2
Je 7/2
6Lu 11/26Programmation fonctionnellechapitres 8-10
Je 14/2
7Lu 18/2
Je 21/2
 Lu 25/22 EXAMEN INTRA: 9:30-11:30, salle N-615chapitres 1-10
8Je 28/2   
(activités libres)
9Lu 11/36Programmation concurrentechapitre 12
Je 14/3
10Lu 18/3
Je 21/35Programmation logiquechapitre 11
11Lu 25/3
Je 28/3
(congé de Pâques)
12Je 4/4   
13Lu 8/42Révision 
 Lu 22/43 EXAMEN FINAL: 8:30-11:30, salle N-515chapitres 1-12