Support for the execution of jupyter notebooks in educational environments
Accompagnement à l’exécution des notebooks Jupyter en milieu éducatif
Résumé
Notebooks have become essential tools in the field of data science. Initiated in the 1980s with software such asMathematica and inspired by Knuth’s concept of literate programming, their popularity was solidified with the Jupyter project in 2014. They have transformed how scientists communicate their ideas by combining executable code from a wide variety of programming languages, visualizations, and textual explanations in a single interactive document. They have also gain in popularity in the educational world, for example, with the CANDYCE program launched by the French government in 2021. This program encourages the use of the Jupyter environment in teaching digital sciences at all levels, from primary to higher education, by offering educational notebooks that are at the heart of this thesis. In this educational context, despite their undeniable advantages, notebooks also present significant challenges, particularly in terms of reproducibility and execution model. Indeed, educational notebooks embed a pedagogical activity containing textual instructions guiding students through the different tasks to be completed. Then, the teacher attempts to reproduce the students’ results by following a predominantly linear order. The reproducibility of results is a promise of notebooks, but several studies have revealed difficulties in achieving this goal, necessitating the development of approaches to support users in creating reproducible notebooks. Additionally, the flexible execution model of notebooks allows students to execute code cells in a different order than intended by the instructor, potentially leading to errors and/or misleading results. In this thesis, we address these two challenges : the reproducibility of results and the execution of educational notebooks. Our goal is to propose two language-agnostic approaches to assist students i) towards result reproducibility in a top-downlinear execution model and ii) in the execution of a notebook containing a scenario, i.e., instructions related to its execution. To tackle these challenges, we have developed tools directly integrated into the JupyterLab environment : NORM and MOON. Through experiments conducted with students from C.P.G.E. and first-year university, these tools have demonstrated a significant improvement in both challenges without hindering student learning.
Les notebooks sont devenus des outils incontournables dans le domaine de l’analyse de données. Initiés dans les années 1980 avec des logiciels tels que Mathematica et inspirés par le concept de la programmation littéraire de Knuth, leur popularité se concrétise grâce au projet Jupyter en 2014. Ils ont transformé la manière dont les scientifiques communiquent leurs idées en combinant du code exécutable parmi une grande variété de langages de programmation, des visualisations et des explications textuelles dans un même document interactif. Ils ont également largement investi le monde éducatif par exemple avec le programme CANDYCE lancé par l’état français en 2021. Ce programme encourage l’utilisation de l’environnement Jupyter dans l’enseignement des sciences du numérique et ce à tous les niveaux, du primaire à l’enseignement supérieur en proposant des notebooks éducatifs qui sont au coeur de cette thèse. Dans ce contexte éducatif, malgré leurs avantages indéniables, les notebooks présentent également des défis importants, notamment en matière de reproductibilité et de modèle d’exécution. En effet, les notebooks éducatifs embarquent une activité pédagogique contenant des instructions textuelles guidant les étudiants à travers les différentes tâches à réaliser. Ensuite, l’enseignant cherche à reproduire les résultats des étudiants en suivant un ordre le plus souvent linéaire. La reproductibilité des résultats constitue une promesse des notebooks, mais plusieurs études ont révélé des difficultés à atteindre cet objectif, nécessitant le développement d’approches pour accompagner les utilisateurs dans la création de notebooks reproductibles. De plus, le modèle d’exécution flexible des notebooks donne la possibilité aux étudiants d’exécuter les cellules de code dans un ordre différent de celui prévu par l’enseignant pouvant occasionner des erreurs et/ou des résultats trompeurs. Dans cette thèse, nous nous penchons sur ces deux défis que sont la reproductibilité des résultats et l’exécution des notebooks éducatifs. Notre objectif est de proposer deux approches indépendantes du langage de programmation afin d’accompagner les étudiants i) vers la reproductibilité des résultats dans un modèle d’exécution linéaire du haut vers le bas et ii) à l’exécution d’un notebook contenant un scénario c’est à dire des instructions liées à son exécution. Pour répondre à ces deux défis nous avons développé des outils directement intégrés à l’environnement JupyterLab : NORMetMOON. Ces outils ont permis de mettre en évidence à travers des expérimentations menées avec des étudiants de C.P.G.E et de première année universitaire une nette amélioration concernant les deux défis sans entraver l’apprentissage des étudiants.
Origine | Version validée par le jury (STAR) |
---|