l'ÉITI Recherche Nouvelles HREF= RépertoiresRessourcesGénie/EngineeringUd'O/UofOSITESearchNewsDirectoriesResourcesSITE

CSI 3520. CONCEPTS DES LANGAGES DE PROGRAMMATION

Automne 2009: syllabus
(3 heures de cours par semaine, 1.5 heures de laboratoire par semaine, 3 crédits).

Critères de conception et d'évaluation pour langages de programmation. Introduction à 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. Éléments de concurrence. Préalables: CSI2501 et CSI2520.

Objectifs du cours

La présentation des problèmes fondamentaux à la création et à l'utilisation des langages de programmation principaux. La présentation de conceptions et de techniques d’implémentations de différents paradigmes. L'introduction d’un langage script important: Perl . La préparation à l'étude approfondie des langages de programmation, le développement d'une appréciation d'un langage en tant qu'outil pour la construction de logiciel, l'apprentissage du "savoir-faire" qui vous permettra d'évaluer et de choisir un langage qui correspond bien au problème que vous voulez résoudre.

Professeur

Dr. Franck Binard

Bureau: STE 4-035

Téléphone: 562-5800 ext. (Note Importante: il est plus sûr de correspondre avec moi par courriel que par téléphone) Courriel: nat@site.uottawa.ca Heures de consultations:

N'hésitez pas à me poser des questions par courrier électronique. Elles vous y seront répondues, le plus souvent, dans le courant de la journée. Si les heures de bureau ne vous conviennent pas, il est également possible de me consulter dans mon bureau par rendez-vous. Veuillez, s'il vous plait, prendre rendez-vous par email.

Manuel de Cours et Matériel distribué

Robert W. Sebesta, Concepts of Programming Languages, 9th ed., Addison-Wesley, 2010

Le livre sera disponible a la librairie Agora. Vous pouvez acheter vos livres sur l’internet en visitant http://www.agorabookstore.ca/.

Il y a plusieurs avantages à l'achat du livre. L'achat vient avec un code personnel vous donnant accès aux ressources pour étudiants sur le site Web du manuel. Le livre contient aussi des entrevues très intéressantes avec plusieurs des chercheurs qui ont développés les langages modernes les plus populaires: Alan Cooper (Mr. Visual Basic), Rasmus Lerdorf (Mr. PHP), Larry Wall (Mr. Perl), le Professeur Niklaus Wirth (Mr. Euler, Algol-W, Pascal, Modula, Oberon, et un laureat du prix ACM Turing), Bjarne Stroustrup (Mr. C++), et James Gosling (Mr. Java).

Le livre couvre les nouveaux développements, dont le C#. Il y a des notes historiques pour les curieux. Il y a des exercices de programmation pour ceux qui veulent plus d'entraînement. Et, en général, c'est une très bonne référence qui vous servira également plus tard. [Note : Si vous possédez la 7eme édition, vous pouvez aussi l’utiliser.]

Les notes de cours (en PowerPoint) seront postées sur le site Web du cours sur la page Matériel distribué. Nous passerons beaucoup de temps sur les sujets difficiles, et beaucoup moins de temps sur les sujets plus aisés. Certains sujets seront traités (principalement) comme devoirs de lecture.

Du matériel supplémentaire apparaîtra, au fur et à mesure qu'il deviendra utile, sur la page de Matériel distribué.

Nous feront une revue de deux langages de programmation que vous connaissez déjà, et introduiront un nouveau langage (un langage script) : PERL. PERL est bien décrit dans le manuel de cours, mais a également de bonnes descriptions sur le WEB. Voici quelques indicateurs qui vous aideront à prendre un bon départ:

Cours, Laboratoires et Tutoriels

Cours:

Laboratoires: Mardi 13h00-14h30, STE 0130

Tutoriels: Mercredi 11h30-13h00, DMS 9143

Mode d'évaluation

Un maximum de 100 points sera disponible. La division se fait comme suit:

[DEV] devoirs: 36 points
[MI] examen de mi-session (livre fermé, 80 minutes) 20 points
[FIN] examen final (livres fermés, 3 heures) 44 points

Les devoirs, avec leurs sujets projetés, sont décrits en plus de détail un peu plus tard dans ce document. Tous les devoirs seront postés sur le site Web. Les points seront distribués comme suit: 9 + 9 + 9 + 9.

L'examen de mi-session aura lieu le Samedi 14 Octobre (matin). Veuillez, s'il vous plait, faire vos plans d'avance afin de vous assurer d'être présent ce jour là. Veuillez également vous arranger pour arriver en avance afin d'éviter les problèmes au moment de l'assignation de place dans la salle.

