| ||||
Sigle : INF4083 Gr. 01 Titre : Langages de programmation Session : Hiver 2016 Horaire et local Professeur : Audet, François | ||||
1. Description du cours paraissant à l'annuaire : | ||||
ObjectifsPrésenter à l'étudiant les concepts fondamentaux des langages de programmation modernes. Lui présenter les différents paradigmes de programmation en soulignant les avantages et les limites de chaque paradigme.ContenuStructure interne des langages : structures de contrôle, structures de données, structuration de code. Types d'appels, portée, conversion de types, polymorphisme, encapsulation (module, classe), héritage, généricité. Traitement d'exceptions. Concurrence. Syntaxe et Sémantique formelles. Paradigmes de programmation : procédural, fonctionnel, orienté objet, parallèle et logique. Étude comparative de langages parmi: C, C++, Java, Ada, Prolog, SmallTalk, ML. Ce cours comporte des séances obligatoires de travaux dirigés (TD) de deux heures par semaine. | ||||
2. Objectifs spécifiques du cours : | ||||
Un demi-siècle de l'histoire de l'informatique nous a produit des milliers de langages de programmation et des nouveaux langages ne cessent d'être inventés. Cela indique que l'ultime "langage de programmation" n'existe pas. D'où l'importance d'une d'une connaissance générale des concepsts fondamentaux des langages de programmation existants afin de pouvoir apprendre des nouveaux langages ou de choisir le plus approprié pour une tâche donnée. Plus spécifiquement :
| ||||
3. Stratégies pédagogiques : | ||||
Ce cours est donné principalement sous forme magistrale, accompagné par des exercices de compréhension à faire en dehors des heures de cours. Deux devoirs sont prévus afin de consolider les notions vues en classe. | ||||
4. Heures de disponibilité ou modalités pour rendez-vous : | ||||
Les heures de disponibilité et les modalités de consultations seront communiquées lors du premier cours. | ||||
5. Plan détaillé du cours sur 15 semaines : | ||||
Semaine | Thèmes | Dates | ||
1 |
Principaux paradigmes des langages de programmation
|
13 jan. 2016 | ||
2 |
Descriptions des langages - Énoncé du projet 1
Travaux dirigés #1 (25 janvier 2016) |
20 jan. 2016 | ||
3 |
Identificateurs, portées et liaisons
Travaux dirigés #2 (1er février 2016) |
27 jan. 2016 | ||
4 |
Analyse sémantique et contrôle du flux d'exécution
Travaux dirigés #3 (8 février 2016) |
03 fév. 2016 | ||
5 |
Types de données
Travaux dirigés #4 (15 février 2016) |
10 fév. 2016 | ||
6 |
Sites routines et contrôle
Travaux dirigés #5 (22 février 2016) |
17 fév. 2016 | ||
7 | Examen de mi-trimestre | 24 fév. 2016 | ||
8 | Semaine d'études | 02 mars 2016 | ||
9 |
Programmation orientée objet
Travaux dirigés #6 (14 mars 2016) |
09 mars 2016 | ||
10 |
Programmation logique - Énoncé du projet 2
Travaux dirigés #7 (21 mars 2016) |
16 mars 2016 | ||
11 |
Langages fonctionnels : Lambda-calcul
Pas de travaux dirigés le 28 mars 2016 (Lundi de Pâques) |
23 mars 2016 | ||
12 |
Langages fonctionnels : Haskell
Travaux dirigés #8 (4 avril 2016) |
30 mars 2016 | ||
13 |
Langages fonctionnels : Haskell (suite)
Travaux dirigés #9 (11 avril 2016) |
06 avr. 2016 | ||
14 |
Colatéralité et parallélisme
Travaux dirigés #10 (18 avril 2016) |
13 avr. 2016 | ||
15 | Examen final | 20 avr. 2016 | ||
6. Évaluation du cours : | ||||
L'évaluation est l'appréciation du niveau d'apprentissage atteint par l'étudiant par rapport aux objectifs des cours et des programmes. Dans le cas spécifique du cours Langages de programmation l'attribution des notes sera la somme des 2 travaux pratiques et des 2 examens. Les travaux pratiques comptent pour 20 points chaque, et les examens comptent pour 30 points chaque. | ||||
7. Politiques départementales et institutionnelles : | ||||
| ||||
8. Principales références : | ||||
Manuels recommandés
| ||||
9. Page Web du cours : | ||||
https://moodle.uqo.ca |