10 research outputs found

    MOON: Assisting Students in Completing Educational Notebook Scenarios

    Full text link
    Jupyter notebooks are increasingly being adopted by teachers to deliver interactive practical sessions to their students. Notebooks come with many attractive features, such as the ability to combine textual explanations, multimedia content, and executable code alongside a flexible execution model which encourages experimentation and exploration. However, this execution model can quickly become an issue when students do not follow the intended execution order of the teacher, leading to errors or misleading results that hinder their learning. To counter this adverse effect, teachers usually write detailed instructions about how students are expected to use the notebooks. Yet, the use of digital media is known to decrease reading efficiency and compliance with written instructions, resulting in frequent notebook misuse and students getting lost during practical sessions. In this article, we present a novel approach, MOON, designed to remedy this problem. The central idea is to provide teachers with a language that enables them to formalize the expected usage of their notebooks in the form of a script and to interpret this script to guide students with visual indications in real time while they interact with the notebooks. We evaluate our approach using a randomized controlled experiment involving 21 students, which shows that MOON helps students comply better with the intended scenario without hindering their ability to progress. Our follow-up user study shows that about 75% of the surveyed students perceived MOON as rather useful or very useful

    Scheduling, Binding and Routing System for a Run-Time Reconfigurable Operator Based Multimedia Architecture

    Get PDF
    International audienceThis article presents an integrated environment for application scheduling, binding and routing used for the run-time reconfigurable, operator based, ROMA multimedia architecture. The environment is very flexible and after a minor modification can support other reconfigurable architectures. Currently, it supports the architecture model composed of a bank of single (double) port memories, two communication networks (with different topologies) and a set of run-time functionally reconfigurable non-pipelined and pipelined operators. The main novelty of this work is simultaneous solving of the scheduling, binding and routing tasks. This frequently generates optimal results, which has been shown by extensive experiments using the constraint programming paradigm. In order to show flexibility of our environment, we have used it in this article for optimization of application scheduling, binding and routing (the case of the non-pipelined execution model) and for space exploration (case of the pipelined execution model)

    Accompagnement à l’exécution des notebooks Jupyter en milieu éducatif

    No full text
    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

    Support for the execution of jupyter notebooks in educational environments

    No full text
    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.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

    Scheduling, Binding and Routing System for a Run-Time Reconfigurable Operator Based Multimedia Architecture

    Get PDF
    International audienceThis paper presents a system for application scheduling, binding and routing for a run-time reconfigurable op- erator based multimedia architecture (ROMA). We use constraint programming to formalize our architecture model together with a specific application program. For this purpose we use an abstract representation of our architecture, which models memories, re- configurable operator cells and communication networks. We also model network topology. The use of constraints programming makes it possible to model the application scheduling, binding and routing as well as architectural and temporal constraints in a single model and solve it simultaneously. We have used several multimedia applications from the Mediabench set to evaluate our system. In 78% of cases, our system provides results that are proved optimal

    Immediate Feedback for Students to Solve Notebook Reproducibility Problems in the Classroom

    No full text
    International audienceJupyter notebooks have gained popularity in educational settings. In France, it is one of the tools used by teachers in post-secondary classes to teach programming. When students complete their assignments, they send their notebooks to the teacher for feedback or grading. However, the teacher may not be able to reproduce the results contained in the notebooks. Indeed, students rely on the non-linearity of notebooks to write and execute code cells in an arbitrary order. Conversely, teachers are not aware of this implicit execution order and expect to reproduce the results by running the cells linearly from top to bottom. These two modes of usage conflict, making it difficult for teachers to evaluate their students' work. This article investigates the use of immediate visual feedback to alleviate the issue of non-reproducibility of students' notebooks. We implemented a Jupyter plug-in called Notebook Reproducibility Monitor (NoRM) that pinpoints the non-reproducible cells of a notebook under modifications. To evaluate the benefits of this approach, we perform a controlled study with 37 students on a programming assignment, followed by a focus group. Our results show that the plug-in significantly improves the reproducibility of notebooks without sacrificing the productivity of students

    C-based rapid prototyping for digital signal processing

    No full text
    The increasingly demanding requirements of digital signal processing applications like multimedia, new generations of wireless systems, etc. led to the definition of more and more complex algorithms and systems that are to be efficiently implemented with the time to market constraint. Today, the electronic system design community is mainly concerned with defining efficient System-on-a-Chip (SoC) design methodologies in order to benefit from the high integration capabilities of current ASIC and FPGA technologies on the one hand, and manage the increasing algorithmic complexity of applications on the other hand. Rapid prototyping is considered as a key to speed up the system design. In this context, we have introduced a novel methodology that efficiently addresses both the algorithmic complexity and the high flexibility required by the various application profiles. Our methodology benefits from the emerging High-Level Synthesis (HLS) tools in a platform-based approach dedicated to the rapid prototyping of real-time systems. We show the effectiveness of this approach with the design of a DVB-DSNG compliant receiver
    corecore