Didactique de l'informatique

Depuis 2022, mes recherches portent sur l’enseignement de l’informatique, en particulier dans la spécialité NSI au lycée. Elles sont menées au LS2N, au CREN et avec l’IREM des Pays de la Loire.

Didactique des bases de données

Comment les élèves comprennent-ils le modèle relationnel et SQL, et où butent-ils ? Les bases de données forment un chapitre à part entière du programme de terminale NSI depuis 2019, et SQL y est un nouveau langage et un nouveau paradigme : on peut écrire vite des requêtes sans comprendre ce qu’elles font. Les difficultés connues portent surtout sur la jointure (en particulier l’auto-jointure), les sous-requêtes et les regroupements, et les messages d’erreur des SGBD sont peu lisibles pour un débutant. Ces travaux s’appuient aussi sur mon expérience de formation des enseignants (module Bases de données du DIU Enseigner l’informatique au lycée, 2019-2021).

Diversifier les exercices. Avec L. Monceaux (APIMU 2023), nous partons du constat que presque tous les exercices demandent d’« écrire une requête qui recherche… ». Nous proposons une catégorisation en onze situations didactiques, codées « entrées → sortie » à partir de l’intention (I), de la requête (R) et de la table résultat (T) : retrouver la requête, prédire le résultat d’une requête, expliquer ce qu’elle fait, choisir parmi plusieurs tables, etc. Une application web permet à l’enseignant de les proposer sur différentes bases de données.

QueryCraft. L’outil exécute une requête pas à pas dans un ordre logique (tables, jointures, sélection des tuples, regroupement, sélection des groupes, projection, tri), pour voir ce que fait chaque opérateur plutôt que le seul résultat final. Il reformule aussi les erreurs du SGBD à l’aide d’une IA générative (locale ou par API) et propose des exercices des deux types « intention → requête » et « intention + table → requête ». Il a été utilisé en master MEEF second degré NSI à Nantes (2025 et 2026) et en licence 3 d’informatique à La Réunion (2025) : apprécié pour comprendre les opérateurs complexes et pour aborder la transposition didactique de SQL, mais pas encore évalué par une expérimentation formelle en classe. Il a fait l’objet d’un poster et d’un atelier à Didapro 11.

Structurer les données avec l’aide de l’IA. Si SQL paraît assez facile aux enseignants, la conception de la base leur pose beaucoup de difficultés : la modélisation des systèmes d’information est peu abordée dans leur formation accélérée (DIU EIL). Avec P. André et L. K. C. Kodo (Repères IREM n° 142, mars 2026), nous rappelons la méthode et les bonnes pratiques, en nous appuyant sur le modèle entité-association de Merise, puis nous analysons des modèles existants (sujets de bac, propositions d’élèves) et testons des IA génératives, grand public ou open source, locales ou distantes, pour six usages : créer des énoncés, tester un sujet, comparer des travaux à un modèle de référence, détecter des erreurs, produire le schéma d’une base à partir d’un modèle ou l’inverse. Le constat est nuancé : la qualité des résultats est aléatoire, ces outils ne sont pas mûrs pour concevoir un modèle et un résultat plausible n’est pas forcément correct, cohérent ou complet. Ils restent utiles comme assistants encadrés, à « challenger » régulièrement sur un jeu de cas.

Autres outils : SQLSandbox, un bac à sable pour tester des requêtes sur de petites bases d’exemple sans risque pour les données, et MoDIA, qui produit avec l’IA des bases pédagogiques (diagrammes Merise, scripts SQL, contextes d’exercices).

Modélisation de données et de programmes

Programmer, c’est aussi savoir dire ce que fait un programme et le comparer à ce qu’on attendait. Je m’intéresse aux outils qui aident les élèves et les étudiants à relier une spécification à son code, en trois directions.

Correction partielle d’un algorithme (NSI, première). Le programme demande de savoir écrire un invariant de boucle et de montrer la terminaison. Au sein du groupe EIEM de l’IREM des Pays de la Loire (2020-2023), avec des enseignants de lycée et de collège, nous avons conçu une situation didactique débranchée : les élèves réfléchissent à la distribution de cartes (un algorithme de division euclidienne, sans qu’il soit nommé), la « bonne donne » introduisant la post-condition, puis l’invariant. Quatre mises en œuvre en classe, dont deux centrées sur la correction partielle, ont permis une première analyse et des améliorations.

Conformité entre un diagramme de classes et un programme (BUT 1 d’informatique). UMLChecker génère automatiquement, à partir de la spécification UML, des tests JUnit qui vérifient la structure du code des étudiants (visibilité, cardinalités, navigabilité, rôles…). Le retour immédiat décharge l’enseignant des erreurs élémentaires et favorise l’auto-évaluation et le contrôle continu. L’outil a été utilisé à Nantes en 2021-2022 et 2022-2023, auprès de deux promotions d’environ 100 étudiants, sans évaluation systématique pour l’instant.

Scénarios UML introduits dès la première NSI (section suivante).

Des mémoires MEEF que j’encadre complètent ce travail : place du pseudocode dans l’apprentissage de la programmation, gestion des erreurs de programmation, activités débranchées.

Gestion de projet en NSI

Au moins un quart du programme de première NSI est consacré à des projets menés en groupes de deux à quatre élèves. Avec J.-A. Colombel, enseignant de NSI au lycée Saint-Joseph de Machecoul, nous travaillons dans le groupe EIEM de l’IREM des Pays de la Loire à y introduire des méthodes professionnelles de gestion de projet et de modélisation. L’ambition est modeste : améliorer des compétences classiques (anticiper, généraliser, abstraire, décomposer, évaluer) et la modélisation, et présenter le développement logiciel comme une démarche structurée, ce qui peut rassurer les élèves qui ne se reconnaissent pas dans l’image du « geek ».

Deux directions sont explorées :

Une expérimentation sur trois ans (2022-2025, 48 élèves en 14 groupes) : le second projet de l’année est une version simplifiée d’un jeu de société en ligne de commande (Yam’s, 6 qui prend, Rush Hour). Une phase d’analyse en débranché, avec un livrable intermédiaire corrigé avec les élèves, précède la programmation en Python, puis une soutenance. Les premiers résultats montrent que l’ajout d’une séance d’initiation aux scénarios a nettement amélioré les productions, et que les élèves les jugent plutôt faciles à manipuler (enquête 2024-2025, 18 réponses sur 19). Les scénarios aident à comprendre le projet ; leur usage pour valider le programme reste limité, et c’est une piste de travail.

IA génératives

Les IA génératives changent ce que font les élèves et les enseignants, et la question est de savoir comment les utiliser utilement en classe. Mon travail suit trois axes :

Engagements

Je participe à plusieurs communautés de la didactique de l’informatique : revue, colloque, sociétés savantes et IREM.