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

Bibliographie