ALG - Algorithmique III
Appartient à l'UE Algorithmique III
Personnes enseignantes
Description technique du cours
- Nombre de crédits : 4
- Nombre d’heures de cours : 48
- Nombre d’heures de travail hors cours (estimation) : 72
- Format du cours : classe
- Langue d’instruction : français
- Implantation : HE2B – ESI
- Pré-requis : ALG2, MAT1
Description générale du cours
Algorithmes et structures de données
Objectifs généraux
Au terme de l’activité d’apprentissage, l’étudiante ou l’étudiant sera en mesure de
- appliquer des algorithmes vus au cours à des situations nouvelles,
- analyser un problème en vue de déterminer une solution algorithmique,
- créer des structures de données adaptées aux problèmes à résoudre
Acquis d’apprentissage spécifiques sanctionnés par l’évaluation
Au terme des séances, l’étudiante ou l’étudiant sera évalué sur sa capacité à :
L’étudiant·e sera capable de :
- maitriser des nouvelles structures de données (liste chainée, piles, files, arbres, graphes, associations) ;
- reconnaitre les situations et problèmes dans lesquels ces structures offrent des solutions efficaces et performantes ;
- décrire des algorithmes vus au cours ;
- comprendre et mettre en oeuvre des procédés algorithmiques basés sur ceux vus au cours ;
- décrire une nouvelle structure de données en terme de structures plus simples ;
- comparer différents algorithmes en vue de faire un choix raisonné sur base de critères comme la complexité algorithmique. ;
- décrire des algorithmes qui utilisent les interfaces données au cours, et obéissant à des critères d’efficience algorithmique. ;
- décliner un algorithme en une variante destructive et non-destructive, lorsque cela est pertinent.
Acquis terminaux visés
Au sein de la formation de bachelier en informatique, cette activité d’apprentissage aura participé à l’acquisition des compétences suivantes.
Communiquer et informer
- Choisir et utiliser les moyens d’informations et de communication adaptés.
- Mener une discussion, argumenter et convaincre de manière constructive.
- Utiliser le vocabulaire adéquat.
Collaborer à la conception, à l’amélioration et au développement de projets
- Analyser une situation donnée sous ses aspects techniques et scientifiques.
S’engager dans une démarche de développement professionnel
- S’informer et s’inscrire dans une démarche de formation permanente.
- Développer une pensée critique.
- Travailler tant en autonomie qu’en équipe dans le respect de la structure de l’environnement professionnel.
Mobiliser les savoirs et les savoir-faire lors du développement d’applications
- Concevoir, implémenter et maintenir des algorithmes répondant aux spécifications et fonctionnalités fournies.
Modalités d’évaluations
Tant en première qu’en deuxième session, la note finale est celle d’un examen écrit, pour 100% de la note.
L’examen est sur papier, dure environ 3h, sans ordinateur ni notes, à l’exception d’un exemplaire non-annoté de l’aide-mémoire se trouvant en fin de syllabus.
Contenus
- Listes chaînées (et variantes)
- Piles
- Files
- Récursivité
- Association (y compris table de hachage)
- Arbres
- Graphes
- Backtracking