Vous devez écrire l'examen de mi-session. Il n'y aura pas d'examen make-up. Si vous avez une raison médicale valide et confirmée par les services de santé de l'Université pour manquer l'examen, j'ajouterais le pourcentage représentant la valeur de l'examen de mi-session à celui de l'examen final.

L'examen de mi-session couvrira les sujets 1-6, ainsi que Unix et certaines connaissances de base, telles que Scheme et Prolog. (Les Sujets sont décrits un peu plus loin dans ce document.). Le Sujet 6 ne sera pas couvert en grande profondeur étant donne qu’il sera assez nouveau pour vous au moment de l’examen.

Les deux examens seront principalement composés de questions à choix multiple avec quatre choix possibles. Il y aura également quelques questions a réponse ouverte. Contrairement a ce que beaucoup de gens pensent, les examens composés de questions à choix multiples ne sont pas nécessairement facile. En effet, les deux examens vous demanderont une compréhension profonde du matériel, et ils testeront toutes vos connaissances, mis à part votre aptitude à la programmation. Celle-ci sera exercée principalement dans vos devoirs.

A l'examen de mi-session, vous aurez le droit à une feuille de rappel. Celle-ci devra avoir le format suivant: US Letter size (8.5 par 11 pouces), écrite a la main des deux côtés. Les loupes ne sont pas permises! A l'examen final, vous aurez le droit à deux feuilles de rappel.

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 numérique sera calculée comme ceci:

Si (MI + FIN) < 32

Alors Note = (MI + FIN) * 1.5

Sinon Note = MI + FIN + DEV

La note alphabétique finale sera calculée en fonction de l'échelle en vigueur à l'Université d'Ottawa (90% ou plus = A+; moins de 55% = D ou moins = Echec).

Devoirs -- details

Sujets tentatifs Posté - Rendu
Préliminaires; Histoire; Scheme, Prolog; Unix
[Sujets 1-3, 9 points]
18 Sep. - 29 Sep.
Grammaires; Sémantique axiomatique ; Analyse Syntaxique
[Sujets 4-6, 9 points]
29 Sep. - 16 Oct.
Perl
[Sujet 7, 9 points]
16 Oct. - 6 Nov.
ML, Caractéristiques de Conception
[Sujets 8-11, 9 points]
13 Nov. - 27 Nov.

Les devoirs 2 sera écrit. Devoir 3 sera purement un devoir de programmation; Devoir 1 et 4 seront mixtes. \ Nous déterminerons et annoncerons plus tard le mode de retour du code de vos devoirs.

Les devoirs en retard seront acceptés avec une pénalité de 0.5 points par jour pendant les semaines et 0.25 points par jour pendant les fins de semaine et jours fériés. (Cela correspond à 0.5% ou 0.25% de votre note finale puisque chaque point correspond a 1% de votre note finale.).

Si vous n'êtes pas d'accord avec la note qui vous a été assignée à un devoir, discutez-en, s'il vous plait, avec votre assistant a l'enseignement. Les appels ne seront considérés pas plus tard que deux semaines après le retour des notes. Si vous n'êtes toujours pas d'accord avec les explications supplémentaires de votre assistant à l'enseignement, alors à ce moment là, venez me parler du problème.

Veuillez prendre note que les sujets 8-11 ne seront pas couverts par les devoirs. Néanmoins, ils seront amplement couverts pendant les laboratoires. Le sujet 11 ne sera pas discuté en Laboratoire.

Plan des laboratoires

  1. Introduction a Unix/Linux.
  2. Introduction a Unix/Linux.
  3. Grammaires.
  4. Grammaires ; Sémantique Axiomatique.
  5. Sémantique Axiomatique.
  6. Analyze Syntactique.
  7. Perl.
  8. Perl.
  9. méga-sujet 8.
  10. méga-sujet 8.
  11. Implantation des sous-programmes.
  12. Parallelisme.

Franck Binard
School of Information Technology and Engineering (SITE)
University of Ottawa
800 King Edward Ave.
Ottawa, Ontario, Canada, K1N 6N5
Tel: (613) 562-5800 x6694, Fax: (613) 562-5664
Office: 5-068 SITE
Email: fbinard@site.uottawa.ca
Contactez: L'École d'ingénierie et de technologie de l'information /
Contact: School of Information Technology and Engineering
Copyright © Université d'Ottawa / University of Ottawa
Webmestre / Webmaster