Initiation à la Programmation par l exemple : concepts, environnement, et étude d utilité

Documents pareils
La voix en images : comment l évaluation objectivée par logiciel permet d optimiser la prise en charge vocale

Système de diffusion d information pour encourager les PME-PMI à améliorer leurs performances environnementales

AGROBASE : un système de gestion de données expérimentales

Notes de lecture : Dan SPERBER & Deirdre WILSON, La pertinence

statique J. Bertrand To cite this version: HAL Id: jpa

Compte-rendu de Hamma B., La préposition en français

Sur le grossissement des divers appareils pour la mesure des angles par la réflexion d un faisceau lumineux sur un miroir mobile

L indice de SEN, outil de mesure de l équité des systèmes éducatifs. Une comparaison à l échelle européenne

Dessin assisté par ordinateur en lycée professionnel

Comptabilité à base d activités (ABC) et activités informatiques : une contribution à l amélioration des processus informatiques d une banque

Budget Constrained Resource Allocation for Non-Deterministic Workflows on a IaaS Cloud

Étude des formes de pratiques de la gymnastique sportive enseignées en EPS à l école primaire

Les intermédiaires privés dans les finances royales espagnoles sous Philippe V et Ferdinand VI

Jean-Luc Archimbaud. Sensibilisation à la sécurité informatique.

Peut-on perdre sa dignité?

Les Champs Magnétiques

Program Analysis and Transformation: From the Polytope Model to Formal Languages

Sylvain Meille. Étude du comportement mécanique du plâtre pris en relation avec sa microstructure.

Un SIG collaboratif pour la recherche historique Partie. Partie 1 : Naissance et conception d un système d information géo-historique collaboratif.

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

UNIVERSITE LYON 3 (JEAN MOULIN) Référence GALAXIE : 4140

Sur la transformation de l électricité statique en électricité dynamique

Famille continue de courbes terminales du spiral réglant pouvant être construites par points et par tangentes

Les déterminants du volume d aide professionnelle pour. reste-à-charge

Prise en main rapide

La complémentaire santé : une généralisation qui

PeTEX Plateforme pour e-learning et expérimentation télémétrique

e-science : perspectives et opportunités pour de nouvelles pratiques de la recherche en informatique et mathématiques appliquées

OPTION SCIENCES BELLE-ISLE-EN-TERRE

AICp. Vincent Vandewalle. To cite this version: HAL Id: inria

La simulation : Intérêt pédagogique

Un exemple spécifique de collaboration : Le produit-partage

DIFFICULTÉS D ÉTUDIANTS À TROUVER DES ARCHÉTYPES DE MACHINES LORS D UNE RECHERCHE DANS UN HYPERTEXTE

PRÉSENTATION GÉNÉRALE

Nous désirons tout mettre en œuvre pour découvrir le travail d enseignant et surtout, améliorer nos

La recherche d informations sur le Web par les lycéens : Pourquoi et comment faciliter le travail collaboratif?

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

Une méthode d apprentissage pour la composition de services web

Calculer les coûts ou bénéfices de pratiques sylvicoles favorables à la biodiversité : comment procéder?

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Réseaux sociaux virtuels et création de valeur

Interactions 3D coopératives en environnements virtuels avec OpenMASK pour l exploitation d objets techniques

CURRICULUM VITAE. Informations Personnelles

DIFFICULTES D'APPRENTISSAGE, ECHEC SCOLAIRE, RÉUSSITE... MAIS AU FOND, A QUOI CELA EST-IL DU?

Le Futur de la Visualisation d Information. Jean-Daniel Fekete Projet in situ INRIA Futurs

TUTORIEL Qualit Eval. Introduction :

Jessica Dubois. To cite this version: HAL Id: jpa

Une proposition d extension de GML pour un modèle générique d intégration de données spatio-temporelles hétérogènes

Mode d emploi : Module SMS

Etude des convertisseurs statiques continu-continu à résonance, modélisation dynamique

Information Management in Environmental Sciences

Génie logiciel (Un aperçu)

JRES 2005 : La mémorisation des mots de passe dans les navigateurs web modernes

TP1 : Initiation à Java et Eclipse

M1if22 - Logiciels éducatifs Conception & rôle de l enseignant

CONSEILS POUR LA REDACTION DU RAPPORT DE RECHERCHE. Information importante : Ces conseils ne sont pas exhaustifs!

