CSI 3520
Concepts des Langages de Programation
Description
Criteres de
conception et d' evaluation pour langages de programmation. Introduction a leur
description syntaxique et semantique. Principes d'implementation. Langages de
script. Comparaison de choix de conception selon le paradigme de programmation:
objets, types, structures de controle, sous-programmes. Elements de concurrence.
Prealables
CSI2501,
CSI2520.
Objectifs du Cours
La presentation des
problemes fondamentaux a la creation et a l'utilisation des langages de
programmation principaux. La presentation de conceptions et de techniques
d'implementations de differents paradigmes. L'introduction d'un langage script
important: Perl . La preparation a l'etude approfondie des
langages de programmation, le developpement d'une appreciation d'un langage en
tant qu'outil pour la construction de logiciel, l'apprentissage du
"savoir-faire" qui vous permettra d'evaluer et de choisir un langage
qui correspond bien au probleme que vous voulez resoudre. Voir la rubrique
Sujets, ci-dessous, pour plus de detail.
Professeur
Dr. Nathalie Japkowicz
E-mail: nat@site.uottawa.ca
Bureau: STE 5-029,
Heures de consultation: Lundi 11h30-13h30
Heures de Cours et Locaux:
Lundi, 17h30-19h00, KED B004
Mercredi, 13h00-14h30, STE C0136
TA
Ahmed Jedda
E-mail: ajedd077@uottawa.ca
Site Web pour Laboratoires: Labs
Laboratoires et Locaux:
Lundi, 19h00-20h30, STE 2052
Manuel de Cours:
Robert W. Sebesta,
Concepts of Programming Languages, 10th ed., Addison-Wesley, 2012. Available from the University Bookstore.
Evaluation:
Devoirs et Examens:
Devoirs :
Sujets (Tentatifs) |
Distribue-A Rendre |
Preliminaires; Histoire; Scheme, Prolog |
18 Sep. - 2 Oct. |
Grammaires; Semantique
Axiomatique; Analyse Syntactique |
2 Oct. - 23 Oct. |
Perl |
30 Oct. - 13 Nov. |
ML; Caracteristiques de Conception |
13 Nov. - 2 Dec. |
Le devoir 2 sera par ecrit. Le devoir 3 sera purement un
devoir de programmation; Les devoir 1 et 4 seront mixtes. Nous determinerons et
annoncerons plus tard le mode de retour du code de vos devoirs. Les devoirs en
retard seront acceptes avec une penalite de 10% par jour pendant les semaines
et de 5% par jour pendant les fins de semaine et jours feries.
Examens
Il y aura deux examens : un examen de mi-session et un examen
final.
L'examen de mi-session couvrira les sujets 1-6 (voir ci-dessous), ainsi que quelques sujets
de revue dont le Prolog et
le Scheme. Vous devez ecrire l'examen de mi-session. Il n'y aura pas
d'examen de remplacement (make-u). Si vous avez une
raison medicale valide qui explique votre abscence a
l'examen (cette raison doit etre confirmee par les services de sante de l'Universite),
j'ajouterais le pourcentage representant la valeur de l'examen de mi-session a
celui de l'examen final. L'examen final couvrira tous les sujets, avec une
emphase legere sur les sujets 7-12.
Examen de Mi-Session----------
28 Octobre (en classe)
Examen Final----------------------
TBA
Sujets:
Nous commencerons par un survol du cours et une revue des connaissances
prealables (Veuillez lire les chapitres 15 et 16 afin
de rafraichir vos connaissances du Prolog et du Scheme).
1.
Criteres,
classification, applications
(chapitre 1).
2.
Revue du Scheme et du Prolog (chapitres
15 et 16, principalement, un devoir de lecture.)
3.
Evolution des
langages de programmation principaux
(chapitre 2, principalement, un devoir de lecture).
4.
Description de la
syntaxe des langages de programmation
(sections 3.1-3.3).
5.
Description de la
semantique des langages de programmation
(section 3.5.2).
6.
Analyse
Syntaxique ; Parsing
(sections 4.4.2 et 4.5).
7.
Une introduction au
Perl
(materiel distribue, et enormement de choses
sur le Web, en commencant par le site principal Perl).
8.
Une introduction au
ML
(examples et materiel
distribue sur le Web)
9.
Noms, attachements,
verification de type, et etendues ; Types de donnees ; Expressions et
la commande d'assignation ; Structure de control; Sous-programmes (C'est
en fait un mega-sujet J )
(chapitres 5-9.).
10.
L'implementation de sous-programmes
(sections 10.1-10.4).
11.
Parallelisme
(sections 13.1-5, 13.7)
Sujets: |
||
Semaine |
Numeros de Sujets |
Lecturess |
4 Septembre |
Bienvenue, Preliminaires |
|
9-11 Septembre 16-18 Septembre 23-25 Septembre 30 Septembre Octobre 7-9 Octobre 14-16 Octobre
21-23 Octobre 28-30 Octobre 4-6 Novembre 11-13 Novembre 18-20 Novembre 25-27 Novembre 2 Decembre |
1, 2 2, 3 4 5 6 SEMAINE DE RELACHE 7, Revue MI-SESSION, 7 7, 8 8, 9 9 10, 11 Revue Finale |
Chapitres 1, 15 & 16 Chapitres 15, 16 & 2 Chapitre 3 (Sections 3.1-3.3) Chapitre 3 (Section 3.5.2) Chapitre 4 (Sections 4.4.2 and 4.5) SEMAINE DE RELACHE Materiel Distribue Materiel Distribue Materiel Distribue Materiel Distribue,
Chapitres 5-9 Chapitres 5-9 Chapitre 10 (Sections 10.1-4) Chapitre 13 (Sections 13.1-5, 13.7) |