CSI 3520
Concepts des Langages de Programation
Description
Critères de
conception et d'évaluation pour langages de programmation. Introduction a leur
description syntaxique et sémantique. Principes d'implémentation. Langages de script.
Comparaison de choix de conception selon le paradigme de programmation: objets,
types, structures de contrôle, sous-programmes. Eléments de concurrence.
Préalables
CSI2501,
CSI2520.
Objectifs du Cours
La présentation des
problèmes fondamentaux a la création et a l'utilisation des langages de programmation
principaux. La présentation de conceptions et de techniques d'implémentations
de différents paradigmes. L'introduction au Perl, un langage script important, et
au R, un environement important pour le calcul
statistique et les graphiques. 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, LMX 112
·
Mercredi, 13h00-14h30, LMX 106
TA
TBA
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. |
R; 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 absence à 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----------
22 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).
******* Les notes de cours
et les devoirs sont disponibles ICI *******
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
R
(examples et materiel distribue sur le Web, en commençant par le site
principal R)
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 |
3 Septembre |
Bienvenue, Preliminaires |
|
8-10 Septembre 15-17 Septembre 22-24 Septembre 29 Septembre- 1 Octobre 6-8 Octobre 13-15
Octobre 20-22 Octobre 22-29 Octobre 3-5 Novembre 10-12 Novembre 17-19 Novembre 24-26 Novembre 1 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) |