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