Computer science education

Since 2022, my research has focused on teaching computer science, especially in NSI, the computer science track of French high schools. It is carried out at LS2N, at CREN and with IREM Pays de la Loire (the regional institute for research on mathematics and computer science teaching).

Teaching databases

How do students understand the relational model and SQL, and where do they struggle? Databases have been a full chapter of the final-year NSI curriculum since 2019, and SQL is both a new language and a new paradigm: students can quickly write queries without understanding what they do. Known difficulties mostly concern joins (especially self-joins), subqueries and grouping, and DBMS error messages are hard for beginners to read. This work also draws on my experience of teacher training (the Databases module of the DIU “Teaching computer science in high school”, 2019-2021).

Diversifying exercises. With L. Monceaux (APIMU 2023), we start from the observation that almost all exercises ask to “write a query that finds…”. We propose a categorisation into eleven didactic situations, coded “inputs → output” from the intention (I), the query (R) and the result table (T): finding the query, predicting the result of a query, explaining what it does, choosing among several tables, and so on. A web application lets teachers offer them on different databases.

QueryCraft. The tool runs a query step by step in a logical order (tables, joins, row selection, grouping, group selection, projection, sorting), to show what each operator does rather than only the final result. It also rewords DBMS errors using generative AI (local or via API) and offers exercises of two kinds, “intention → query” and “intention + table → query”. It has been used in the MEEF master’s degree (secondary education, NSI track) in Nantes (2025 and 2026) and in the third-year computer science bachelor in La Réunion (2025): appreciated for understanding complex operators and for addressing the didactic transposition of SQL, but not yet evaluated through a formal classroom experiment. It was presented as a poster and a workshop at Didapro 11.

Structuring data with AI help. While SQL seems fairly easy to teachers, designing the database is very difficult for them: information systems modelling is little covered in their accelerated training (DIU EIL). With P. André and L. K. C. Kodo (Repères IREM no. 142, March 2026), we recall the method and good practices, based on the Merise entity-relationship model, then analyse existing models (baccalaureate exam subjects, student proposals) and test generative AI tools, mainstream or open source, local or remote, for six uses: writing exercise statements, testing a subject, comparing student work with a reference model, detecting errors, producing a database schema from a model and the reverse. The conclusion is nuanced: the quality of the results is random, these tools are not mature for designing a model, and a plausible result is not necessarily correct, consistent or complete. They remain useful as supervised assistants, to be regularly “challenged” on a set of test cases.

Other tools: SQLSandbox, a sandbox for trying queries on small example databases with no risk to the data, and MoDIA, which uses AI to produce teaching databases (Merise diagrams, SQL scripts, exercise contexts).

Modelling data and programs

Programming also means being able to say what a program does and to compare it with what was expected. I am interested in tools that help students connect a specification to its code, in three directions.

Partial correctness of an algorithm (NSI, first year). The curriculum expects students to write a loop invariant and show termination. Within the EIEM group of IREM Pays de la Loire (2020-2023), with high-school and middle-school teachers, we designed an unplugged didactic situation: students think about dealing cards (a Euclidean division algorithm, never named as such), the “good deal” introducing the post-condition and then the invariant. Four classroom implementations, two of them focused on partial correctness, allowed a first analysis and improvements.

Consistency between a class diagram and a program (first-year computer science BUT). UMLChecker automatically generates JUnit tests from the UML specification to check the structure of students’ code (visibility, cardinalities, navigability, roles…). Immediate feedback relieves the teacher of elementary errors and supports self-assessment and continuous assessment. The tool was used in Nantes in 2021-2022 and 2022-2023, with two cohorts of about 100 students, with no systematic evaluation so far.

UML scenarios, introduced as early as the first year of NSI (next section).

MEEF dissertations that I supervise complete this work: the place of pseudocode in learning to program, handling programming errors, unplugged activities.

Project management in NSI

At least a quarter of the first-year NSI curriculum is devoted to projects carried out in groups of two to four students. With J.-A. Colombel, an NSI teacher at Lycée Saint-Joseph in Machecoul, I work within the EIEM group of IREM Pays de la Loire on bringing professional project management and modelling methods into these projects. The ambition is modest: to improve classic skills (anticipating, generalising, abstracting, decomposing, evaluating) and modelling, and to present software development as a structured approach, which can reassure students who do not see themselves as “geeks”.

Two directions are explored:

A three-year experiment (2022-2025, 48 students in 14 groups): the second project of the year is a simplified command-line version of a board game (Yahtzee, 6 nimmt!, Rush Hour). An unplugged analysis phase, with an intermediate deliverable corrected together with the students, comes before programming in Python and a final presentation. Early results show that adding an introductory session on scenarios clearly improved the work, and students find scenarios fairly easy to handle (2024-2025 survey, 18 answers out of 19). Scenarios help understand the project; using them to validate the program remains limited, which is a lead for future work.

Generative AI

Generative AI changes what students and teachers do, and the question is how to use it usefully in class. My work follows three lines:

Service

I take part in several computer science education communities: a journal, a conference, learned societies and IREM.