Cette unité d’enseignement n’est pas accessible aux étudiants d’échange !
Enseignants
Langue
d'enseignement
d'enseignement
Français
Préalables
Ce cours suppose acquises la maîtrîse de la programmation et de la conception de programmes dans un langage orienté-objet tel que Java, la connaissance de structures de données élémentaires et des notions de récursion et de complexité calculatoire telles que visées par le cours LSINC1402/LEPL1402.
Le(s) prérequis de cette Unité d’enseignement (UE) sont précisés à la fin de cette fiche, en regard des programmes/formations qui proposent cette UE.
Le(s) prérequis de cette Unité d’enseignement (UE) sont précisés à la fin de cette fiche, en regard des programmes/formations qui proposent cette UE.
Thèmes abordés
- Mesures de complexité d'un algorithme et méthodes d'analyse de complexité.
- Algorithmes de tris et recherche dichotomiques.
- Structures de données de base (listes, arbres, arbres binaires de recherche) : étude de leurs propriétés abstraites, de leurs représentations concrètes, de leur application et des principaux algorithmes qui les manipulent.
- Structures de données avancées (union-find, tables de hachage, tas, arbres binaires équilibrés, représentation et manipulation de graphes, traitement de données textuelles, dictionnaires).
Acquis
d'apprentissage
d'apprentissage
A la fin de cette unité d’enseignement, l’étudiant est capable de : | |
Eu égard au référentiel AA du programme « Bachelier ingénieur civil », ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
|
|
Contenu
- Complexité calculatoire,
- Arbres, arbres binaires de recherche,
- Arbres équilibrés,
- Dictionnaires et tables de hachage,
- Files de priorité et tas,
- Graphes
- Manipulation de données textuelles (pattern matching et de compression)
Méthodes d'enseignement
La méthode de pédagogie active suivie dans ce cours est inspirée des classes inversée. Il y a six modules de deux semaines. Chaque module comporte un cours d’introduction à la matière, des exercices théoriques à préparer, des chapitres du livre de référence à lire, un TP de correction des exercices en milieu de modèle, des travaux sur inginious à réaliser (programmes Java) et finalement un cours de restructuration en fin de module. Une des composantes essentielles de cette pédagogie consiste à faire apprendre chaque étudiant par lui-même. La réussite du processus d'apprentissage présuppose donc une implication significative de chaque étudiant.. L'apprentissage proprement dit reste de la responsabilité de chaque étudiant. Pour réussir l’examen il est impératif que l’étudiant programme régulièrement.
Modes d'évaluation
des acquis des étudiants
des acquis des étudiants
Examen sur ordinateur à l’aide d’Inginious https://inginious.info.ucl.ac.be.
Les IA génératives ne peuvent être utilisées à l'examen individuel. Aucune collaboration ou communication n'est autorisée le temps de l'épreuve. Les questions de l'examen sont rédigées en anglais
Un concours algorithmique sera organisé. Une participation active au concours, correspondant à la réussite d’au moins une question, vous rapportera 1 point supplémentaire à l’examen. Dans ce cas, l’examen sera noté sur 19 au lieu de 20, et le point obtenu au concours sera ajouté à cette note.
La participation au concours est facultative : ne pas y participer ne vous pénalisera pas.
Les IA génératives ne peuvent être utilisées à l'examen individuel. Aucune collaboration ou communication n'est autorisée le temps de l'épreuve. Les questions de l'examen sont rédigées en anglais
Un concours algorithmique sera organisé. Une participation active au concours, correspondant à la réussite d’au moins une question, vous rapportera 1 point supplémentaire à l’examen. Dans ce cas, l’examen sera noté sur 19 au lieu de 20, et le point obtenu au concours sera ajouté à cette note.
La participation au concours est facultative : ne pas y participer ne vous pénalisera pas.
Autres infos
Préalables:
- maîtrîser la programmation dans un langage orienté-objet tel que Java
- connaître et utiliser correctement de structures de données élémentaires (piles, files, listes, etc.)
- avoir des notions en matière de récursion et de complexité calculatoire.
Ressources
en ligne
en ligne
https://moodle.uclouvain.be/course/view.php?id=1049 (mainly for communications with students)
https://pschaus.github.io/LINFO1121/ (main website, with the exercices to do each week)
https://pschaus.github.io/LINFO1121/ (main website, with the exercices to do each week)
Bibliographie
Livre obligatoire:
Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne, Addison-Wesley Professional.
ISBN-13: 978-0321573513
ISBN-10: 032157351X
Et plus généralement les documents (énoncés des missions, conseils pour l'examen, ...) disponibles sur : http://moodleucl.uclouvain.be/course/view.php?id=7682
Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne, Addison-Wesley Professional.
ISBN-13: 978-0321573513
ISBN-10: 032157351X
Et plus généralement les documents (énoncés des missions, conseils pour l'examen, ...) disponibles sur : http://moodleucl.uclouvain.be/course/view.php?id=7682
Faculté ou entité
en charge
en charge