Cours INFO - introduction à la théorie des graphes
Info 3 - Algorithmique & Programmation
| Résultats d’apprentissage | Situations d’observation des RA |
|---|---|
| Analyser les messages d'erreur (issues de jeux de test, de l’interpréteur Python...), identifier les causes d'anomalie et appliquer les correctifs appropriés. | L'étudiant interprète la cause de l'anomalie, observe l'évolution des variables par un affichage approprié ou au débogueur et corrige le code — évalué en TP (échelle NAMEO) |
| Rédiger un programme Python implémentant un algorithme donné (description textuelle ou pseudo-code) et le livrer exécutable avec jeux de données fournis | Le programme s’exécute sans erreur sur les jeux de test fournis et produit les sorties attendues (tests unitaires fournis) — évalué en TP (échelle NAMEO). |
| Concevoir et implémenter une structure de données (p.ex. liste chaînée, pile, file, arbre) en Python, avec API documentée et tests unitaires démontrant les opérations de base | Implémentation + documentation + tests unitaires couvrant opérations essentielles (complexités attendues) — évalué en TP (échelle NAMEO) |
| À partir d’un jeu de données, construire la représentation d’un graphe (liste d’adjacence ou matrice) et appliquer au moins deux algorithmes de base (parcours BFS/DFS, plus court chemin simple) | Script qui lit les données, crée le graphe, produit les résultats des algorithmes et les affiche; rapport expliquant choix et complexité — évalué à l'aide du cahier de bord (oui / non) |
| Identifier la complexité temporelle/mémoire d’un algorithme donné pour proposer et implémenter une optimisation faisant chuter la complexité asymptotique. | Évalué en devoir surveillé (oui / non) |
| Traduire un problème applicatif donné en un modèle algorithmique formel, énoncer les hypothèses et produire une solution algorithmique, l'implémenter, la documenter et l'appliquer sur des jeux de test | Document de modélisation (description, schéma, choix de représentation), revue de code et validation de la performance sur des instances données — évalué à la remise du projet (oui / non) |
| Expliquer une problématique et un algorithme à un public non initié | Vidéo de présentation de 3 min — évalué à la remise du projet (observé / non observé) |
| Comparer des structures de données pour faire un choix argumenté sur la base de complexités et contraintes (mémoire, insertion/suppression, accès) | Tableau comparatif montrant que le choix est justifié — évalué en devoir surveillé (oui / non) |
| Utiliser Git/gitlab pour collaborer et gérer les versions d'un projet. | Dépôt avec historique de commits, tickets, PR et assignations montrant traçabilité et répartition — évalué à la remise du projet (oui / non) |
| Échelle NAMEO | |
|---|---|
| Aucune compétence observée | 0 |
| Notions | N |
| Application : capacité à mettre en œuvre la compétence en étant guidé | A |
| Maîtrise : capacité à mettre en œuvre la compétence de manière autonome | M |
| Expertise : capacité à guider un tiers sur la mise en œuvre de la compétence | E |
Cours INFO - introduction à la théorie des graphes
Info 3 - Algorithmique & Programmation