CSI3525 Concepts des Languages de Programmation



OBJECTIFS DU COURS: Ce cours a trois objectifs. Tout d'abord, l'etude de concepts de base communs a tous les languages de programmation tels que les criteres d'evaluation de ces languages, leurs modes d'implementation, et leurs methodes de description syntaxique et semantique. Ensuite, l'etude des different paradigmes de programmation dont la programmation imperative, la programmation orientee objet, la programmation logique et la programmation fonctionnelle. Finalement l'etude de certain languages qui examplifient ces paradigmes.
PROFESSEUR: Nathalie Japkowicz
Bureau: MCD 325-C
Telephone: 562-5800 ext. 6693
Courriel: nat@site.uottawa.ca
Consultation: Lundi, 13h15-14h15 et 16h15-17h15
PREALABLES: 1. CSI 2514
2. Deux laboratoires de languages de programmation choisis parmi CSI 2565 et (CSI 2571 ou CSI 2572 ou CSI 2573) et 2574

Note: Ce cours ne peut etre combine avec CSI 2515 pour l'obtention de credits
MANUEL DE COURS: Titre: Concepts of Programming Languages,
Fifth edition, 2001
Auteur: Robert W. Sebesta
Edition: Addison Wesley
Disponibilite: Ce livre sera disponible a Benjamin Books dans la rue Osgoode.
COURS: Lundi 14h30-15h50, Colonel By Hall: B202;
Jeudi 16h00-17h20, Colonel By Hall: B202;
GROUPE DE DISCUSSION: Lundi 16h00-18h00, Vanier Hall: 469 (ou Cube 103 lorsqu'annonce)
EVALUATION: Devoirs ............................................... 35%
Examen Intra-Session ........................ 20%
Examen Final ................................... 45%

Les deux examens seront a choix multiple avec un choix entre 5 alternatives. Afin de prendre en consideration les devinettes chanceuses (!), un facteur de correction sera utilise dans le calcul des notes d'examens. Par example, pour un examen ayant une valeur de 18 points et comportant 10 questions, il sera assume qu'une reponse sur cinq peut etre due a un coup de chance. Deux questions exactes vous donnerons donc un score de zero. 3, 4, ..., 10 questions exactes vous donnerons les scores de 2.25, 4.50, ..., 18.00, selon la formule max(questions_exactes - 2 , 0) * 2.25

De plus, l'Ecole d'Ingenierie et de Technologie de l'Information exige l'obtention d'une note d'un minimum de 50% aux examens. La note numerique sera calculee comme ceci:
Si (Intra-Session + Final) < 32.5
Alors Note-Numerique = (Intra-Session + Final) * 1.5
Sinon Note-Numerique = Intra-Session + Final + Devoirs

La note alphabetique finale sera calculee en fonction de l'echelle en vigueur a l'Universite d'Ottawa (90% ou plus = A+; moins de 55% = D ou moins = Echec).
RETARD DANS LA REMISE DES TRAVAUX: Un retard dans la remise des travaux conduit a une penalite de .5% de la note finale par jour ouvrable et de .25% de la note de cours par jour de fin de semaine ou jour ferie.
DISTRIBUTION DES NOTES DE COURS ET DES DEVOIRS: Les notes de cours et les devoirs (en Francais) seront accessible electroniquement en suivant les liens a partir du plan de cours ci-dessous. Les notes de cours de la version Anglaise peuvent-etre obtenus ici




Plan du Cours:


Semaine/Devoirs

Sujet du Cours

Chapitres et Autres Lectures

Semaine 1: 4 Sept- 7 Sept

Preliminaires, Motivation et Historique
Fichier Powerpoint

Chap. 1 (Sections 1.1 and 1.2) & Chap 2

Semaine 2: 10 Sept-14 Sept

Preliminaires, Motivation et Historique (Continuation)

Criteres d'Evaluation des Languages
Fichier Powerpoint

Conception et Implementation des Languages
Fichier Powerpoint
Example d'un programme en APL

Notes du Groupe de Discussion
Fichier html

Chap. 1 (Sections 1.3-1.8)

Semaine 3: 17 Sept- 21 Sept

Methodes de description syntaxique
Fichier Powerpoint
Example de Grammaires

Notes du Groupe de Discussion
Fichier html
Fichier html

Chap. 3 (Sections 3.1-3.4)

Semaine 4: 24 Sept- 28 Sept

Devoir # 1 (Par Ecrit):
Vue du Devoir (en fichier Word, 3 pages)

Sujet: Proprietes des Langages de Programmation; Histoire; Grammaires
Distribue: Lundi, Semaine 4
A rendre: Lundi, Semaine 5
Corrige: Correction du Devoir # 1

Methodes de description Semantique
Fichier Powerpoint

Notes du groupe de discussion
Fichier html

Chap. 3 (Sections 3.5-3.6)

Semaine 5: 1 Oct- 5 Oct

Devoir # 1: A rendre Lundi

Devoir # 2 (Par Ecrit + Programmation):
Vue du Devoir (en fichier Word)
Sujet: Semantique Axiomatique + Prolog
Distribue: Lundi, Semaine 5
A rendre: Jeudi, Semaine 6
Corrige: Correction du Devoir # 2

Introduction au Scheme
Fichier Powerpoint
Notes de la Section Anglaise
Tout le code des notes de Scheme

2 Manuels de Reference pour le Scheme
Manuel de MIT,
Manuel de UTexas

Notes du groupe de discussion
Fichier html

Chap. 15 (Sections 15.1-15.6)

Semaine 6: 8 Oct-12 Oct

Devoir # 2: A rendre Jeudi

Devoir # 3 (Programmation):
Vue du Devoir (en fichier Word)

Sujet: Programmation en Scheme
Distribue: Jeudi, Semaine 6
A rendre: Vendredi, Semaine 7
Corrige: Correction du Devoir # 3

Lundi 8 Octobre: Conge de l'Action de Grace

Jeudi 11 Octobre: Introduction au ML
Fichier Powerpoint
Notes de la Section Anglaise
Tout le code des notes de ML

Notes du Groupe de Discussion
Fichier html

Chap. 15 (Section 15.7) + Polycopie (Notes de la Section Anglaise)

Semaine 7: 15 Oct - 19 Oct

Devoir # 3: A rendre Vendredi

Lundi 15 Octobre: Introduction au ML (Continuee)

Jeudi 18 Octobre: Revisions pour l'examen intra-session.

Chap 15 (Sections 15.7)

Semaine 8: 22 Oct - 26 Oct

EXAMEN INTRA-SESSION:
Lundi 22 Octobre
CORRIGE

Jeudi 25 Octobre: Introduction au Perl
Fichier Powerpoint
D'autres examples (PDF)
Tout le code des notes de Perl (et XML)

Notes du Groupe de Discussion
Fichier html

Polycopie + Pleins de choses sur le Web

Semaine 9: 29 Oct - 2 Nov

Devoir # 4 (Programmation):
Vue du Devoir (en fichier Word)

Sujet: Programmation en ML; Scripts Simples en Perl
Distribue: Jeudi, Semaine 9
A rendre: Lundi, Semaine 11

Introduction au Perl (Continuee)

Introduction au XML
Fichier Powerpoint
Tout le code des notes de (Perl et) XML

Notes du Groupe de Discussion
Fichier html

Polycopie + encore une fois, plein de choses sur le Web

Semaine 10: 5 Nov - 9 Nov

Introduction au XML (Continuee)

Variables, Attachement, Verification du Type, et Etendue
Fichier Powerpoint

Notes du Groupe de Discussion
Fichier html

Chap. 5

Semaine 11: 12 Nov - 16 Nov

Devoir # 4: A rendre Lundi

Type de Donnees
Fichier Powerpoint

Expressions, Allocation
Fichier Powerpoint

Chap. 6 & 7

Semaine 12: 19 Nov - 23 Nov

Devoir # 5 (Programmation et Ecrit):
Vue du Devoir, 1ere Partie
Vue du Devoir, 2eme Partie
Distribue: Lundi, Semaine 12
A rendre: Jeudi, Semaine 13

Structures de Controle
Fichier Powerpoint

Sous-Programmes
Fichier Powerpoint

Chap. 8 & 9

Semaine 13: 26 Nov - 30 Nov

Devoir # 5: A rendre Jeudi

Implementation des Sous-Programmes
Fichier Powerpoint

Types Abstraits de Donnees
Fichier Powerpoint

Chap. 10 (Sections 10.3-10.4)

Chap 11 (quelques fragments)

Semaine 14: 3 Dec - 7 Dec

Lundi 3 Decembre:
Revisions

Guide de Revisions pour l'examen final

EXAMEN FINAL: Jeudi 6 Decembre

Toutes les sections du livre couvertes en cours et tous les polycopies