Guide d'installation rapide TFM-560X YO.13

Présentation du site internet EcoleDirecte des Familles et Elèves

Recherche. Instructions d utilisation de ce Tutoriel. Suite d une action. Explication d un exemple, information supplémentaire. Avertissement. Astuce.

Les études de cas Responsable: Monika Niederhuber, Pauline Bart

Plan de cours ADM 992C Page 1. École des sciences de la gestion Département de management et technologie Université du Québec à Montréal

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

MEMORANDUM POUR UNE DEMANDE DE BOURSE DE RECHERCHE DOCTORALE DE LA FONDATION MARTINE AUBLET

Discussion et implémentation dans un dispositif de scénarisation, d une évaluation diagnostique de l apprenant

PROGRAMMATION MOTRICE ET STRATÉGIES COGNITIVES DANS UNE TÂCHE DE SYNCHRONISATION

RAPID Prenez le contrôle sur vos données

SCHOLARSHIP ANSTO FRENCH EMBASSY (SAFE) PROGRAM APPLICATION FORM

Synthèse «Le Plus Grand Produit»

L hypertexte, le multimédia, c est quoi?

Interface Homme-Machine. Philippe Gaussier Alexandre Pitti

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

ÉVALUATION DES RÉTROACTIONS DONNÉES PAR UN LOGICIEL D AIDE À L APPRENTISSAGE DE L ÉCRITURE MANUSCRITE

Entraînement, consolidation, structuration... Que mettre derrière ces expressions?

Excel. Identification. Informations sur vos besoins et objectifs. Notions fondamentales. Fiche de validation des besoins en formation Bureautique

Intervenir sur les interactions parents-enfants dans un contexte muséal scientifique

Manuel d utilisation du logiciel Signexpert Paraph

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

Eclipse atelier Java

Guide de recherche documentaire à l usage des doctorants. Partie 1 : Exploiter les bases de données académiques

Travaux pratiques Détermination de la capacité de stockage des données

ENSEIGNEMENT DES SCIENCES ET DE LA TECHNOLOGIE A L ECOLE PRIMAIRE : QUELLE DEMARCHE?

Jean-Daniel Fekete Directeur de Recherche, Resp. équipe-projet AVIZ INRIA

FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc)

La Relation Client : Quand l Analyse du Discours rencontre le Marketing

MASTER LPL : LANGUE ET INFORMATIQUE (P)

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Organisation des enseignements au semestre 7

Cours Informatique de base INF-B Alphabétisation

Initiation à Excel. Frédéric Gava (MCF)

Les liaisons intermoléculaires de l eau étudiées dans

ENOVIA 3DLive. IBM PLM Solutions 1 er Octobre Philippe Georgelin Sébastien Veret

Validation de la création des groupes ABM et ajout de l utilisateur SASDEMO

Plan du cours : Zippers. Des fonctions sur les listes avec position. Des fonctions sur les listes avec position

Chapitre 4. Que sont les TIC : Typologies des outils et systèmes. Résumé. Mohamed A. Touré MEN, Mali magtoure@yahoo.fr. ROCARE mmbangwana@rocare.

Interface Homme-Machine 1

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Transcription:

Initiation à la Programmation par l exemple : concepts, environnement, et étude d utilité Nicolas Guibert, Laurent Guittet, Patrick Girard To cite this version: Nicolas Guibert, Laurent Guittet, Patrick Girard. Initiation à la Programmation par l exemple : concepts, environnement, et étude d utilité. 2005. <hal-00005762> HAL Id: hal-00005762 https://telearn.archives-ouvertes.fr/hal-00005762 Submitted on 1 Jul 2005 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

461 Initiation à la Programmation «par l exemple» : concepts, environnement, et étude d utilité Nicolas Guibert*, Laurent Guittet*, Patrick Girard* * LISI-ENSMA Téléport 2-1 avenue Clément Ader BP 40109 86961 Futuroscope Chasseneuil cedex guibert@ensma.fr, guittet@ensma.fr, girard@ensma.fr RÉSUMÉ. 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. MOTS-CLÉS : psychologie et didactique de la programmation, interactions hommemachine, programmation sur exemples, environnement d apprentissage. Environnements Informatiques pour l Apprentissage Humain, Montpellier 2005

