Enseigner la programmation avec l’IA : que prouve encore la remise d’un code ?
Lorsque des outils d’intelligence artificielle sont disponibles, la remise d’un programme fonctionnel ne permet plus, à elle seule, de démontrer de manière fiable les compétences réelles des étudiants. Ont-ils compris le problème ? Ont-ils identifié les erreurs et pris leurs propres décisions ? Trois formats d’apprentissage et trois critères d’évaluation montrent comment il est possible d’évaluer la sélection d’informations pertinentes, la formulation ciblée de requêtes de suivi et la vérification des résultats, sans engendrer une charge de travail déraisonnable.
Les remises de code perdent leur valeur probante
Un programme fonctionnel n’a jamais constitué une preuve absolue de travail autonome, mais il fournissait néanmoins un indice important. Les grands modèles de langage sont désormais capables de produire un résultat exploitable sans que l’étudiant comprenne les étapes décisives du raisonnement. Ce problème d’évaluation devient encore plus marqué lorsque l’usage de l’IA est autorisé : le produit final n’apporte alors qu’un nombre limité d’indices sur les compétences effectives de son auteur.
L’interdiction de l’IA ne résout pas le problème. Dans une étude contrôlée, un niveau de confiance plus élevé envers l’IA était associé à une moindre capacité à distinguer les suggestions correctes des suggestions erronées [1]. L’étude [2] a montré que les solutions entièrement générées par l’IA amélioraient les performances dans les tâches, en particulier chez les débutants, sans toutefois produire de gains de connaissances systématiques. L’étude [3] a constaté que les étudiants travaillaient plus rapidement et produisaient un meilleur code, mais que les progrès en matière de compréhension demeuraient variables. Dès lors qu’un cours autorise l’usage de l’IA, la capacité à interagir avec celle-ci de manière critique doit devenir un objectif d’apprentissage explicite.
Ce qui doit toujours être appris
La pensée algorithmique, la lecture de code, le débogage, les tests et la structuration des programmes demeurent des objectifs pédagogiques fondamentaux. Sans ces compétences, il est impossible d’évaluer correctement une solution produite avec l’aide de l’IA.
Prenons l’exemple d’un exercice consistant à lire un fichier texte tabulaire, à gérer des lignes incomplètes et à calculer des moyennes. L’IA fournit rapidement un programme fonctionnel. Mais l’étudiante a-t-elle également pris en compte les valeurs manquantes, les différents séparateurs décimaux, les lignes d’en-tête dupliquées, les problèmes d’encodage des caractères ou encore les divisions par zéro ? Des tests adaptés permettent de déterminer si elle a réellement compris la tâche.
L’enseignement devrait conserver une progression par étapes : d’abord, les étudiants écrivent, lisent et corrigent du code sans IA. Ensuite, ils comparent les explications, analyses d’erreurs ou idées de tests proposées par l’IA à leur propre travail. Ce n’est qu’ultérieurement que la collaboration avec l’IA devient elle-même un objectif d’apprentissage.
Trois formats pédagogiques
1. Sélectionner les informations pertinentes
À partir d’un programme, d’un message d’erreur et de plusieurs fichiers, les étudiants constituent un dossier d’informations comprenant l’erreur observée, le comportement attendu, des extraits de code pertinents et une exigence spécifique au domaine concerné. Ils identifient ensuite quelles affirmations de la réponse de l’IA peuvent être vérifiées à l’aide de l’énoncé, du code et des tests.
Dans le cas d’un programme défectueux de lecture de fichiers, ils doivent par exemple déterminer quelles informations sont réellement pertinentes : le fichier journal, l’interface utilisateur, la fonction concernée ou les tests. La sélection, la justification et la vérification font l’objet de l’évaluation. Pour les débutants, le choix peut être limité à quelques extraits préalablement signalés.
2. Corriger une suggestion erronée
Dans un exercice d’analyse d’erreur, les étudiants examinent une proposition de l’IA presque correcte. Ils identifient l’erreur restante, ajoutent les tests manquants et expliquent pourquoi la suggestion initiale est insuffisante. Ils s’exercent ainsi à lire du code et à remettre en question une solution apparemment plausible.
3. Justifier un projet réalisé avec l’aide de l’IA
Dans le cadre d’un petit projet, l’IA peut être utilisée de manière extensive. Chaque modification importante est vérifiée de manière appropriée et brièvement justifiée ; lorsque le comportement attendu peut être spécifié clairement, cette vérification inclut un test automatisé.
Une fiche de solution de cinq lignes permet de limiter la charge de travail :
- le problème formulé avec ses propres mots ;
- la sous-tâche confiée à l’IA ; le d
- faut relevé dans le résultat produit par l’IA ;
- l’amélioration demandée et sa justification ;
- la vérification effectuée au moyen de tests automatisés, d’une inspection visuelle manuelle ou de l’observation du comportement à l’exécution.
Cette fiche complète le programme et les tests ; pour des travaux plus conséquents, elle peut être complétée par un entretien oral.
Évaluer la compréhension, le résultat et l’usage de l’IA
Les trois critères suivants constituent un cadre d’évaluation adaptable :
- Compréhension du domaine : l’étudiant est-il capable d’expliquer les exigences, l’approche de résolution, les hypothèses retenues et les cas limites critiques ?
- Qualité et vérification de la solution : une stratégie de test appropriée a-t-elle été choisie ? Les tests automatisés couvrent-ils le comportement spécifié ainsi que les cas limites critiques ?
- Usage raisonné de l’IA : dans quelle mesure l’étudiant est-il capable a) de sélectionner les informations pertinentes, b) de reconnaître qu’une exigence n’a pas été satisfaite et c) de formuler une requête de suivi appropriée ?
Une instruction telle que « Trouve toutes les erreurs et corrige-les » révèle peu de discernement disciplinaire. Une formulation plus pertinente serait par exemple : « Pour les entrées négatives, la fonction renvoie une valeur au lieu d’un message d’erreur. Corrige ce cas, ne modifie pas l’interface et ajoute un test approprié. » Toutefois, même une telle requête peut avoir été copiée ou générée par l’IA. Elle ne doit être prise en compte que si l’étudiant est capable d’expliquer son lien avec les exigences du problème et de vérifier la modification réalisée. La formulation linguistique en tant que telle n’est pas évaluée.
De courtes tâches réalisées sans IA permettent de mettre en évidence les connaissances fondamentales. Pour les projets, des vérifications orales ponctuelles sont utiles : pourquoi ce fichier était-il important ? Quel test aurait permis de réfuter la proposition? Quelle hypothèse formulée par l’IA était erronée ?
Toutes les activités n’ont pas nécessairement à évaluer chacun des critères avec la même intensité. Cette grille n’est pas un instrument de mesure prêt à l’emploi ; la pondération des critères et le niveau de preuve attendu dépendent du stade d’apprentissage des étudiants ainsi que de la forme de l’évaluation.
Mettre la protection des données en pratique
Le code source peut contenir des clés d’accès, des données personnelles, une logique métier interne ou encore des éléments protégés par le droit d’auteur ou des obligations contractuelles. Avant de soumettre des informations à un système d’IA, les étudiants doivent limiter les données partagées, supprimer les secrets et remplacer les données personnelles par des exemples synthétiques.
Lorsque l’utilisation de code confidentiel est indispensable, les étudiants doivent recourir à des outils approuvés par leur établissement. Les historiques de conversation peuvent également contenir des informations sensibles. L’UNESCO et l’OCDE soulignent l’importance de la protection des données, de la transparence et de l’égalité d’accès [4, 5].
Les outils payants ne devraient pas procurer d’avantage dans le cadre d’évaluations notées. Pour les travaux évalués, tous les étudiants doivent disposer des mêmes outils approuvés ou d’une alternative équivalente. La responsabilité de la solution remise demeure celle des étudiants.
Conclusion
Pour les tâches de plus grande ampleur dans lesquelles l’usage de l’IA est autorisé, une simple remise de code ne constitue plus une preuve suffisante des acquis. Un enseignement cohérent devrait combiner l’apprentissage des fondamentaux sans IA, des exercices ciblés intégrant l’IA et des projets réalisés avec son soutien. Ce qui importe alors n’est pas l’habileté à formuler des requêtes destinées à l’IA, mais la capacité à suivre un processus de travail techniquement solide, vérifiable et assumé de manière responsable.
Liens et informations complémentaires
[1] Pitts, Rani und Mildort: Trust and Reliance on AI in Education: AI Literacy and Need for Cognition as Moderators. https://doi.org/10.1007/978-3-032-29763-1_28
[2] Chen et al.: Examining the Usage of Generative AI Models in Student Learning Activities for Software Programming. https://arxiv.org/abs/2511.13271
[3] Andleeb, Kantorski und Carver: ChatGPT in Introductory Programming. https://arxiv.org/abs/2510.00946
[4] UNESCO: Guidance for generative AI in education and research. https://www.unesco.org/en/articles/guidance-generative-ai-education-and-research
[5] OECD: Reimagining Teaching in an Accelerating World. https://www.oecd.org/en/publications/reimagining-teaching-in-an-accelerating-world_d0edfe8c-en/full-report/component-6.html
Create PDF




Contributions en tant que RSS
Laisser un commentaire
Rejoindre la discussion?N’hésitez pas à contribuer !