Use program embeddings to help learners

Encadrant(e)s: Nicolas Dugué and Dominique Py
Host laboratory: LIUM
place: Le Mans
Contact : Nicolas.Dugue(at) and Dominique.Py(at)
Application: Send CV + cover letter to Nicolas Dugué and Dominique Py before November 20, 2022.


Description: By computer modeling the distributional hypothesis of linguists, specialists in automatic language processing have allowed the creation of lexical embedding approaches, at the root of many natural language processing applications. Since then, these approaches have been generalized, especially for the vector representation of computer programs. From the syntactic tree and the execution trace, it becomes possible to model programs and their similarity by plunging them into an adequate space.

The Laboratoire d’Informatique Fondamentale d’Orléans has set up the first approaches to representations of computer programs in the context of learning to program. The objective was to initiate a reflection on the possible contributions of these approaches in the design of HCI. The first objective of this reflection was to demonstrate the relevance of the representation space, by ensuring that these representations were fine enough to, for example, differentiate the answers to different exercises, and to differentiate the solutions within the same exercise. The question now arises of interrogating these representations to provide tools to serve the teacher, or the student reflexivity

From the point of view of TEL (Technology Enhanced Learning), we can consider several contexts in which these representations could be useful: automatic detection of typical errors, but also of atypical solutions (functional program but whose solution bypasses the statement); remediation assistance for students via the proposal of explanations, hints or pieces of code from the work of peers in order to help them move forward; the creation of tools to push learners to confront their solutions, discuss them and learn from the consensus.

Objective :The objective of the internship is to evaluate the usability of program embeddings to provide remediation to the learner based on the structuring of the program space.


Applicant profile : Candidate motivated by artificial intelligence, enrolled in a Master’s degree in Computer Science



  • Guillaume Cleuziou, Frédéric Flouvat, Matthieu Exbrayat, Julien Robert, Romuald Thion. Apprentissage de représentations pour l’enseignement de la programmation : une approche centrée enseignant. 10e Conférence sur les Environnements Informatiques pour l’Apprentissage Humain, Marie Lefevre, Christine Michel, Juin 2021, Fribourg, Suisse. pp.58-69.
  • Guillaume Cleuziou, Frédéric Flouvat. Learning student program embeddings using abstract execution traces. 14th International Conference on Educational Data Mining, International Educational Data Mining Society, Jun 2021, Paris, France. pp.252-262.