462 Environnements Informatiques pour l Apprentissage Humain, Montpellier 1. Introduction Bien que l écriture de programmes informatiques ait pris ces dernières années une place importante en sciences expérimentales, l apprentissage de l informatique demeure difficile : J.Kaasböll rapporte que les taux d échec en premier cycle universitaire s échelonnent entre 25 et 80 %. Qu est ce qui rend l apprentissage de la programmation si difficile? Nous présentons ci-après une classification synthétique des difficultés rencontrées par les étudiants, en faisant le lien avec une description structurée de l activité d un programmeur. 2. Modélisation de la conception d un programme, classification des difficultés Charles Duchâteau propose une définition de la programmation : «faire faire une tâche à un exécutant ordinateur» [DUCHATEAU 00]. Cette définition peut être raffinée en un modèle de la conception d un programme (figure 1). Figure 1. Conception d un programme, d après [DUCHATEAU 00] La première étape, le "quoi faire", consiste à définir précisément la tâche à automatiser pour parvenir aux spécifications du programme. Cependant, cette étape est généralement court-circuitée : les tâches concernées sont très (ou trop) simples. Les premières difficultés surviennent donc à l étape suivante, lorsque l on s efforce d abstraire une stratégie permettant l automatisation de celles-ci. Prenons l exemple d une tâche consistant à remplir n verres alignés avec une pipette. On peut envisager deux stratégies : remplir complètement chaque verre, ou déposer une goutte dans chaque verre jusqu à ce qu ils soient tous remplis. La difficulté consiste à construire un modèle de la structure temporelle de la tâche, c'est-à-dire visualiser mentalement le déroulement du programme. L étape suivante, «comment faire faire», décrit cette stratégie sous une forme compréhensible de l exécutant-ordinateur par des opérateurs de flots de contrôle

Programmation «par l exemple» : concepts, environnement, étude d utilité 463 (conditionnelle, itération) et des structures de données informatiques, avec pour conséquence des erreurs «temporelles» [DU BOULAY 88]. Une difficulté propre à l informatique, est que l étudiant ne possède aucun modèle «naïf» de l «intérieur» de l ordinateur [BEN-ARI 98]. Une personne étudiant la physique cherche à comprendre des phénomènes qui lui sont familiers. En informatique, l expérience pratique des ordinateurs est complètement inutile pour comprendre la programmation. Ceci conduit à deux grandes classes d erreurs : - des erreurs «anthropomorphiques» [SPOHRER 86] : les étudiants agissent comme si l'ordinateur possédait une «intelligence cachée» [PEA 86]; - des erreurs liées à la distance cognitive séparant les objets de la tâche de leur représentation informatique dite «frégeïenne» [ARSAC 91]. Considérons la différence des descriptions analogique et informatique d un triangle (figure 2) par «int [][] ABC = {{2,2}, {4,13}, {10,6}}! [SMITH 93] Figure 2. Représentations «analogique» vs. «frégeïenne» d un triangle ABC La dernière étape consiste à valider le programme par des tests dont l interprétation soulève aussi les difficultés décrites ci-dessus. L étude de ces difficultés nous amène à définir trois objectifs pédagogiques indépendants : - la modélisation de la tâche (la prise en compte de tous ses comportements) ; - le modèle d exécution du programme (l ordre d exécution des instructions) ; - le modèle des données (le fossé cognitif qui sépare la représentation analogique des objets de la tâche, et leur représentation informatisée de type fregeïenne). De cette classification, nous avons acquis la conviction qu'il faut enseigner un modèle de base du fonctionnement de l ordinateur, en affichant une modélisation de son contenu, et en visualisant l effet des instructions sur ce modèle de façon interactive. 3. Programmation «sur Exemple» Tentant de réduire ces difficultés de conception, Smith introduisit avec Pygmalion [SMITH 93] la notion de «Programmation sur Exemple»

