| ||||
Sigle : INF4083 Gr. 01 Titre : Langages de programmation Session : Hiver 2018 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 centaines 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 connaissance générale des concepts fondamentaux des langages de programmation existants afin de pouvoir rapidement 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
|
10 jan. 2018 | ||
2 |
Descriptions des langages - Énoncé du projet 1
|
17 jan. 2018 | ||
3 |
Identificateurs, portées et liaisons
TD #1 (23 janvier 2017) |
24 jan. 2018 | ||
4 |
Analyse sémantique et contrôle du flux d'exécution
TD #2 (30 janvier 2017) |
31 jan. 2018 | ||
5 |
Types de données
TD #3 (6 février 2017) |
07 fév. 2018 | ||
6 |
Sous-routines et contrôle
TD #4 (13 février 2017) |
14 fév. 2018 | ||
7 |
Examen de mi-trimestre
TD #5 (20 février 2017) |
21 fév. 2018 | ||
8 | Semaine d'études | 28 fév. 2018 | ||
9 |
Programmation logique - Énoncé du projet 2
|
07 mars 2018 | ||
10 |
Langages fonctionnels : Lambda-calcul
TD #6 (13 mars 2017) |
14 mars 2018 | ||
11 |
Langages fonctionnels
TD #7 (20 mars 2017) |
21 mars 2018 | ||
12 |
Langages fonctionnels
TD #8 (27 mars 2017) |
28 mars 2018 | ||
13 |
Colatéralité et parallélisme
TD #9 (3 avril 2017) |
04 avr. 2018 | ||
14 |
Présentations et révision
TD #10 (10 avril 2017) |
11 avr. 2018 | ||
15 | Examen final | 18 avr. 2018 | ||
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 |