S yllabus - Université Laval

publicité
Langages de programmation
IFT-10542A, B et C
Syllabus
Programmations fonctionnelle,
orientée objet et parallèle
Hiver 2002
Syllabus basé sur un document élaboré par Béchir Ktari, Groupe LSFM, Université LAVAL
Page 2
A. Cours
Titre
Sigle
Nombre de crédits
Session
Salles
Horaires
Page Web
: Langages de programmation
: IFT-10542A, B et C
:3
: Hiver 2002
: A: PLT-2551, B: PLT-2341 , C: PLT-2704
: A : mercredi 18h30-21h30, B : mardi 12h30-15h30, C : jeudi 12h30-15h30
:
http://www.ift.ulaval.ca/~jodesharnais/ift-10542/
B. Professeure et chargés de cours
Section A
Nom et prénom
Bureau
Téléphone
Courriel
Casier personnel
Disponibilités
: Josée Desharnais
: PLT-3984
: 656-5424
: [email protected]
: IF2555 près de l’ascenseur
: mercredi de 14h30 à 17h30.
Section B
Nom et prénom
Bureau
Téléphone
Courriel
Casier personnel
Disponibilités
: Alaaeddine Fellah
: PLT-3777
: 656-2131 #4909
: [email protected]
: L436 près de l’ascenseur
: mardi de 15h30 à 18h30.
Section A
Nom et prénom
Bureau
Téléphone
Courriel
Casier personnel
Disponibilités
: Hanane Houmani
: PLT-3777
: 656-2131 #4909
: [email protected]
: LL304 près de l’ascenseur
: jeudi de 15h30 à 18h30.
Vous pouvez utiliser le courrier électronique à des fins de consultation. Aussi, le département
informatique compte embaucher des étudiants pour offrir un dépannage. Les heures précises de
dépannage vous seront communiquées ultérieurement.
C. Description et objectifs du cours
Page 3
Description : Paradigmes de programmation. Programmation procédurale, commande, séquencement et
pointeur. Programmation fonctionnelle, abstraction fonctionnelle, application, inférence de
types. Programmation orientée objet, classes, objets, messages et héritage (simple et
multiple). Programmation parallèle et distribuée en Java. Modularité et structuration.
Langages ML et Java.
PR : IFT-10541 ou IFT-19966
Objectifs :
Ce cours porte sur les différents concepts des langages de programmation. Il se veut un cours
de base, indispensable à tout informaticien. L'objectif est d'initier les étudiants aux différents
paradigmes de programmation. Ainsi, nous aborderons dans ce cours :
• Paradigme de programmation fonctionnelle (lambda -calcul, ML),
• Paradigme de programmation orientée objet (Java),
• Paradigme de programmation parallèle (Java, Concurrent ML).
Pour chaque paradigme, nous présenterons :
• Les motivations,
• Les concepts spécifiques,
• L'étude détaillée d'un ou plusieurs langages représentatifs.
Nous évoquerons également, d'une manière détaillée, les aspects structuration et modularité,
traitement d'exceptions, contrôle de types, sécurité, etc.
D. Évaluation des apprentissages
L’évaluation du cours se fera comme suit :
•
Si la moyenne des 2 examens est inférieure à 50%, la note finale sera calculée comme suit :
(Examen1 + Examen2) / 2
•
Si la moyenne des 2 examens est supérieure ou égale à 50%, la note finale sera composée des résultats
des 2 examens et des 2 travaux pratiques de programmation. La note finale sera la moyenne pondérée
des 4 notes et ce comme suit :
(Examen1 + Examen2 + Moyenne des 2 TPs) / 3
Chaque examen se tiendra en deux (2) heures. Tout document est permis durant les examens. La note
minimale de passage est de 60%. Les cotes seront attribuées selon le barème suivant :
A + [95-100]
A [90-95[
A - [87-90[
Réussite
B + [84-87[
B [81-84[
B - [78-81[
Réussite
C + [75-78[
C [72-75[
C - [70-72[
Réussite
D + [65-70[
D [60-65[
E
W
[0-60[
Réussite
Échec
Échec pour abandon
Page 4
Les dates des examens sont :
• Examen 1 : vendredi 1er mars 2002, 9h-11h
• Examen 2 : mardi 23 avril 2002, 13h30-15h30.
Les dates de remise des travaux pratiques sont :
• TP 1 : lundi 11 mars 2002.
• TP 2 : lundi 15 avril 2002.
E. Contenu
Le cours est développé de manière magistrale. Quelques séances d’exercices sont prévues. Deux travaux
pratiques sont prévus et consisteront à concevoir et à réaliser une application en utilisant des langages étudiés
dans le cadre de ce cours. À cette fin, les étudiants peuvent se structurer en équipe de quatre personnes au
maximum.
Le cours devrait être organisé comme suit 1 :
IFT-10542A , B et C
Semaine du 14 janvier
• Introduction du cours.
• Programmation fonctionnelle.
Semaine du 21 janvier
• Lambda-calcul
Semaine du 28 janvier
• Lambda-calcul
Semaine du 4 février
• Lambda-calcul
Semaine du 11 février
• Langage ML
• Énoncé TP1 (publié sur le site Web pour les 3 sections du cours)
Semaine du 18 février
• Langage ML
Semaine du 25 février
• Langage ML et exercices
Vendredi 1er mars, Examen 1, 9h-11h
Semaine du 11 mars
• Programmation orientée objet.
• Java
Lundi 11 mars Remise TP1
Semaine du 18 mars
• Java
• Énoncé TP2 (publié sur le site Web pour les 3 sections du cours)
1
Le fait de donner les examens aux mêmes heures pour les trois sections permettra de donner le même examen à tous, ce
qui assurera une uniformité désirable.
Page 5
Semaine du 25 mars
• Java
Semaine du 1er avril
• Programmation parallèle
• Java Threads
Semaine du 8 avril
• Concurrent ML
Lundi 15 avril Remise TP2
Semaine du 15 avril
• Synthèse du cours
Mardi 23 avril Examen 2, 13h30-15h30
Page 6
F. Bibliographie
Manuel(s) obligatoire(s) : Notes de cours
Des notes détaillées qui couvrent toute la matière étudiée dans le cadre de ce cours ont été élaborées par B.
Ktari et le Pr. M. Debbabi. La vente des notes de cours aura lieu du 14 janvier au 25 janvier inclusivement
au local 3370 du pavillon Adrien-Pouliot (lundi au jeudi de 8h00 à 19h00 et vendredi de 8h00 à 17h00). Elle
se poursuivra chez Zone, au local 0128 du pavillon Adrien-Pouliot. Consultez la page du cours pour plus
d`informations.
Manuel(s) recommandé(s) :
• Herbert L. Dershem & Michael J. Jipping. Programming Languages: Structures and Models. Second
edition, ITP (International Thomson Publishing), 1995.
• Ravi Sethi. Programming Languages: Concepts and Constructs. Second Edition, Addison Wesley
1996.
• Ake Wikstrom. Functional Programming Using Standard ML. C.A.R. Hoare Series Editor, Prentice
Hall International Series in Computer Science, 1987, Prentice Hall.
• Lawrence C. Paulson, ML for the working programmer, Cambridge, Cambridge University Press, 1996.
(Bibliothèque scientifique - QA 76.73 M6 P332 1996).
Ouvrage assez complet traitant de la programmation en ML.
• Mary Campione, Kathy Walrath. The Java Tutorial: Object Oriented Programming for the Internet,
1998, Addison Wesley. (Bibliothèque scientifique - QA 76.73 J38 C196 1998).
• Ken Arnold, James Gosling. Le langage Java, 1996, International Thomson Publishing.
• John H. Reppy, Concurrent programming in ML, Cambridge, Cambridge University Press, 1999.
(Bibliothèque scientifique - QA 76.73 M6 R425 1999).
Ouvrage complet écrit par le concepteur de CML.
Page 7
Bonne session et bonne réussite …
Téléchargement
Explore flashcards