464 Environnements Informatiques pour l Apprentissage Humain, Montpellier ([CYPHER 93], [LIEBERMAN 01]). Le programme édité est associé à un exemple concret, qui fournit en temps réel un retour sur le comportement du programme. Deux techniques sont associées : la programmation «avec» exemple (le programmeur édite un programme dans un langage immédiatement interprété) et la programmation «par démonstration» (le programmeur manipule les objets de l exemple, et l environnement infère de cette démonstration un programme). 3.1. Illustration du concept L approche sur exemple remplace le cycle de conception par une démarche interactive et permet d'appréhender un modèle du fonctionnement de l ordinateur. Nous avons construit l environnement MELBA qui implémente les programmations «avec exemple» et «par démonstration» La figure 3 représente l environnement MELBA. 1 Figure 3. Exemple de tâche à automatiser : le remplissage des verres par la pipette Le panneau de droite représente l exemple, celui de gauche représente le programme. Lorsque l étudiant clique sur une instruction, le programme est alors exécuté jusqu à cette instruction. Cette exécution est animée sur les deux panneaux. Lorsqu il ajoute une instruction, le système se re-synchronise pour fournir un écho de l action exécutée (programmation «avec exemple», flèche 1de la figure). La «programmation par démonstration» (flèche 2) se fait en manipulant les objets de la fenêtre de droite. Ces actions sont interprétées par le système qui ajoute au programme l instruction. Le composant suivant (figure 4) représente l état des données du programme. Il s appuie sur la métaphore du bureau pour expliciter les concepts de variable, de type, de paramètre et de référence. L interactivité avec l environnement minimise les risques d'interprétations erronées (comme dans le cas 2

Programmation «par l exemple» : concepts, environnement, étude d utilité 465 variable = boîte étudié par [DU BOULAY 89]) car les étudiants peuvent vérifier à chaque instant la correction de leur interprétation. Variable DocumentType icône Figure 4. Usage de la métaphore du bureau pour la modélisation des données 3.2. Expérimentations avec MELBA Nous avons mené une expérimentation sur 65 étudiants en bio-informatique séparés en groupes (chacun conservant un taux égal d étudiants ayant déjà programmé). Ils ont été ensuite soumis à une évaluation portant sur la capacité à comprendre et à rédiger un programme. Les résultats avec l outil sont encourageants, avec une augmentation de 18% des notes au dessus de la moyenne (table 2). % des étudiants 50 45 40 35 30 25 20 15 10 5 0 PsE Non-PsE 0-20 21-40 41-60 61-80 81-100 note en % Classe Groupes PsE Autres Groupes % de résultats >=moyenne 63,07 % 76,19 % 58,13 % Table 2. Evaluation comparée sur les modèles de la tâche et du programme 4. Conclusion Dans cet article nous avons proposé une synthèse des différents types d erreurs auxquels sont confrontés les étudiants en initiation à la programmation, à partir de

466 Environnements Informatiques pour l Apprentissage Humain, Montpellier la littérature existante en didactique et psychologie de la programmation. Nous en avons tiré une classification des difficultés auxquels ils sont confrontés. Nous avons étudié la pertinence d un paradigme alternatif de conception de programme : «la programmation sur exemple» pour atténuer ces difficultés. Nous avons présenté un environnement d apprentissage de la programmation, MELBA, basé sur ces concepts, et rapporté les résultats d expérimentations menées avec cet environnement. Nous prévoyons à court terme de mener de nouvelles expérimentations avec un environnement plus évolué dans le but de confirmer les résultats obtenus et de tester l utilité de ses extensions. 5. Bibliographie [ARSAC 91] Arsac J., Préceptes pour programmer, Paris : Dunod, 1991. [BEN- ARI 98] Ben-Ari M. «Constructivism in Computer Science Education», in 29th ACM SIGCSE Technical Symposium on Computer Science Education, Atlanta Georgia: ACM press. 1998. [CYPHER 93] Cypher A. Watch What I Do: Programming by Demonstration, The MIT Press: Cambridge, Massachusetts. 1993. [DU BOULAY 89] Du Boulay B., «Some Difficulties of Learning to Program», in Studying the Novice Programmer, Lawrence Erlbaum Asssocites. p. 283-299. 1989. [DUCHATEAU 00] Duchâteau C., Images pour programmer, Vol. 1, Namur: Facultés Universitaires Notre Dame de la Paix, 2000. [KAASBOLL 02] Kaasboll J., Learning Programming, University of Oslo, 2002. [LIEBERMAN 01] Lieberman H., Your Wish is my command, Morgan Kaufmann (Ed.), 2001. [SMITH 93] Smith D.C., «Pygmalion, An Executable Electronic Blackboard», in Watch What I Do: Programming by Demonstration, A. Cypher, Editor. 1993, The MIT Press: Cambridge, Massachusetts. [SPOHRER 86] Spohrer J. «Analysing the high frequency bugs in novice programs», in First Workshop on Empirical Studies of Programmers, 1986.