![]() |
Nicolas Guibert |
Nicolas Guibert
|


Cet environnement peut être téléchargé sous forme d'un exécutable en clicquant sur ce lien. Alternativement, une archive Zip est disponible sur ce lien. Si vous ne parvenez pas à lire les archives ".zip", vous pouvez télécharger l'archiveur Winrar à cette adresse.
Il fonctionne sur un PC équipé du système d'exploitation Windows, et requière l'installation de JAVA JRE 5.0 ou supérieur, disponible sur ce lien.
| (2007) - Protocoles et Métriques pour l'Analyse de l'Activité dans un Environnement Interactif d'Apprentissage de l'Algorithmique. Nicolas Guibert, Patrick Girard and Laurent Guittet., 19ème conférence francophone sur l'Interaction Homme-Machine, novembre, 2007Abstract: Assessing usability and analysing use cases in the do-main of Computer-Aided Learning (CAL) involves specific methods. The context of learning activities implies to take great care that the protocol of evaluation does not interfere with the learning process; for instance, it becomes impossible to evaluate the same subject on the same task several times in a row. Among the most popular methods, capturing the interactions between the learner and the system allow to analyse how he/she realised the prescribed exercise. However, this method cannot capture how the user interprets and evaluates of the information displayed by the envi-ronment. For this purpose, the eye-trackers, which measure the ocular movements and fixations, can be very useful. But they show limitations when the evaluated environment is not static. In this paper, we explain how the combined usage of these two approaches has allowed us to evaluate in a dynamic context the usability of the different components of a software designed to aid the learning of programming, and to analyse how learners appropriate these different components. We detail the pros and cons of each method, and discuss their possible connections. |
| (2006) - Validation d'une approche basée sur l'exemple pour l'initiation à la programmation. Nicolas Guibert., Thesis, ENSMA/Université de Poitiers, Ecole Doctorale SPI, Décembre, 2006Abstract: Alors qu’ordinateurs et programmes informatiques se sont implantés dans nombre de disciplines scientifiques en tant qu'outils d'analyse ou instruments de mesure, l'acquisition des compétences requises pour la conception de programmes ne se fait pas aisément. De nombreuses études ont caractérisé les erreurs et difficultés rencontrées par les programmeurs novices. Les environnements actuellement utilisés pour l’apprentissage de la programmation se composent d’outils conçus dans une unique optique de développement, et non pas dans un cadre explicitement pédagogique. A cette approche « industrielle » s’oppose une approche explicitement pédagogique, où le but premier est la découverte et la construction de connaissances, et non pas la réalisation de tâches techniques. Cette Thèse étudie l’usage d'un paradigme de programmation alternatif, la programmation graphique sur exemple, comme support à la construction active d’un savoir viable par l'étudiant, en s’appuyant sur des expérimentations en situation réelle avec un environnement adapté, conçu explicitement pour l’apprentissage. |
| (2006) - Performances et usages d’un environnement d’apprentisage de la programmation « basé sur exemple ». Nicolas Guibert, Patrick Girard and Laurent Guittet., ERGO'IA , 2006, pp. 103-110Abstract: Malgré la place grandissante occupée par l’activité de programmation, en tant qu’outils d’analyse ou instruments de mesure, dans les sciences expérimentales, son apprentissage demeure toujours très difficile. De nombreuses études ont caractérisé les erreurs et difficultés rencontrées par les programmeurs novices. Depuis quelques années, nous explorons l’utilisation d’un paradigme particulier, la programmation sur exemple, dans le but de réduire ces difficultés. Le travail présenté ici se veut une évaluation de cette démarche, et sera articulé autour de deux axes, celui de l’analyse des usages et celui de l’efficacité de l’apprentissage. Trois expérimentations de MELBA, l’outil développé dans le cadre du projet, utilisant diverses méthodes d’évaluation, sont ainsi présentées et analysées. |
| (2005) - A study of the efficience of an alternative programming paradigm to teach the basics of programming. . Nicolas Guibert, Laurent Guittet and Patrick Girard., IFIP 8th World Conference on Computers in Education (WCCE 2005), Stellenboch, South Africa, IFIP TC3, SBS Conferences, IFIP, 2005 |
| (2005) - Programming by Example: a powerful paradigm to support the experimental acquisition of programming skills.. Nicolas Guibert, Laurent Guittet and Patrick Girard., HCI International 2005, vol. ‘Human-Computer Interfaces: Concepts, New Ideas, Better Usability, and Applications’ (4), edited by Lawrence Erlbaum Associates, Inc, Las Vegas, Nevada, USA, 22-27 July, 2005Abstract: Although nowadays the teaching of computer science in university is getting extended to more disciplines, because of the appearance of double-competence trainings (as bioinformatics) and because of the now greater importance of programs as analysis tools in science experiments, introductory programming courses are still known to be difficult for students. Kaasboll (Kaasboll 1998) recently reports that their rate of drop out and failure vary from 25% to 80% worldwide. Programming can be defined as “having a task done by a computer” (Duchateau 2000), and therefore learning to program requires the student to (Ben-Ari 1998): ? Build a viable model of the structure of the task. ? Build a viable model of what is going on inside the computer during the program execution. Contrary to other sciences, as physics for instance, a specific difficulty of computer science is that novice students do not start with a viable native model of the computer, (whereas they have a useful naïve model of the world around them) which is often seen as a black box, or as an immaterial human-like being (Spohrer 1986). The consequence is that most introducing courses of programming fail to give students more than a fuzzy idea of the logical machine behind the programming languages. In this paper, we present a typology of the different difficulties in learning programming, by summarizing previous works in Psychology of Programming or Didactics. We study the connections between the well known bad usability of classical programming languages and environments, and some difficulties of novice programmers (who use them as learning environments). We explore the pedagogical issues of an alternative programming paradigm, “Programming by Examples” (Smith 1993, Cypher 1993, Lieberman 2001). To do so, we propose a typology of programming by example systems, linking them to specific pedagogical needs. Thereafter we present an innovating Learning Environment for programmers, MELBA (Metaphor-based Environment to Learn the Basics of Algorithmic), which has been designed to use the different by-example approaches to support the conception of programs by novices, and the experimental construction of the associated mental models. At last we illustrate the use cases of this environment, and describe the benchmarks we will use to test the utility and usability of the environment, and the pertinence of its underlying concepts. |
| (2005) - Initiation à la programmation "par l'exemple" : Concepts, Environnement et Etude d'utilité.. Nicolas Guibert, Laurent Guittet and Patrick Girard., Environnements Iinformatiques pour l' Apprentissage Humain (EIAH), Montpellier, France, 2005, pp. 461-466Abstract: La programmation, depuis ses débuts, a toujours été vue comme une discipline difficile à apprendre et à enseigner. Même de nos jours, j. Kaasböll rapporte que les taux d’échec ou d’abandon aux cours d’initiation à la programmation en premier cycle universitaire varient de 25 à 80% de part le monde [KAASBOLL 02]. Dans le même temps, l’importance qu’a acquis l' informatique comme outil d’analyse ou de simulation dans les sciences expérimentales confère au problème de l’initiation à la programmation un grand enjeu. Dans cet article, nous proposons une synthèse de différents travaux de psychologie et de didactique de la programmation, et classons les problèmes liés à l’apprentissage de la programmation. Puis nous explorons les utilisations pédagogiques de la « Programmation sur Exemple » et présentons un environnement d’apprentissage, MELBA (Metaphor-based Environment to Learn the Basics of Algorithmics). Enfin nous analysons l’efficacité du concept et du système à partir d’une expérience menée sur 65 étudiants. |
| (2005) - Validation d’une approche « basée sur exemples » pour l’apprentissage de la programmation.. Nicolas Guibert, Laurent Guittet and Patrick Girard., 17e Conférence francophone sur l'Interaction Homme-machine (IHM 2005), Toulouse, France, 2005, pp. 147-155Abstract: Malgré la place grandissante occupée par l’activité de programmation, et tout particulièrement dans les sciences expérimentales, son apprentissage demeure toujours très difficile. De nombreuses études ont caractérisé les erreurs et difficultés rencontrées par les programmeurs novices. Depuis quelques années, nous explorons l’utilisation d’un paradigme particulier, la programmation sur exemple, dans le but de réduire ces difficultés. Le travail présenté ici se veut une première évaluation de cette démarche, rapportée aux difficultés mentionnées par les auteurs. Deux expérimentations de MELBA, l’outil développé dans le cadre du projet, sont ainsi présentées et débattues. |
| (2004) - Example-based Programming: a pertinent visual approach for learning to program. Nicolas Guibert, Laurent Guittet and Patrick Girard., Advanced Visual Interfaces (AVI), edited by Costabile, Maria Francisca, Gallipoli, Italy, acm press, 2004, pp. 358-361Abstract: Computer Science introductory courses are known to be difficult for students. Kaasboll [1] reports that drop-out or failure rates vary from 25 to 80 % world-wide. The explanation is related to the very nature of programming: “programming is having a task done by a computer”[2]. We can notice three internal difficulties in this definition: The task itself. How do we define it, and specify it? The abstraction process. In order to “have it done by” students need to create a static model covering each task behavior. The “cognitive gap”. It is difficult for novice programmers to model the computer, and its “mindset”, which is required to express the task model in a computer-readable way. The bad usability of programming languages increases this difficulty. The lack of interactivity in the editing-running-debugging loop is often pointed as an important aggravating factor for these difficulties. In the mid-seventies, Smith introduced with Pygmalion another programming paradigm: Programming by Examples, where algorithms are not described abstractly, but are demonstrated through concrete examples. This approach involves several advantages for novices. It allows them to work concretely, and to express the solution in their own way of thinking, instead of having to embrace a computer-centered mindset. The programming process becomes interactive, and as PbE languages are “animated” languages, no translation from the dynamic process to any static representation is required. In this paper we investigate both the novice programmer and existing PbE languages, to show how visual and example-based paradigms can be used to improve programming teaching. We give some elements of a new Example-based Programming environment, called Melba, based on this study, which has been designed to help novice programmers in learning to program. |
| (2004) - Apprendre la programmation par l’exemple : méthode et système. Nicolas Guibert, Laurent Guittet and Patrick Girard., Technologies de l'Information et de la Connaissance dans l'Enseignement Supérieur et l'Industrie (TICE), UTC Compiègnes- France, 2004, pp. 345-352Abstract: Alors que micro-ordinateurs et programmes informatiques se sont implantés dans de nombreuses disciplines scientifiques en tant qu’outils d’analyse ou qu’instruments de mesure (physique, chimie, sciences de la vie - on parle même dans ce dernier cas de bio-informatique), l’acquisition des compétences requises pour la conception de programmes ne se fait pas aisément. Käasboll rapporte que, de par le monde, entre 25 et 80 % des étudiants dans un cursus d’initiation à la programmation sont en situation d’échec ou d’abandon. Nous présentons de manière synthétique une typologie des erreurs et des difficultés des programmeurs débutants. Nous explorons les utilisations pédagogiques d’un paradigme de programmation alternatif, la « Programmation sur Exemple ». Enfin, nous présentons un environnement d’apprentissage de la programmation et de l’algorithmique, MELBA (Metaphor-based Environment to Learn the Basics of Algorithmic), ainsi que la démarche didactique qu’il supporte. |
| (2003) - Teaching and Learning Programming with a Programming by Example System. Nicolas Guibert and Patrick Girard., International Symposium on End User Development, Sankt Augustin (Bonn), Germany, EUD - net, 2003Abstract: The programming process traditionally involves the static and abstract description of algorithms in a dedicated language; then the system checks the syntactic correctness of these description and allows the designer to run his program to test if it does what it is supposed to. But this approach has proved to be difficult for many novices (studies in didactics for programming reveal rather high failure rates – between 25 % and 80 % world-wide according to [1] – in programming introductory courses). That’s because it has to face two well-known problems : • Bad usability of the system tools used for the human-computer communication (lacks of usability in editing phase, and lacks of interactivity in the editing-compiling-debugging cycle). • Mistakes in the abstraction process which links the computer’s dynamic tasks and the developer’s static description of them with algorithms. In the mid-seventies, D.C. Smith introduced with Pygmalion [2] another programming paradigm, Programming by Example(s), where algorithms are not described abstractly, but are demonstrated in concrete examples. Since then, Programming by Example(s) and other advanced HCI techniques, as metaphors and microworlds, have been used in several experimental tools for novice programmers, but up to date, none of them managed to equal classical languages expressiveness. Worse again, whereas the PbE approach proved to be an innovative and elegant technique to handle human-machine interaction, it doesn’t handle at all the programmer-programmer communication aspect of a programming language. In ToonTalk [3], for instance, no static representation is provided, and thus the only way to “read” a program is to analyse the dynamic interactions of this program’s objects while it runs. Other tools use dedicated textual languages, or a comic-strip metaphor to provide a static presentation. In this position paper, we will discuss about the learning styles and didactic models associated with each programming paradigm; the differences involved in the student’s learning style, and we will try to explain how both programming paradigm can be combined to grant the designer a better support on his ongoing programming process. As an example, we will shortly describe the Melba system, which embeds a “classical” visual language and a concrete examples handled with a desktop metaphor and an “internal” PbE engine to teach novice programmers imperative programming concepts. |
| (2003) - Programmation sur Exemple et Enseignement assisté par ordinateur de l'algorithmique : le projet MELBA (article court). Nicolas Guibert and Patrick Girard., 15° Conférence Francophone sur l'Interaction Homme-Machine (IHM'2003), vol. 1, Caen, ACM Press, 2003, pp. 248-251Abstract: L'utilisabilité des langages de programmation et des environnements qui leur sont associés est au centre de multiples études. Celles ci ont débouché sur la création de nombreux systèmes, se donnant pour but de permettre à des non-programmeurs de réaliser des programmes informatiques, sans avoir à apprendre les concepts associés. Dans cet article, nous décrivons l'environnement MELBA (pour Metaphor based Environment to Learn how to Build Algorithms). Celui-ci se donne pour but l'utilisation des techniques de programmation visuelle et « sur exemple » pour supporter l'apprentissage de l?algorithmique, à l'université, à l'aide d'exemples concrets et de métaphores. |
| LISI / ENSMA Téléport 2 - 1 avenue Clément Ader BP 40109 86961 Futuroscope Chasseneuil cedex |
![]() |
![]() |
![]() |
![]() |
|