Home
Apprendre à programmer Pourquoi ? Comment
Contents
1. Zone de traitement Suve PEINE NUITS Figure 13 Apprendre programmer Pourquoi Comment Rupert MdeD Page 20 sur 30 La qualit d une analogie est d tre compl te correcte ne pas tre source d erreurs et pas d boucher sur une impasse par la suite Une bonne analogie pour illustrer le concept de variable doit r pondre aux crit res suivants Une variable sans tiquette ne peut tre atteinte La notion de type doit tre prise en compte Une variable ne peut tre lue avant d y avoir inscrit quelque chose La variable ne contient que la derni re information enregistr e La variable contiendra une constante et non une expression La lecture d une variable ne vide pas son contenu L analogie doit pouvoir fonctionner au moment de l utilisation des param tres TARBES Si certaines de ces affirmations sont videntes la premi re par exemple d autres le sont moins L analogie des planchettes autocollants nous para t r pondre tous ces crit res y compris le dernier une planchette peut tre enlev e de son clou y tre attach e par l interm diaire d un lastique et envoy e dans une proc dure En fin de proc dure elle viendra reprendre sa place originale Voici une illustration de l analogie des planchettes autocollants la largeur symbolise le type bool en Type entier Type cha ne de car
2. Le texte de la communication Robotique virtuelle environnement pour apprentissage dynamique et interactif de l algorithmique faite au 5 colloque international de Robotique p dagogique Montr al en 1997 6 Les changements p dagogiques induits sont expliqu s au travers d une interview de l auteur par Pierre Ad le et Amaury 7 logiciel sous toutes ses coutures au travers d une analyse men e par Michel 8 Et puis lavis des l ves dans tout a Introduction Ce m moire se voulait d envergure savoir la validation d une m thode d apprentissage des bases de programmation destin e au d butant absolu en la mati re validation se trouvant au carrefour de sept axes 1 La question de savoir si l apprentissage de la programmation repr sente un int r t quelconque pour un tudiant qui ne se destine pas ce m tier Une m thode pr existante sur laquelle se base et que compl te la m thode pr sent e Une exp rience de plus de vingt ans dans l enseignement de la programmation des d butants La litt rature relatant les difficult s des novices dans l apprentissage de ce savoir faire Les nombreuses m thodes mises au point pour faciliter cet apprentissage Les changements p dagogiques induits par l innovation Les aspects techniques et technologiques de l innovation Malheureusement par manque de temps et de moyens projet subira quelques amputa
3. Module en cours am lioration Module 13 les proc dures param tr es Module en cours am lioration Apport du DES TEF Les apports du 5 ont t de trois ordres Les apports th oriques par l ensemble des modules qui m ont permis de d augmenter mes connaissances en p dagogie valuation syst mes et dispositifs de formation et d ducation conception et r alisation multim dia dispositifs de formation distance contr le de qualit Les apports pratiques au travers un grand nombre de travaux seul ou en groupe La confrontation avec le r el permet de prendre connaissance de vrais probl mes et d apprendre les r soudre Les apports des quipes qui ont choisi mon logiciel comme base de travail soit pour en analyser la conception soit pour en valuer la qualit soit pour s int resser au ph nom ne d innovation lui m me Tous ces apports sont vraiment importants et profonds je me rends compte qu il me faudra encore du temps pour en tirer les pleins profits par le truchement des nombreux documents et r f rences dont j ai fait le plein Je suis maintenant par pour terminer mon didacticiel dans les meilleures conditions afin qu il puisse aider les jeunes prendre possession de leurs pleines possibilit s intellectuelles et ventuellement pratiquer un m tier que je leur aurai fait d couvrir Fiche technique Ce didacticiel est construit sur base du pro
4. etes 23 MODULE 8 PROGRAMMATION VIRTUELLE EN 23 SYNTAXE PASCAL E lobe E E diese ie 27 MODULE 10 EXERCICES DE PROGRAMMATION EN PASCAL NONC S 27 MODULE 11 LES VARIABLES 27 MODULE 13 LES PROC DURES PARAM TR ES 27 APPORT DES TER sesssesconsssencncennenesennenceseoccsensectensncaecestssensnasnceessenntes ess eteen ace nsenee cn eneenntessosestanec ee uses 27 FICHE 27 CONCLUSIONS 28 REMERCIEMENTS sesiossisssssoscossoossssesssssssssssosassstsesasso tts bost an ass rennes annee se dsssb sesos esse d
5. savoir les modules 4 5 6 7 et 8 signal s en bleu Les autres sont survol s pour m moire Le lecteur int ress trouvera l enti ret de la m thode sur le c d rom joint Module 0 le contrat Il s agit du contrat pass entre la m thode et l apprenant L apprenant est inform des difficult s qui l attendent est galement mis au courant des b n fices qu il pourra retirer de son apprentissage Actuellement seuls les arguments de rigueur du langage et de la pens e sont avanc s Notre intime conviction nous porte croire en tout cas pour certains individus que la pratique de la programmation procure ou d veloppe des capacit s r soudre des probl mes et construire des projets Mais les travaux de Romainville nous poussent une grande prudence quant aux affirmations sur les int r ts et les transferts que pourrait procurer l apprentissage de la programmation L examen de la litt rature r cente serait indispensable pour faire le point ce niveau Citons toutefois Linn M C et Dalbey J qui consid rent que pour autant que l apprentissage de la programmation ait t fait en classe et avec un feed back riche les l ves d veloppent des capacit s explicite former des mod les et travailler de fa on modulaire ou proc durale L examen des travaux de Gagn nous semble un piste tr s int ressante au niveau de l apprentissage des concepts principes et solutions de probl m
6. ses questions ventuelles La v rification des r ponses 1 5 en fin de chapitre permettra de v rifier dans quelle mesure il peut continuer le cursus De toute fa on les performances au module 5 robotique virtuelle montreront de fa on explicite si les notions des 4 premiers modules sont acquises Module 5 robotique virtuelle Avec le module 8 programmation virtuelle en pseudocode ce chapitre repr sente le pierre angulaire de la m thode Afin de ne pas trop alourdir ce document le texte d une communication faite Montr al en 1997 se trouve en annexe Ce texte tente de r pondre la question a marche mais pourquoi Il t r alis a posteriori sur base du livre de Britt Mari Barth L apprentissage de l abstraction L important est de permettre d entrer dans l abstraction sans tre coup de ses ressources de ce qu il conna t d j dans le concret La virtualit peut tre consid r e comme ayant simultan ment un pied dans le concret elle peut faire r f rence des l ments concrets connus de l apprenant et un pied dans l abstrait par essence elle n existe pas il est possible de disjoncter du r el mais ceci est un d bat qui pourrait lui seul n cessiter tout un m moire Le chapitre sur l historique de la m thode explique la mani re dont ce module t d velopp Il poss de actuellement 17 robots virtuels ma
7. 9 se planter quelles que soient les valeurs entr es par l utilisateur Figure 19 Une seule page d dition est actuellement pr vue pour les 20 programmes plus tous ceux que peut taper l apprenant programmes de sa propre conception ou dont l nonc a t con u par l enseignant Dans une prochaine version il est envisag comme pour les robots de cr er un exercice par programme ce qui permettrait dans une certaine mesure des ex cutions automatiques avec des listes de donn es sensibles valeurs pouvant provoquer une erreur ce qui serait le cas dans le programme pr sent si comme cela arrive souvent l apprenant n avait pas imagin que l utilisateur puisse donner directement la valeur 0 risque de division par 0 M me dans cette architecture une page d dition resterait libre afin de pouvoir taper des programmes r pondant des nonc s ext rieurs au module Le programme est ex cut pas pas mais il est possible d envisager une ex cution automatique Parmi son relev des difficult s des d butants du Boulay signale qu il est rarement clair pour un novice que l affichage l cran repr sente un enregistrement des interactions pr c dentes entre l utilisateur et la machine Or normalement lorsque l cran est complet les nouveaux affichages s ajoutent en bas de l cran provoquant au fur et mesure la disparition des affichages haut Ce ph nom ne est n faste car
8. un m me exercice sont verts L avis du professeur doit alors tre sollicit La v rification automatique de la rationalit d un programme est l tude partant de l hypoth se que le nombre de conditions test es en cours d ex cution est un bon indicateur mais l avis du professeur est pr f rable car 1 faut viter tout prix que le d butant prenne de mauvaises habitudes de programmation De plus certains nonc s permettent plusieurs types de solutions sans qu il y en ait n cessairement une meilleure que les autres Il est m me parfois tr s int ressant de pouvoir discuter des avantages et 14 Spohrer signale au niveau des erreurs de conception les cas inattendus le novice crit des programmes qui fonctionnent dans certains cas mais pas dans tous Apprendre programmer Pourquoi Comment Rupert MdeD Page 17 sur 30 inconv nients des diff rentes solutions Ce type d valuation doit donc rester en fin de compte de l enseignant Deux types d ex cutions sont possibles l ex cution automatique au cours de laquelle tout le programme est ex cut du d but la fin et l ex cution pas pas o l utilisateur doit cliquer sur un bouton pour obtenir l ex cution de l instruction suivante Ce mode d ex cution est particuli rement int ressant soit pour d bugger un programme ou en phase de tutorat pour demander l apprenant de pr
9. dire ce qui va se passer la ligne suivante excellente fa on de v rifier s il ma trise le fonctionnement des structures de contr le Les autres constituants du tableau de bord sont Le bouton Corriger permet de retourner la page d dition Le bouton d Aide permettra d avoir des d tails sur les constituants de la page Le bouton Menu permet de choisir un nouvel exercice L indicateur de vitesse d ex cution qui peut tre r gl pour ralentir les mouvements des automates Le bouton Stop permet d arr ter un programme qui tourne sans fin en ex cution automatique Le cadre bleu donne les conditions de d part de l automate Le cadre jaune donne des commentaires en fin d ex cution du programme notamment en cas d erreur de fa on aider l utilisateur d couvrir le probl me Durant l ex cution du programme un pointeur vert signale la ligne en cours de traitement S il s agit d une condition une panneau indicateur appara t afin de signaler si le test a donn un r sultat vrai panneau vert ou faux panneau rouge Les flow charts telles que le GNS sont int ressantes pour v rifier le flux d un programme ce qui est la fois ducatif au niveau du fonctionnement des structures de contr le mais surtout une aide importante pour d couvrir les erreurs de programmation Apprendre concevoir ces flow charts est une difficult suppl mentaire pour le d butant pour un
10. il conna t d j en se r f rant du concret t t ou tard un saut dans l abstrait se produit C est ce moment que a passe ou a casse La tentative de cette nouvelle m thode est d tablir une passerelle avec main courante entre les deux falaises afin que ce saut ne doive jamais avoir lieu et que le plus grand nombre puisse atteindre l autre bord En d autres termes faudrait faire en sorte qu l apparition d une nouvelle situation abstraite le d butant ait comme ressource d une part les images d une situation semblable concr te qu il a d j eu r soudre et d autre part les images de la machine fonctionnelle qu il utilise afin de concevoir son programme On diminue ainsi d autant le seuil franchir pour satisfaire la t che demand e Progressivement le d butant se constituera ainsi un stock d images ad quates et un stock de strat gies mettre en uvre dans tel ou tel cas qui lui serviront de support la r solution de probl mes nouveaux Vue de l ext rieur la m thode est organis e de la fa on suivante Programmer un ordinateur R diger des marches suivre Robot traiter de l information Structures de contr le Apprendre programmer des robots Sp cificit s du robot ordinateur gestionnaire d information variables Programmer un ordinateur en pseudocode Programmer un ordinateur en Pascal Figure 2 Apprendre programmer Pourquo
11. quand le professeur est appel en fin de programme pour valider celui ci ou pour expliquer les raisons de son dysfonctionnement certaines informations risquent d avoir disparu Il calcul effectu par l ordinateur pour remarquer l erreur ce qui est rarement le cas Nous avons opt pour une solution plus simple montrer explicitement que la variable est toujours vide et g n rer un message d erreur Apprendre programmer Pourquoi Comment Rupert MdeD Page 26 sur 30 lui est alors impossible de prendre connaissance de l historique de ces changes Pour viter cet inconv nient le champ servant d cran t muni d un ascenseur afin que le professeur puisse r cup rer tout l historique des changes et ventuellement expliquer l apprenant les causes de l erreur Les apprenants sont tr s motiv s par ce module et fournissent des programmes de qualit La plus grande difficult au moment du passage la syntaxe Pascal est la gestion des Begin et End dans l utilisation du IF et du While Apr s quelques erreurs incompr hensibles et une tude correcte de leurs feuilles de syntaxe ce probl me s estompe Module 9 la syntaxe Pascal Un r sum de la syntaxe Pascal est pr sent Module parfaire avec des exemples des cas concrets Module 10 exercices de programmation en Pascal nonc s Neuf nonc s sont propos s toffer Module 11 les variables indic es
12. une ligne vide en repoussant l ensemble des autres lignes vers le bas La zone en dessous des pointill s est disponible pour concevoir le programme mais le programme mis en page ne pourra d passer cette limite de 25 lignes Un probl me s est pos quant l utilisation du Fin Si et du Fin Tant Que La question ardue et nombreux courants de pens e ont vu le jour ce sujet Il nous a paru p dagogique de placer le novice face ses responsabilit et de l obliger marquer explicitement la fin des instructions faisant partie d un 51 d un Sinon ou d un Tant Que Enfin pour terminer cette partie dition le fait de demander la v rification du programme va provoquer en t che de fond une v rification de la syntaxe c est dire la mani re dont le programme t construit et non de la mani re dont il a t con u la conception tant v rifi e par le test lui m me Cette v rification est tr s compl te et donne des messages explicites Tout message signale le type d erreur trouv et quelle ligne elle se situe L apprenant peut alors facilement retrouver son erreur et la corriger L acc s la page de test n est autoris que quand plus aucune erreur de syntaxe ne subsiste dans le programme La page de test poss de les caract ristiques suivantes le gestionnaire du programme dans le sens o elle permet de l diter le corriger le stocker Dan
13. Ne peut contenir qu un Ne peut contenir Ne peut contenir concept Vrai ou Faux qu un nombre entier qu une chaines de la fois la fois caract res la fois Type caract re Type r el Ne peut contenir Ne peut contenir qu un caract re la qu un nombre r el fois la fois Figure 14 Voici comment est pr sent e l affectation d une variable avec une valeur r sultant d une expression math matique faisant elle m me intervenir une variable du Boulay signale un floril ge d erreurs au niveau des variables le fait que le contenu d une variable puisse dispara tre ou qu on puisse se souvenir d un ancien contenu de variable une autre confusion est de croire que quand on assigne une variable avec l expression 7 4 c est cette expression litt rale qui s inscrit dans la variable plut t que la valeur 11 certains croient que quand on assigne une variable dans une autre la variable de d part se vide 6 16 Putnam signale que l erreur la plus fr quente est de croire qu une variable peut contenir plus d une valeur Une autre erreur quand on demande l l ve d expliquer quoi sert un programme est d utiliser toujours la m me valeur initiale de la variable sans proc der sa mise jour Apprendre programmer Pourquoi Comment Rupert MdeD Page 21 sur 30 Partie visible de la machine Partie cach e de la machine NOMBRE RIX mn Arrive l instruction PRIX HOMBRE 2 Ce
14. ces deux signes Apprendre programmer Pourquoi Comment Rupert MdeD Page 23 sur 30 constantes caract re s appara tront entre apostrophes comme c est le cas en Pascal afin d attirer correctement attention sur leur statut Les op rateurs math matiques sont les 4 op rations de base DIV fonction donnant le quotient de la division enti re MOD fonction donnant le reste de la division enti re Hasard fonction donnant un nombre tir au hasard entre les deux bornes indiqu es comprises les crochets n ont pas encore d utilit O PAS BSE Viennent enfin les diff rentes structures de contr les Tout cela donne l cran suivant s Les divers contiennent Les op rateurs bool ens sont ET Les comparateurs sont TABLEAU DE BORD JMPTEUR NOMBRE SOMME MOYENNE fre f e ziwe zu ziwe zwe 21 as fa COMPTEUR AIDE Utilisation aie Conception AME METTRE EH PAGE EFFACER TOUT TESTER MEHU ME SOMME NOMBRE JUSQU A CE QUE p COMPTEUR PILIERS SI 1 E 71 Jus Num rique vrai Faux J f fr mon Hasara m Jer Fras f g
15. clavier et engendre constamment des erreurs de syntaxe Se pose aussi le probl me de comment dire les choses Dans les exercices toutes les instructions conditions sont d j formul es l avance et disponibles L apprenant peut donc focaliser son attention sur la conception l exclusion de tous autres probl mes de frappe ou de syntaxe Il lui suffit de tirer les l ments sur le tableau magn tique en fonction de ses besoins La mise en page sous forme d indentation est automatis e elle montre son int r t et petit petit impr gne l apprenant qui finit par l adopter Une bonne m thode qui sera mentionn e dans l aide la conception est de sugg rer au d butant de programmer par association d id es le fil d Ariane plut t qu en alignant les unes apr s les autres les instructions du programme de mani re s quentielle du d but la fin Le tableau magn tique a t con u cet effet Le concepteur du programme peut tr s bien placer certaines instructions de la fin d un programme comme la condition d une boucle R p te par exemple avant de placer ce qui pr c de Un simple clic sur le bouton Mise en page lui permet d obtenir son programme en ordre Par la suite il lui est encore possible de modifier facilement son programme la colonne jaune de gauche lui permet de d placer toute une ligne d l ments en une seule fois et la colonne jaune de droite lui permet d obtenir
16. genre de probl mes peuvent tre abord s et quels sont les avantages ventuels des efforts d pens s pour acqu rir la comp tence En plus d insister sur les avantages il nous para t int ressant que ce chapitre 0 aborde l avenir les deux autres aspects Apprendre programmer Pourquoi Comment Rupert MdeD Page 10 sur 30 Module 4 particularit s des structures de contr le L objectif du module est d apprendre au d butant les principales structures de contr le leurs particularit s leurs fonctionnements de leurs mises en uvre Un chapitre est consacr la construction des expressions bool ennes et leur n gation th or me de de Morgan Cette construction des conditions est souvent n glig e dans les m thode d apprentissage alors que Spohrer constate au cours d une de ses exp rimentations que 48 des bugs relev s proviennent d une mauvaise construction des conditions des structures de contr le notamment par confusion entre le et le lors de la n gation de conditions recommande aussi l tude du th or me de de Morgan Chaque structure de contr le est ensuite mise en uvre dans un programme que l apprenant peut faire ex cuter pas pas Il peut alors voir chaque tape ce qui se passe l ext rieur de l ex cutant lorsqu une instruction engendre une action de l ex cutant mais aussi et surtout qui se passe l int rieur de l ex cutant lorsqu un
17. l ment d une structure de contr le se pr sente particuli rement quand c est le test d une condition Apprendre programmer 4 Les structures de contr le Page 15 72 Avance 6 Gauche Avance 3 51 Pont ALOR La fl che bleue signale la ligne en cours de traitement Cette analogie tend montrer que l ex cutant ne peut examiner qu une ligne la fois sans se Pont proche cass arrer ensuite sur le bouton RecomMhencez plusieurs fois souvenir de ce qui pr c de ni Droite pr sager de ce qui suit Avance 3 Gauche Avance 4 m SIHON SI Pont OK ALORS Droite Avance 3 Ex cution interne Ex cution externe Gauche FIH SI La ligne est un SI avec une ll ne se passe rien aranca condition tester La v rification est faite et le r sultat donne FAUX L oeil va pointer sur la ligne QUI SUIT LE SINON CORRESPONDANT La fl che rouge signale le futur saut dans le flux du programme Cette zone signale les actions qui se passent l ext rieur Pour cette ligne il aucune puisque ce sinon existe autrement il aurait point sur la ligne QUI SUIVAIT LE FIN SI CORRESPONDANT Cette zone montre ce qui se passe l int rieur de lors du traitement d un l ment d une structure de contr le Figure 3 ce niveau on peut parler d une phase d impr gnation l appre
18. le programme ci contre la ligne marqu e d une fl che bleue va tre ex cut e ligne 5 Apr s l ex cution de cette ligne quelle ligne le programme va t il sauter L automate livreur de pizza Roule jusqu au carrefour Regarde les indications SI D viation gauche ALORS Va gauche SINON SI D viation droite ALOR Va droite SINON Va tout droit FIN SI FIN SI V rifier Clique sur le num ro de la ligne o sautera le programme et ensuite clique sur le bouton V rifier ci dessous 1 O1 R Figure 5 2 Les questions plus globales demandant le r sultat de l ex cution de petits programmes Apprendre programmer Pourquoi Comment Rupert MdeD Page 12 sur 30 D fois et 10 fois Mets y 0 REPETE Que va t il se passer Mets Affiche Va t il y avoir affichage 10 fois et B 100 fois Ajoute 1 y TANT QUE lt 10 FAIS Affiche Ajoute FIN TANT QUE JUSQU A CE QUE y 10 10 fois et fois 100 fois et B 10 fois 10 fois et B 10 fois Boucles infinies iii ii Figure 6 Dans un avenir proche la trace des r ponses fournies par l apprenant permettra de v rifier dans quelle mesure il a r ellement acquis les notions pr sent es dans ce module Au niveau m thodologique il suffit de laisser l l ve progresser son rythme et r pondre
19. lui permet de choisir entre les 5 types standard du Pascal bool en caract re entier r el cha ne de caract res Une variable ainsi d clar e peut tout moment tre tra n e drag and drop sur le tableau magn tique Les instructions d actions l mentaires sont au nombre de 4 Affiche nl pour afficher l cran et faire ensuite passer le curseur au d but de la ligne suivante 1 2 Affiche pour afficher l cran mais le curseur reste derri re le dernier caract re affich 3 pour lire une donn e au clavier et affecter la variable dont le nom suit va coller l autocollant sur la planchette portant ce nom 4 pour affecter une variable Viennent ensuite les constantes de types num rique et caract re s que le programmeur peut compl ter lui m me et tra ner ensuite sur la tableau magn tique ainsi que les constantes Vrai et Faux Le contenu des constantes caract re s apparaissent en caract res normaux dans leurs cadres jaunes et les constantes num riques en gras Toutefois cette diff rence est trop t nue et dans une version ult rieure les 17 Ceci vite les erreurs signal es une foule d auteurs soit la confusion avec le signe soit l affectation l envers de la gauche vers la droit plut t que de la droite vers la gauche La disposition du dans une cat gorie diff rente du permet d attirer l attention du d butant sur les statuts de
20. notional machine que l on pourrait traduire par machine fonctionnelle qui se cache derri re chaque langage et de l int r t qu il y a expliquer ce concept aux d butants mais sans toutefois concr tiser son id e de fa on pr cise C est dans ce contexte que voit le jour Images pour programmer Cette m thode d apprentissage des bases de la programmation est r volutionnaire plus d un titre L approche du sujet est repens e de fond comble La m thode est simple compl te manuel s quences vid o et coh rente La m thode peut facilement tre mise en uvre et donne d excellents r sultats pour les adultes Le principe de base est de fournir au d butant une repr sentation simple et imag e de la mani re dont cette bo te noire que repr sente l ex cutant ordinateur fonctionne et qu il puisse s appuyer sur cette vision mentale pour concevoir ses programmes Le monolithe auquel devait faire face le d butant lors de son tude de la programmation au travers de la syntaxe est maintenant taill de marches permettant un franchissement plus ais 2 du Boulay et al signale toutefois que pour aider apprendre ses propri t s la machine fonctionnelle doit tre simple constitu e d un petit nombre de constituants interagissant d une fa on qui doit tre facilement compr hensible par le novice si possible par analogie avec d autres m canismes avec lesquels i
21. re suivante gt L ordinateur est un robot il se d finit donc comme n importe quel robot par Les actions l mentaires qu il peut effectuer Les conditions qu il peut tester Les structures de contr le qu il peut ex cuter gt L ordinateur est un robot ayant les sp cificit s suivantes re oit de l information de l ext rieur I manipule cette information l int rieur fournit de l information vers l ext rieur Pourquoi cette vision des choses vite t elle un triple saut dans l abstrait Premi rement du fait m me du continuum nonc ci dessus il n est plus question de s arr ter sur la voie des robots pour repartir sur l tude de l ordinateur n cessitant la mise en uvre de nouveaux concepts Deuxi mement cela permet d viter que l introduction de la notion de variable apparaisse ex abrupto comme c est souvent le cas Cela repr sente pour le d butant un choc frontal avec quelque chose de totalement inconnu L amalgame robot ordinateur permet d introduire ce concept de fa on douce en proposant au d butant dans le module 5 sur la robotique virtuelle de g rer des robots qui poss dent des ardoises afin noter certains renseignements Au moment o la notion abstraite de variable sera abord e les strat gies de son jumeau concret la manipulation de l ardoise seront d j en place L introduction des variables gr ce l analogie des planc
22. un Si imbriqu dans un R p te 4 2 L automate d pouilleur d enqu tes deux Si imbriqu s l un dans l autre et dans un Tant que 5 Les variables et tours de main introduction voir chapitre sur l organisation de la m thode 5 1 L automate gardien de mus e utilisation d un compteur avec un R p te 5 2 L automate remplisseur de bacs de bouteilles utilisation d un compteur avec un Tant que 5 3 L automate compteur de la valeur d une liasse de billets une somme avec un R p te Chaque exercice est d compos en deux pages une page d dition et une page d ex cution La page d dition contient tous les l ments pour r aliser le programme n cessaire l accomplissement de la t che d crite dans l nonc Le but est de composer sur le grand tableau magn tique gris le programme en tra nant les l ments puis s dans la rubrique constituants de la marche suivre instructions d actions l mentaires conditions op rateurs logiques et structures de contr le TABLEAU DE BORD marche suivre AIDE METTRE PAGE EFFACER TOUT TESTER MEHU D pose l enveloppe dans la bote devant toi 1 enveloppe dans ta pince Enveloppe tenue jaune Enveloppe tenue rouge Der D ou Pas s aLors REPETE _Juusqu a QUE J TANT JFAIS FIN TANT QUE Figure 7 lt Le tableau de bord con
23. A M THODE CAR La nana nil 5 ORGANISATION DE LA M THODE CARsenenennnmnemnmnnnnnnnnneeneree 7 DIFF RENCES ENTRE CAR ET IMAGES POUR 9 CAR MODULE PAR MODULE itenediieeaisedaieecenenesens is este is eosesene den iisk diese dat saisis 10 MODULE CONTRAT 2525222180 a il esnno sans cencee cle 10 MODULE 1 PR SENTATION SUCCINCTE DES MODULES DE LEUR ENCHA NEMENT sn 10 MODULE 2 QU EST CE QUE PROGRAMMER siens seeesrerrnssseeseesrnenneseeessseneneeeeeeeesseenneeecesseeenneeesesne 10 MODULE 3 QU EST CE QU UN PROGRAMME DE QUOI EST IL CONSTITU 2 10 MODULE 4 PARTICULARIT S DES STRUCTURES DE 11 MODULE 5 ROBOTIQUE VIRTUELLE rE aE kaes res iaaa 13 MODULE 6 LES SP CIFICIT S DU 19 MODULE 7 LES TOURS DE MAIN 5 1 EPOE EEE ten ina tete dns
24. Communication au 4 colloque francophone sur la didactique de l informatique Qu bec Formation recherche en ducation n 5 38 Publications du CeFIS Namur Facult s Notre Dame de la Paix Duch teau Ch Images pour programmer CeFIS DET FUNDP Namur Consultable sur Internet l adresse http www det fundp ac be cefis publications doconline html Duch teau Ch Robotique Informatique m mes bats m mes d bats m mes combats in Denis et Baron G L Regards sur la robotique p dagogique Actes du quatri me colloque international sur la robotique p dagogique Li ge B Universit de Li ge pp 10 33 Duch teau Ch Socrate au pays des ordinateurs revue de n 74 juin 1994 pp 159 177 Haugulstaine Charlier B Images pour apprendre programmer EPI Colloque francophone sur la didactique de l informatique septembre 1988 pp 205 222 Leclercq D Les grands types d apprentissage selon R M Gagn in ducation n 137 septembre octobre 1972 Leclercq D Les grands types d apprentissage selon R M Gagn II Critique des cat gories sup rieures du mod le de Gagn in ducation n 138 novembre d cembre 1972 Linn M C Dalbey J Cognitive consequences of programming instruction in Studying the Novice Programmer University of Michigan 1989 PP 57 81 Meurice de Dormale R Robotique virtuelle in Les actes de la 5 rencontre francophone sur la didactique de l inform
25. DES Dipl me d tudes Sp cialis es en Technologie de l ducation et la Formation Ann e acad mique 2002 2003 Facult s Universitaires Notre Dame de la Paix Namur Universit de Li ge M moire Apprendre programmer Pourquoi Comment CAR Computers Are Robots Rupert Meurice de Dormale Apprendre programmer Pourquoi Comment Rupert MdeD Page 1 sur 30 Apprendre programmer Pourquoi Comment Computers Are Robots Pr liminaire Ce m moire est r alis dans le cadre de la certification pour l ann e acad mique 2002 2003 du Dipl me d tudes Sp cialis es en Technologie de l ducation et de la Formation organis conjointement l Universit de Li ge ULg et les Facult s Universitaires Notre Dame de la Paix Namur FUNDP Son objet est la description d une nouvelle m thode d apprentissage des bases de la programmation destin e aux d butants adolescents et adultes Pour la facilit de l expos une d nomination a t donn e cette m thode CAR gt Computers Are Robots En annexe de ce m moire se trouvent Un c d rom reprenant l ensemble de cette m thode son stade actuel de d veloppement Le mode d emploi de ce c d rom Le mode d emploi non encore impl ment du module 5 robotique virtuelle Le mode d emploi non encore impl ment du module 8 programmation virtuelle en pseudocode 797
26. SOMME 100 MONTANT 125 et SOMME 125 MONTANT 100 et SOMME 100 MONTANT 100 et SOMME 25 Apr s les instructions MONTANT MONTANT SOMME SOMME MONTANT SOMME MONTANT MONTANT SOMME Quels seront les contenus de MONTANT et SOMME Figure 16 Situation Auto test Toutes les variables sont de type Entier sauf PART de type bool en Puis je donner l instruction Oui PART SOMME lt MONTANT OU SALAIRE gt 300 Figure 17 Remarque bien que la lecture des programmes soit facilit e par l utilisation de noms de variables qui veulent dire quelque chose cela entra ne certains d butants penser qu il y a un lien entre le nom de la variable et son contenu du Boulay Putnam Dans une version ult rieure afin d viter ce genre de confusion certaines variables seront parfois appel es par des noms qui ne veulent rien dire Apprendre programmer Pourquoi Comment Rupert MdeD Page 22 sur 30 Module 7 les tours de main Images pour programmer met en exergue un certain nombre de petits programmes qui aident la vie lors de la conception de programmes plus importants ils sont appel s tours de main Ceci rejoint le conseil de du Boulay sugg rant l acquisition par le d butant de structures standards utiliser pour accomplir certaines t ches de base Ce module pr sente actuellement 6 tours de ma
27. a partie sup rieure repr sente l automate et son environnement La partie gauche de l cran est occup e par le tableau magn tique et le programme mis en page La partie droite poss de tous les boutons et les crans de contr le Tests de ta 5 effectuer L 2 AIDE gt LA tr s rapide rapide TZ FIN TANT QUE Figure 9 Comme signal plus haut le programme doit fonctionner quelles que soient les conditions dans lesquelles l automate se trouve Il est souvent difficile pour le d butant de concevoir toutes les possibilit s dans lesquelles un programme va fonctionner Le d butant va concevoir son programme g n ralement pour un sous ensemble des conditions d entr e possibles et ensuite le tester sur ce m me sous ensemble ce qui lui fera dire que son programme est correct sans qu il se rende compte que sa validation est incompl te Pour viter cela nous avons d fini pour chaque automate les diff rentes conditions de fonctionnement dans lesquelles pouvait d marrer Chacune de ces possibilit a donn lieu un bouton de test num rot Certains robots poss dent 2 boutons de test d autres jusqu 6 en fonction des circonstances Quand un test est termin le bouton bleu prend la couleur verte si l ex cution n a provoqu aucun probl me il devient rouge en cas d erreur plantage r sultats mauvais ou incomplets L exercice est quasiment r ussi quand tous les boutons d
28. atique Monastir 1996 Meurice de Dormale Robotique virtuelle un environnement pour un apprentissage dynamique de l algorithmique in Les actes du 5 colloque international sur la robotique p dagogique Montr al 1997 Putnam R T Sleeman D Baxter J and Kuspa L K Summary of Misconceptions of High School BASIC programmers in Studying the Novice Programmer University of Michigan 1989 pp 301 314 Romainville M Une analyse critique de l initiation l informatique quels apprentissages et quels transferts EPI Colloque francophone sur la didactique de l informatique septembre 1988 pp 225 241 Spohrer J C Soloway E Novice mistake are the folk wisdomscorrect in Studying the Novice Programmer University of Michigan 1989 pp 401 416 Apprendre programmer Pourquoi Comment Rupert MdeD Page 29 sur 30 Table des mati res PR C Re na nd nid one nan 2 2 BUT DE LA M THODE 3 LA BASE IMAGES POUR PROGRAMMER ssssesessseeessoosessoosesocoeseoeessoosessoosssooesssceeescocessoosssseesseesessoosesscesssoseses 4 HISTORIQUE DE L
29. cile de la programmation FPL propose la conception des programmes sous forme de flow charts Le Stanford BIP Project montre le contenu des variables et offre une assistance intelligente au d buggage des programmes etc Apprendre programmer Pourquoi Comment Rupert MdeD Page 3 sur 30 proc dures param tr es en Pascal ou en tout autre langage de type proc dural Un l ve motiv peut trouver dans cette m thode la source de plus d une centaine d heures de travail Programmer repr sente une difficult majeure pour le d butant et plus encore pour l enseignant qui se voit investi de la t che d aider cet apprentissage La base Images pour programmer Dans le d but des ann es 90 l essentiel de la p dagogie consistait apprendre directement un langage au d butant lui expliquer les effets de chaque instruction et lui montrer le fonctionnement de programmes simples Il ne lui restait plus alors qu faire le reste Manifestement cela ne fonctionnait pas L importance de la litt rature sur le sujet le confirme De mani re assez tonnante de nombreux constats d chec sont dress s mais peu de rem des concrets sont propos s Ceux ci ont la particularit d tre ponctuels de s attacher aider au passage d une difficult bien pr cise sans revoir le probl me dans son ensemble D une mani re g n rale du Boulay et al attire l attention sur l importance de la
30. daire dans le curriculum on peut m me envisager que les programmes con us en pseudocode soient traduits automatiquement en Pascal ou en tout autre langage de type proc dural ne faut toutefois pas perdre de vue que l objectif est de rendre l apprenant autonome face une feuille blanche La m thode atteindra ses objectifs finaux quand deux modules de robotique virtuelle adapt s aux variables indic es et aux proc dures param tr es seront impl ment s Diff rences entre CAR et mages pour programmer Sur un grand nombre de points la m thode CAR n apporte fondamentalement rien de neuf par rapport Images pour programmer Les concepts images et analogies sont g n ralement conserv s L adoption d un support interactif permet toutefois l apport d l ments suppl mentaires tels que les animations les auto tests etc Cette interactivit devient particuli rement int ressante de par la possibilit de d velopper des univers d exp rimentation L exp rience montre que pour les personnes ayant quelques difficult s d abstraction ces univers d exp rimentation sont particuli rement bienvenus C est le cas pour le module 5 l environnement de robotique virtuelle permet l apprenant par essais et erreurs de se forger une repr sentation solide et correcte de la fa on dont fonctionnent les structures de contr le s same indispensable pour aborder la programmation Une l g re inflex
31. e suivre Module 1 pr sentation succincte des modules et de leur encha nement Le but est de montrer la coh rence de la m thode afin que le d butant ne butine pas de chapitre en chapitre sans ordre pr cis ni sans comprendre que la ma trise d un module est indispensable pour passer au module suivant Module 2 qu est ce que programmer Ce module explique que programmer est de l ordre du Faire Faire et des cons quences qui en d coulent Ce chapitre attire l attention du d butant sur toutes les caract ristiques d un programme La diff rence fondamentale entre un humain qui peut combler des impr cisions et la machine est alors illustr e Les aspects ma triser pour programmer sont ensuite nonc s conna tre l ex cutant conna tre la t che r aliser r diger le programme et ensuite le valider pour toutes les conditions de fonctionnement imaginables Pour terminer un auto test permet l apprenant de se situer au niveau de ses acquis Module 3 qu est ce qu un programme de quoi est il constitu Le module va d composer la marche suivre en ses diff rents composants afin d introduire les structures de contr le et faire appara tre leur importance 8 Dans son relev sur les 5 difficult s majeures dans l apprentissage de la programmation du Boulay signale premier lieu un probl me d orientation g n rale la question de savoir quoi est destin e la programmation quel
32. e le mot Salut et ensuite la touche Entr e Taper une donn e d un type totalement diff rent de celui attendu provoque une erreur de lecture par exemple taper des lettres alors que le programme attend un entier ou un r el Figure 12 Dans le cas pr sent l affichage l cran va mettre en uvre le concept de lecture d une variable Le principe adopt est que lorsque l ordinateur trouve le nom d une variable dans la ligne qu il est en train de traiter il va chercher une copie du contenu de cette variable sur un autocollant et vient le coller sur le nom de la variable stipul dans la ligne Partie cach e de la machine NOMBRE L ordinateur pointe sur l instruction Affiche dernier nombre lu est MOMBRE Ordi va alors travailler dans la zone de gestion des autocollants afin de g n rer sur un autocollant vierge le message afficher 1 note d abord la chaine litt rale entre apostrophes Le dernier nombre lu est Ensuite vient le mot NOMBRE qui n est plus entre apostrophes car il d signe le nom d une planchette Ordi va donc prendre sur un autocollant vierge une copie du contenu de cette planchette pour la coller la place de son nom sur l autocollant afficher l cran Partie visible de la machine Pr paration de l autocollant qui sera affich le dernier nombre lu est Affiche le dernier nombre lu est NOMBRE
33. e rapidement qu un programme ne doit pas fonctionner que dans un cas pr cis mais dans tous les cas possibles et imaginables L attention du novice est attir e sur ce point notamment par la pr sentation d un m me programme s ex cutant dans des circonstances diff rentes tout en montrant son r sultat au niveau de l ex cution externe comme c est le cas dans la figure ci dessous REPETE Saute JUSQU A CE QUE Contre rivi re Gauche TAHT QUE PAS Le pont FAIS Saute FIH TANT QUE Droite Saute Saute Saute Gauche TAHT QUE PAS Contre mur FAIS Saute FIH TANT QUE Droite REPETE Saute JUSQU A CE QUE Contre mur Les structures R p titives 12 Ce programme dans cet environnement l donne la s quence suivante Ce programme dans cet environnement l donne la s quence suivante REPETE Saute JUSQU A CE QUE Contre rivi re Gauche QUE PAS Le pont FAIS Saute FIH TANT QUE Droite Saute Saute Saute Gauche TAHT QUE PAS Contre mur FAIS Saute FIH TANT QUE Droite REPETE Saute JUSQU A CE QUE Contre mur Figure 4 Apr s cette phase un grand nombre de questions 28 sont pos es afin que l apprenant puisse v rifier ses acquis Ces questions se divisent en deux grands groupes 1 Les questions plus ponctuelles demandant explicitement quelle ligne du programme va sauter l ex cution en fonction des conditions pr sent es dans l nonc Dans
34. ement un retour timide de la programmation voit le jour dans les coles secondaires belges via l option Sciences et Informatique Toutefois ces cours semblent reprendre dans les m mes conditions qu ils ont commenc il y a 10 ou 20 ans avec des enseignants mal form s utilisant des m thodes incertaines Au vu de ces trois arguments il est tout fait pertinent de d velopper ce genre de m thode pour la programmation puisse retrouver une place de choix dans le secondaire et aider les l ves d velopper mieux encore leurs facult s intellectuelles En tout cas en ce qui me concerne j ai constat une r elle am lioration des capacit s logiques et d abstraction chez nombre de mes l ves et si c tait refaire je le referais Remerciements Tous mes remerciements vont d abord Charles Duch teau pour toute la passion la fougue l honn tet intellectuelle et le travail dont il fait preuve au service des autres J ai toujours pu compter sur son aide Merci aussi tienne qui l occasion me fait part de ses conseils et n h site pas faire conna tre mon logiciel Tous mes remerciements pour Brigitte Bernadette Marguerite S bastien et tous les intervenants du DES qui n h sitent pas investir temps labeur intelligence et gentillesse pour faire du DES TEF la v ritable r ussite qu il est Grand merci Patrick et Pierre pour leur travail important d examen et d am lioratio
35. essairement tre nomm e ET typ e avant de pouvoir tre utilis e ce qui est galement tr s ducatif En cas d erreur de type il suffit de le modifier dans la page d dition au niveau du menu d roulant et demander une nouvelle ex cution Le type sera automatiquement mis jour Une v rification de la syntaxe est r alis e au moment du passage la page de test avec message signalant le type d erreur et la ligne laquelle elle se trouve Voici la page d ex cution 8 COMPTEUR NOMBRE MOYENNE E Enonc du chapitre 8 Enonc 8 Lire des nombres jusqu rencontrer 0 Calculer la moyenne des nombres lus sans tenir compte du 0 Attention la robustesse du programme il ne doit se planter quelles que soient les valeurs entr es par l utilisateur Au niveau de la page d ex cution il y a une nouveaut chaque ligne trait e est amen e sur la table de gestion des autocollants les manipulations n cessaires y sont r alis es afin d ex cuter l instruction Quelle que soit la manipulation affichage lecture affectation test de condition r solution d une expression math matique l enti ret du traitement est anim Le transfert et le collage des autocollants est montr explicitement de fa on favoriser la cr ation d images mentales et l ancrage de la repr sentation du fonctionnement de la machine fonctionnelle Pour les expressions bool ennes les autoco
36. giciel ToolBook version 6 0 Sa taille totale est actuellement inf rieure 10 Mo tourne sur toutes les versions de Windows et toutes les machines partir des 486 la taille de la m moire est indiff rente Apprendre programmer Pourquoi Comment Rupert MdeD Page 27 sur 30 Ce logiciel tourne sur poste seul possibilit de sauver les travaux des modules 5 et 8 et sur r seaux Linux Novell Windows etc En cas d installation en r seau les sauvegardes des modules 5 et 8 peuvent galement s effectuer en donnant comme destination un r pertoire ouvert en criture Conclusions En guise de conclusion nous pourrions nous demander pourquoi il est utile de se d mener pour am liorer les m thodes d apprentissage de la programmation une poque o elle quasiment disparu de nos coles secondaires Je vois trois r ponses cela Premi rement parce que j ai constat que ce cours est b n fique pour les l ves Ils am liorent leurs capacit s de logique et d abstraction m me si des exp riences n ont pas encore prouv ce fait de fa on indubitable Deuxi mement on pourrait se demander pourquoi les cours de programmation ont disparu des coles J attribue cela deux causes d une part la difficult des m thodes employ es qui rendent ce cours ardu pour des d butants adolescents d autre part la formation des enseignants n tait et n est pas la hauteur Troisi m
37. hes autocollants voir module 6 sera indolore le concept g n ral et les habitudes de manipulation des donn es tant d j pr sentes Troisi mement les petits modules de programmes g rant des t ches fr quentes compteurs sommes etc appel s tours de main dans Images pour programmer pourront tre introduits en robotique virtuelle C est d j le cas pour trois d entre eux deux compteurs et une somme Ce sera le cas prochainement pour tous les tours de main vus dans la m thode par exemple la position du premier et du dernier qui sera introduite par un robot poss dant des ardoises et dont la t che sera de signaler les positions de la premi re et de la derni re voiture rouges qui passent devant la fen tre Cette tactique permettra d viter la double difficult que le d butant soit confront une strat gie mettre en place d une part qui plus 7 Si on se place du c t du d butant d autres avantages manent de cette affirmation D un c t elle poss de quelque chose de rassurant le d butant a le sentiment de s introduire dans un univers moins inconnu ou tout le moins dans un univers qui fait partie de son imaginaire depuis longtemps D un autre c t cela d mythifie le c t intelligent de la machine un robot ne r alisant que les actions qui lui sont command es Le d part fait donc sur des bases plus saines Apprendre programmer Pourquoi Comme
38. i Comment Rupert MdeD Page 7 sur 30 Un premier saut dans l abstrait peut d j avoir lieu au moment de ma triser les structures de contr le conditionnelle r p titive Une passerelle consiste en la mise en place d un environnement d exp rimentation qui permet au d butant de construire ses concepts de fonctionnement des structures de contr le par essai et erreurs tout en faisant appel des situations concr tes connues qui ne le coupent pas de ses ressources pour les d tails voir article Robotique virtuelle un environnement pour un apprentissage dynamique de l algorithmique en annexe Plus loin n en d plaise aux puristes un triple saut peut tre vit en optant r solument pour l option selon laquelle les ordinateurs sont des robots Si on conserve une distinction entre les deux types de machines il est n cessaire d introduire de nouvelles sp cifications lorsqu on passe des robots aux ordinateurs introduisant une certaine cassure dans le cursus Cette cassure n cessite l injection d une quantit de mati re et de nouveaut s substantielles En revanche l amalgame propos permet d obtenir un continuum le passage du robot l ordinateur ne n cessite plus de ce fait que l nonc de ses sp cificit s propres comme on aurait le faire pour un robot trieur d enveloppes ou gestionnaire de stock De mani re plus d taill e ce continuum peut se concevoir de la mani
39. in tous emprunt s Images pour programmer Le compteur La variable signal La somme Le plus petit et le plus grand Le dernier et le pr c dent Les positions du premier et du dernier Die D D Un septi me tour de main sera bient t ajout afin de faciliter la vie des apprenants auquel il est syst matiquement demand des programmes robustes ce sera le tour de main de bonne lecture qui vitera la lecture de donn es ind sirables un 7 comme valeur obtenir pour un d ou un 5 pour le nombre de candidats aux lections par exemple Chaque tour de main est d velopp en d tail mais un raccourci permet aux plus rapides de sauter directement au tour de main fini afin d en examiner la structure S ils ne la comprennent pas un retour en arri re est toujours possible Le programme est alors ex cut en utilisant la m taphore anthropomorphique d velopp e au module pr c dent Ce chapitre n est pas muni d un auto test le module suivant r v lera sans probl me les lacunes des apprenants Module 8 programmation virtuelle en pseudocode Le module 8 a une interface tr s semblable celle du module 5 robotique virtuelle mis part la pr sence de variables et les constituants de la marche suivre sont adapt s ce type de robot Au dessus du tableau magn tique se trouve 8 variables configurables par le programmeur il peut tout moment y indiquer un nom et un menu d roulant
40. iner 28 BIBLIOGRAPHIE SEEE ea LEEU ENTENT EEEO dc ace sonne 29 TABLE DES MATIERES de Rd D 0 RO D 30 Apprendre programmer Pourquoi Comment Rupert MdeD Page 30 sur 30
41. int r t qui ne sera que momentan ces repr sentation sont g n ralement abandonn es assez rapidement elles deviennent fastidieuses quand les programmes deviennent relativement complexes L id e est d avoir le beurre et l argent du beurre en traduisant automatiquement le programme r alis en GNS L apprenant sans devoir ma triser des savoir faire suppl mentaires aurait la possibilit de tester son programme soit sous forme s quentielle comme c est d j le cas pour le moment soit sous forme de GNS qui montrerait mieux le flux d ex cution du programme Cette impl mentation est l tude Toutefois dans l ex cution s quentielle des indicateurs permettent de rep rer les diff rents l ments des structures de contr le actives Dans l exemple ci dessous le curseur vert indique la ligne en cours de traitement Les indicateurs mauves indiquent les positions des l ments constitutifs du Tant que Les indicateurs bleus indiquent les positions des l ments constitutifs des 51 les indicateurs bleus gris s correspondant au Si en cours d ex cution Un bon exercice serait de montrer cette portion de programme un apprenant et lui demander sachant que la ligne 9 est en cours d ex cution quels taient les r sultats des tests des lignes 2 3 et 6 Apprendre programmer Pourquoi Comment Rupert MdeD Page 18 sur 30 FIN SI FIN SI Figure 10 Comme il a t dit plus haut une r flexio
42. ion est donn e quant au passage des robots aux ordinateurs la m thode CAR essayant d estomper au maximum les diff rences entre ces deux machines Ceci permet d utiliser l environnement de robotique virtuelle pour introduire plus ais ment certains concepts abstraits Ainsi le module 5 devient un camp de base permettant de soutenir le d butant dans ses exp ditions variables tours de main et programmation en pseudocode Cette programmation en pseudocode peut alors tre abord e dans un environnement d exp rimentation tout fait semblable celui des robots virtuels est toutefois regretter que certaines richesses de Images pour programmer aient t provisoirement d laiss es C est notamment le cas de la d marche descendante et structur e dont l approche proc durale est l outil privil gi il est indispensable de promouvoir cette approche d s les premiers exercices Il serait judicieux que les concepts de Quoi Faire Faire et Comment Faire Faire retrouvent une place de choix dans la m thode Apprendre programmer Pourquoi Comment Rupert MdeD Page 9 sur 30 L absence GNS permettant au d butant visualiser le flux d ex cution des programmes est galement regrettable Ces lacunes seront combl es dans les mois venir CAR module par module Par souci de bri vet seuls les modules apportant quelques nouveaut s sont d velopp s en d tail
43. is l objectif est d arriver une cinquantaine Les robots actuels regroup s par cat gories sont 1 Les conditionnelles et leurs imbrications le but est d apprendre utiliser le Sinon et imbriquer des conditionnelles les unes dans les autres 1 1 L automate lanceur de pi ce une condition pour discriminer deux cas 1 2 L automate livreur de pizza deux conditions trois cas 1 3 L automate montreur de cartes trois conditions quatre cas 1 4 L automate lanceur de boules deux conditions quatre cas 2 Les op rateurs logiques manipulation ET O PAS th or me de de Morgan 2 1 L automate tireur de nombres utilisation du ET et du OU bon escient 2 2 L automate frileux utilisation du ET et du PAS 2 3 L automate faiseur de puzzle utilisation du du et du PAS 2 4 L automate loueur de voiture application de de Morgan au ET 2 5 L automate sorteur de chien application de de Morgan au 3 Les r p titives et leurs imbrications choix entre R p te et Tant que imbrication de r p titives 3 1 L automate chargeur d armoires utilisation du R p te 3 2 L automate transporteur de valises utilisation du Tant que 3 3 L automate transporteur de repas 2 R p te imbriqu s dans un R p te 4 Imbrication de conditionnelles et r p titives Apprendre programmer Pourquoi Comment Rupert MdeD Page 13 sur 30 4 1 L automate multiple lanceur de pi ces
44. l id e d impl menter le cours complet sur ordinateur tout en exploitant les nombreuses possibilit s du multim dia Cette impl mentation fut r alis e en juillet et ao t 2000 Le didacticiel ainsi cr fut utilis d s la rentr e de septembre pour l ensemble des classes Cette utilisation permit de constater une nette am lioration au niveau de l algorithmique mais des probl mes subsistaient au niveau de la r alisation des programmes informatiques en pseudocode Le module 8 fut alors d velopp en f vrier 2002 Sa structure est tr s voisine du module 5 sur la robotique virtuelle Ce module simule le fonctionnement de l ordinateur lors de l ex cution du programme montrant les changes avec le clavier et l cran et la gestion des variables Ce module en imageant la machine fonctionnelle a permis une fois de plus aux l ves de surmonter leurs difficult s Au bout de cinq ans d utilisation et d am lioration de cette nouvelle m thode je peux dire que les progr s sont surprenants et que plus aucun l ve ne pr sente de difficult s majeures dans la r alisation de programmes simples que ce soit en pseudocode ou en Pascal Il s av re toutefois que les difficult s se sont report es plus loin au niveau de l utilisation des variables indic es et des proc dures param tr es 6 Pour les d tails voir Meurice de Dormale R 1996 et 1997 en annexe Apprendre programmer Pourquoi Comment Ruper
45. l est plus familier Des m thodes doivent galement tre fournies au novice pour observer certains de ses travaux en action L auteur met en garde contre une simplicit superficielle de la machine fonctionnelle simplicit qui peut tre atteinte au d triment de la qualit et qui risque de d boucher sur une difficult plus grande d exploitation par le novice ambigu t s pauvret s mantique des primitives 2 Texte int gral consultable sur http www det fundp ac be cefis publications doconline html Voir description dans Haugulstaine Charlier Apprendre programmer Pourquoi Comment Rupert MdeD Page 4 sur 30 programme Je programme Transformer Figure 1 Images pour programmer s attache d abord d finir ce qu est programmer et les constituants d un programme L algorithmique est alors abord e au travers de la programmation de petits robots Vient ensuite une description de l ex cutant ordinateur gestion des casiers variables communication avec l ext rieur manipulation de l information et compr hension des structures de contr le Un certain nombre de tours de main sont abord s en pseudocode langage naturel de description d algorithme et en GNS Ce n est cette solide introduction que la syntaxe du langage Pascal est abord e Cette m thode prenait donc l exact contre pied des pratiques de l poque Les pri
46. llants changent de couleurs au fur et mesure des r sultats du traitement suivant que le r sultat est vrai vert ou faux rouge Chaque variable est pr sent e avec son nom son type et son contenu Une variable non encore affect e ne pr sente aucun autocollant de contenu sa lecture provoquera une erreur avec message explicite Au 8 Selon du Boulay Une difficult majeure est l initialisation des variables Il est typique d oublier d initialiser la variable Somme car l analogie est faite avec une bo te et si personne n a utilis cette bo te avant elle est forc ment vide ce vide repr sente d office le z ro Certains syst mes exacerbent cette mauvaise compr hension en assignant d office des valeurs par d faut aux variables non assign es Ceci suppose que l apprenant v rifie le Apprendre programmer Pourquoi Comment Rupert MdeD Page 25 sur 30 moment des calculs et des affectations les erreurs de types sont signal es de fa on pr cise messages d erreur Voici comment se pr sente une erreur d affectation toutes les variables tant cette fois d clar es de type entier algo08 loj COMPTEUR OMN NOMBRE JUSQU A CE QUE AMBRE COMPTEUR ALORS ES COMPTEUR Commentai Enonc du chapitre 8 Enonc 8 Lire des nombres jusqu rencontrer 0 Calculer la moyenne des nombres lus sans tenir compte du 0 Attention la robustesse du programme il ne doit
47. n du logiciel Merci Ad le Pierre encore et Amaury qui se sont pench s sur mon travail selon l angle particulier de l innovation Merci Michel d avoir pluch mon logiciel dans le moindre d tail Merci aussi tous les participants au DES de cette ann e et de l ann e pass e Nous formions formons et formerons une bonne quipe Merci mes l ves qui collaborent l am lioration de la m thode et mes proches qui me supportent Merci Jean Baptiste Sonnet qui a dessin les robots les beaux Apprendre programmer Pourquoi Comment Rupert MdeD Page 28 sur 30 Bibliographie Barr A Beard M Atkinson R C The computer as a tutorial laboratory the Stanford BIP project International journal of man machine studies 1976 8 pp 567 596 Barth M L apprentissage de l abstraction Paris Retz Cunniff N Taylor P Black J B Does programming language affect the type of conceptual bugs in beginners s programs comparison of FPL and Pascal in Studying the Novice Programmer University of Michigan 1989 PP 419 429 du Boulay B Some difficulties of learning to program in Studying the Novice Programmer University of Michigan 1989 PP 283 299 du Boulay B O Shea T Monk J B The black box inside the glass box in Studying the Novice Programmer University of Michigan 1989 PP 431 446 Duch teau Ch Faut il enseigner l informatique ses utilisateurs
48. n est en cours pour voir comment d s les premiers programmes une d marche proc durale pourrait tre mise en uvre Cette d marche nous para t plus int ressante que la d marche actuelle car elle favoriserait la d marche descendante et structur e qui sera indispensable pour les programmes plus complexes ou plus volumineux Cela viterait galement de devoir introduire ce nouveau concept plus tard cf les sauts dans l abstrait Module 6 les sp cificit s du robot ordinateur Au niveau des sp cificit s du robot ordinateur il va tre essentiellement question du transfert du stockage et de la transformation d information Il fallait trouver une analogie ad quate afin de pr senter un syst me homog ne au d butant Apr s m re r flexion l utilisation d autocollants nous paru la plus judicieuse Attention il s agit d autocollants opaques et munis de colle forte En d autres termes quand un autocollant est coll sur un autre l ancien autocollant est devenu invisible et inaccessible et le nouvel autocollant ne peut plus tre d tach Voici la saga des autocollants Comme signal plus haut l ordinateur est consid r comme un robot ayant des sp cificit s propres l entr e du chapitre une m taphore anthropomorphique est pr sent e Partie cach e de la machine Partie visible de la machine Pi ce dont Ordi ne peut sortir Planches pain variables les tiquette
49. nant observe l ex cution du programme et les r actions ext rieures engendr es chez l ex cutant Il peut aussi observer les r actions int rieures provoqu es par les structures de contr le et la suite que cela engendrera dans l ex cution du programme 2 Th or me de de Morgan la compl mentation d un OU devient un ET avec chaque terme compl ment herbe mouill e si il pleut OU si j arrose Herbe PAS mouill e si il ne pleut PAS ET si je n arrose PAS La compl mentation d un ET devient un avec chaque terme compl ment je peux conduire si j ai le permis si j ai la cl Je ne peux pas conduire si PAS le permis si je PAS la cl 10 notre avis pour le peu de litt rature consult e cet aspect s il ne se passe rien dehors c est qu il se passe quelque chose dedans est neuf et semble s av rer b n fique pour le d butant qui peut ainsi prendre conscience qu il y a en quelque sorte deux ex cutants l automate qui ex cute les actions ext rieures et l int rieur de celui ci un second automate qui poss de un programme pour ex cuter le programme en g rant les structures de contr le testant les conditions effectuant les branchements Cet aspect est approfondir et pourrait fournir des retomb es didactiques int ressantes Apprendre programmer Pourquoi Comment Rupert MdeD Page 11 sur 30 D autre part il faut que le d butant comprenn
50. ncipes de la programmation sont abord s sur base d une machine fonctionnelle imag e claire et simple La syntaxe n appara t plus alors que comme une simple traduction permettant l encodage du programme La majeure partie de l nergie d pens e par l apprenant est investie dans invariant de la programmation analyse du programme proprement dite pour ne laisser que peu de place la syntaxe diff rente selon les langages Au vu de tout ce qui pr c de nous sommes surpris que cette m thode n ait pas eu le retentissement international qu elle m ritait Historique de la m thode CAR En tant qu l ve du Professeur Duch teau j ai appliqu directement Images pour programmer dans le cours de programmation dont je venais d tre fra chement investi Comme il est dit plus haut cette m thode fonctionne et donne d excellents r sultats pour les d butants adultes s est toutefois av r qu environ un tiers des l ves adolescents 16 18 ans pr sentaient des difficult s au moment de la r daction de leurs premiers programmes GNS graphes de Nassi Schneidermann permettant de mieux visualiser le flux d ex cution du programme Ceci est corrobor par Cunniff et al qui signalent des am liorations notables chez les d butants qui utilisent leur langage FPL First Programming Language se pr sentant sous forme de flow chart Dans ce syst me les structures de contr les sont visuellement i
51. nnement des structures de contr le travers ses essais et erreurs comme c est le cas dans l environnement Logo Une premi re version du module de robotique virtuelle incluant les 4 robots de Image pour programmer 1 robot personnel fut alors r alis e 1995 et test e sur des l ves L interface de construction des programmes manquant d ergonomie une nouvelle version la version actuelle de 17 nouveaux robots de difficult progressive fut r alis e voir le module 5 robotique virtuelle ci dessous La proposition d crire deux articles sur ce module m a oblig examiner de plus pr s les raisons pour lesquelles les l ves utilisant cet environnement faisaient des progr s importants dans la ma trise des structures de contr le En r sum le probl me vient du fait que les d butants adolescents ne poss dent pas encore un sens de l abstraction suffisamment d velopp pour g rer correctement le flux des programmes de fa on totalement abstraite Il s av rera par la suite que ce probl me d abstraction est en fait le n ud gordien des probl mes de l apprentissage de la programmation La mise la disposition des l ves de ce module eut un effet secondaire inattendu Les l ves travaillant en autonomie ont rapidement montr des diff rences importantes dans leurs vitesses de progression posant de s rieux probl mes la reprise d un cours ex cathedra par la suite Vint alors
52. nt Rupert MdeD Page 8 sur 30 est dans un univers abstrait qu il conna t mal ou qu il ne conna t pas d autre part revanche si pr alablement le d butant d d velopper une strat gie face un probl me d inspiration concr te positions de la premi re et de la derni re voitures rouges il aura moins de mal g rer le probl me plus abstrait qu est le fait de signaler les positions du premier et du dernier mots attention dans une liste de mots qui plus est quand cette liste des mots est n importe laquelle passant par la t te d un utilisateur inconnu Apr s ces introductions aux variables module 6 et aux tours de main module 7 l apprenant vite un nouveau saut et retrouve un univers connu un module de robotique virtuelle sp cialement d dicac l ordinateur voir module 8 disposant de toutes les instructions n cessaires la conception de petits programmes en pseudocode Huit variables y sont disponibles ainsi qu un cran et un clavier L apprenant peut utiliser ce module pour r aliser un grand nombre de programmes simples y compris des programmes utilisant le tirage au hasard L ex cution de tous les programmes se fait sous forme d animations qui montrent comment les choses se passent tant l int rieur qu l ext rieur de l ordinateur Vient enfin l introduction de la syntaxe qui comme t dit plus haut ne joue qu un r le franchement secon
53. ons d intimes convictions qui seront prises en compte dans cet expos m me si certaines d entre elles n ont pas trouv d cho dans la litt rature ou n ont pas fait l objet d une validation exp rimentale Les points 6 et 7 seront abord s au niveau de t moignages en annexe Ces restrictions tant faites ce m moire se d ploiera selon architecture suivante Le but exact de la m thode propos e La pr sentation de la m thode de base Images pour programmer et en quoi elle constituait une approche totalement novatrice et visionnaire dans l apprentissage de la programmation Un bref historique des faits qui ont amen l auteur prolonger cette m thode de base par l impl mentation de certains modules et finalement par la conception d une m thode compl te assist e par ordinateur L organisation de la nouvelle m thode Qu est devenue la nouvelle m thode par rapport Images pour programmer Le d tail de chacun des modules de la nouvelle m thode ses objectifs ses motivations au regard de l exp rience accumul e et de la litt rature consult e les avantages et inconv nients de son impl mentation et des conseils m thodologiques s y rapportant L apport du DES TEF dans l volution de la m thode Et pour terminer une micro fiche technique du logiciel But de la m thode CAR Par apprendre programmer 1l faut entendre la ma trise d un savoir faire consistan
54. oppe dans pince est jaune ou non Enveloppe tenue rouge qui teste si l enveloppe dans sa pince est rouge ou non Figure 8 gt Deux aides qui seront bient t disponibles une aide technique comment utiliser les diff rents l ments du programme et une aide la conception diff rentes questions permettant de d marrer sa r solution Plus tard le module poss dera aussi un petit tutoriel d introduction afin de faciliter sa prise en main par le d butant gt Un bouton de mise en page qui indente automatiquement les lignes du programme en fonction des structures de contr le aide la lecture et la v rification du programme gt Un bouton d effacement du programme pour tout recommencer z ro gt Un bouton permettant d acc der la page de test gt Un bouton permettant de revenir au menu Les constituants de la marche suivre contiennent 4 cat gories de sabots gt instructions d actions l mentaires qui varient en fonction du robot gt Les conditions qui varient galement en fonction du robot gt Les op rateurs logiques qui ne varient pas dans certains exercices ils ne sont pas disponibles afin de forcer l utilisation du Sinon gt Les structures de contr le qui ne varient pas non plus On parle de sabot comme dans certains jeux de carte car chacun des champs gris est une r serve d o on peut tirer autant de copies du contenu qu on veu
55. s pourpres portant leurs noms et leurs autocollants jaunes rouges sur lesquels figurent leurs contenus Ordi les accroche au mur en fonction de la demande du programmeur L cran permettre l ordinateur de d autocollants communiquer les informations sortantes l utilisateur Le clavier va permettre l utilisateur de communiquer les informations entrantes l ordinateur Zone de traitement des autocollants Table de travail 2 zones Zone de traitement de la Marche Suivre Figure 11 L op ration de lecture au clavier est souvent pr sent e comme banale mais repr sente des difficult s pour certains d butants Ils ne comprennent pas toujours que la variable associ e l instruction de lecture Apprendre programmer Pourquoi Comment Rupert MdeD Page 19 sur 30 est affect e du Boulay Un r sum de ce qui se passe est pr sent l apprenant suivez la fl che bleue et les num ros des tiquettes grises Remarque une tiquette 4bis sera ajout e signalant qu une copie de ce que l utilisateur tape au clavier appara t l cran Sans avoir toucher le concept d affectation d une variable est abord 6 aura irr m diablement Partie visible de la machine disparu au profit de Salut 5 Le mot est copi sur l autocollant puis il est coll sur la planchette de destination MOT 4 L utilisateur tap
56. s ce cas les touches permettent de modifier le contenu du programme et ne correspondent pas aux entr es pr vues lors de son fonctionnement lectures Il est important de ne sous valuer ce 11 Apprendre un langage de programmation ne sera pas seulement apprendre la syntaxe mais aussi la mani re de proc der l dition du programme 12 Certains auteurs signalent un danger important utiliser le langage naturel pseudocode pour apprendre programmer du Boulay redoute la d rive que le novice pense que le syst me soit dot de capacit s humaines Bonar parle carr ment de bug generator de par la confusion entre la s mantique du langage naturel et celle du langage informatique Ces deux cueils ne nous sont pas apparus sans doute par la pr sentation de primitives d j r dig es et par leur classement en cat gories suivant leurs statuts un ET utilis pour former une cha ne d instructions sera imm diatement rep r par le v rificateur de construction du programme vitant la prise de mauvaises habitudes 13 i Pour du Boulay les messages d erreur sont point crucial de la machine fonctionnelle et forment une fen tre importante sur l int rieur de la machine Un grand soin doit y tre apport afin de s assurer qu ils d crivent l erreur en des termes ou des composants connus du novice Apprendre programmer Pourquoi Comment Rupert MdeD Page 16 sur 30 L
57. sol es ce qui oblige l apprenant d terminer explicitement les instructions qui doivent prendre place dans ces digressions Apprendre programmer Pourquoi Comment Rupert MdeD Page 5 sur 30 Ces difficult s pouss introduire des travaux pratiques en Logo sur les r p titives imbriqu es dessins de rosaces au moment o les structures de contr le taient abord es ce qui semblait aider les l ves dans une certaine mesure Apr s cette tape les exercices des petits robots taient r alis s et ceci avec des classes comptant de vingt vingt cinq l ves Face un tel nombre la correction des exercices tait un r el probl me surtout quand il fallait expliquer son erreur chaque l ve Des cours de rattrapage et des corrections individuelles furent alors mises sur pied mais s est av r que les explications verbales abstraites du fonctionnement des structures de contr le ne portaient que peu de fruit En outre le suivi des l ves ayant vraiment des grosses difficult s r v l que leurs probl mes relevaient essentiellement d une mauvaise compr hension du flux d ex cution du programme au niveau des structures de contr le Face ces diff rents probl mes l id e fut envisag e que l l ve puisse programmer et tester seul dans une environnement interactif ses programmes sur les petits robots pourrait ainsi se construire une repr sentation correcte du fonctio
58. t gt Enonc du chapitre 8 Ten 19 lesnaemenenls TaLors Lire des nombres jusqu rencontrer 0 Calculer la moyenne des nombres lus 3 REPETE JUSQU A CE QUE sans tenir compte du 0 Attention la robustesse du programme il ne TANT QUE FFIN TANT QUE 1 se planter quelles que soient les valeurs entr es par l utilisateur Figure 18 L avantage de ce genre de regroupements est que l apprenant d s le d part a l attention attir e sur les diff rents statuts des l ments qu il utilise pour concevoir son programme Ceci est essentiel lorsqu il devra rechercher des l ments du langage dans un livre par exemple ou comprendre la litt rature sp cialis e Dans les versions ult rieures il sera veill ce que la rigueur des appellations soit am lior e L nonc est obtenu en cliquant sur les boutons num rot s de 1 20 L nonc peut tre d plac et redimensionn Il peut de plus rester affich en permanence tant sur la page d dition que sur la page d ex cution L utilisateur construit son programme de la m me fa on que dans le module 5 Apprendre programmer Pourquoi Comment Rupert MdeD Page 24 sur 30 Les m mes caract ristiques sont remarquer au niveau de la facilit d utilisation du manque d erreur de syntaxe de visualisation des statuts des l ments constitutifs Pr cisons qu une variable doit n c
59. t sp cifier r diger faire ex cuter tester et d bugger des programmes informatiques en r ponse des demandes nonc s plus ou moins impr cises Dans ce cas l ordinateur est utilis comme l ex cutant des programmes que l apprenant a r dig s et non comme un outil pour r aliser des t ches telles que du traitement de texte des feuilles de calcul lectroniques la gestion de bases de donn es etc De plus si dans le cursus certains outils et m taphores sont utilis s pour faciliter l apprentissage du novice en la mati re l objectif final est qu il sache avec son crayon et face sa feuille de papier r diger les programmes ad quats r pondant aux nonc s qui lui sont soumis sans que dans cette phase de conception le recours la machine lui soit n cessaire Cette finalit doit tre gard e l esprit surtout pour les p dagogues qui utiliseraient la m thode pour enseigner la programmation leurs tudiant e s Il s agit bien d une m thode et d une succession de trucs et astuces L ensemble du curriculum est le r sultat d une r flexion p dagogique destin e conduire le novice absolu qui n a pas encore id e de ce que veut dire le mot programmer la r alisation de programmes g rant les variables indic es et les Nos recherches nous ont men la d couverte de quelques m thodes propos es pour aider le d butant franchir l un ou l autre cap diffi
60. t ces copies pouvant tre tra n es drag and drop sur le tableau magn tique gris Une fois d pos es ces copies peuvent encore tre d plac es ou supprim es voir mode d emploi Le cadre noir en bas de l cran affiche en permanence les indications n cessaires Le lecteur int ress pourra trouver plus de d tails dans le mode d emploi Quels sont les int r ts d une telle interface Comme t d j comment vaut mieux dissocier les difficult s Quand on veut programmer une premi re difficult est d j l utilisation d un environnement de programmation dans lequel la dissociation dition Ex cution est rarement vidente Ce module l Pour du Boulay Une distinction cruciale est faire entre les diff rents r les de l ordinateur qui sont souvent m lang s par le novice D une part se trouve la machine ex cutant un des programmes de l apprenant Dans ce mode elle devient le m canisme d crit par le programme elle devient l ex cutant D autre part la machine devient Apprendre programmer Pourquoi Comment Rupert MdeD Page 15 sur 30 distingue clairement ces deux phases il est impossible de modifier le contenu d un programme phase d ex cution ni de l ex cuter en phase d dition et en permettent l utilisation tr s ais e pr parant ainsi le novice l utilisation d un environnement r el de programmation L encodage du programme n cessite la ma trise du
61. t MdeD Page 6 sur 30 donc le projet de d velopper deux modules permettant aux l ves de visualiser qui se passe lors de l ex cution des programmes concernant ces deux derniers points Organisation de la m thode CAR Lorsqu un novice apprend programmer son probl me est de surmonter simultan ment trois difficult s 1 La ma trise de l algorithmique notions abstraites La ma trise de la gestion des variables notions abstraites 3 La fusion des deux l ments pr c dents afin de pouvoir crire des programmes qui vont traiter de fa on abstraite dans une machine abstraite de l information afin de fournir des r sultats corrects quelles que soient les donn es introduites dans la machine Comme le montre la figure 1 ces trois difficult s cumul es se r v lent infranchissables L id e est donc de d couper le cursus en tapes sans qu aucune de celles ci ne pr sente subitement l introduction importante d l ments soit trop complexes soit trop nouveaux Id alement le passage d un module l autre devrait tre quasiment insensible En outre ce ne sont pas les contenus qui sont le plus craindre Les jeunes d butants sont confront s une difficult de taille l abstraction omnipr sente dans le domaine qui nous occupe M me si de fa on quelconque une m thode concr te permet un d butant de r aliser ses premiers pas en faisant appel ses ressources ce qu
62. tient gt Un bouton permettant d acc der l nonc voici l nonc correspondant l exercice de la figure ci dessus Apprendre programmer Pourquoi Comment Rupert MdeD Page 14 sur 30 de 1 Une soci t effectue une enqu te par la poste Le facteur d pose vrac dans la bo te aux lettres des enveloppes rouges pour les fruits vertes pour les l gumes et jaunes pour les fromages L automate est charg de trier ces enveloppes en les d posant dans les bo tes de couleurs correspondantes Certains jours il peut n y avoir aucune enveloppe Quand l automate plonge sa pince dans la bo te aux lettres et qu elle ressort vide c est qu il n y a plus d enveloppe dans la bo te aux lettres Au d but l automate est pr s de la bo te aux lettres et c est l qu il doit se trouver en fin de programme Le programme sera r ussi si les 2 v rifications se concluent avec succ s Les l automate comprend sont Va pr s de la bo te aux lettres n cessaire pour pouvoir prendre 1 enveloppe en face de la bo te jaune Va en face de la bo te rouge Va en face de la bo te verte Prends 1 enveloppe dans la bo te aux lettres D pose l enveloppe dans la bo te qui est devant toi quelle que soit sa couleur Les l automate comprend sont 1 enveloppe dans ta pince qui teste s l tient 1 enveloppe dans sa pince ou Enveloppe tenue jeune qui teste si l envel
63. tions Le point 1 ne sera pas abord Au niveau des bienfaits de l apprentissage de la programmation l examen de la litt rature de la fin des ann es 80 soit avance des suppositions non tay s soit relate des exp riences discutables sur les transferts de ce genre d apprentissage Romainville Un temps consid rable devrait tre consacr la recherche d articles plus r cents cens s tre parus au cours d une p riode sans doute moins prolifique durant laquelle la programmation pure et dure c d du terrain l utilisation des progiciels d abord au multim dia ensuite et l exploitation de l Internet enfin Apprendre programmer Pourquoi Comment Rupert MdeD Page 2 sur 30 Le point 5 sera pas abord non plus Les ann es 90 ont vu clore des m thodes d aide l apprentissage de la programmation permettant au novice de franchir telle ou telle tape difficile du cursus Comme pour le point 1 du temps devrait tre consacr afin de recenser les m thodes apparues derni rement et v rifier s il pas double emploi avec la m thode pr conis e Le point 4 se r sume une trop br ve incursion dans l univers pl thorique des publications consacr es aux probl mes que rencontrent les d butants ou novices dans l apprentissage de la programmation L exp rience de l auteur a donn lieu un certain nombre d assertions r sultant d observations d intuiti
64. tte instruction demande de mettre dans la variable PRIX le r sultat du calcul NOMBRE 2 est le signe d affectation c est dire une instruction demandant de mettre dans la variable dont le nom figure devant la pointe de la fl che gauche le contenu qui se trouve de l autre c t droite Ordi va alors travailler dans la zone de gestion des autocollants afin de g n rer sur un autocollant vierge du type que la variable PRIX r el le r sultat du calcul de l expression math matique demand Ordi prend une copie de HOMBRE qu il vient coller la place de son dans l expression math matique Ordi effectue l expression et obtient le r sultat Ordi prend alors un autocollant du type de la variable remplir affecter un r el dans ce cas ci Ordi note le r sultat de son calcul sur cet autocollant Ordi va coller l autocollant sur la planchette PRIX 15 32 est remplac d finitivement par la valeur 11 5 Figure 15 Comme pour les autres module un auto test permet l apprenant de v rifier ses acquis Les questions portent d abord sur les contenus des variables apr s plusieurs affectations ensuite sur la compatibilit des types le d butant ne se rend pas toujours compte qu une expression peut changer le type des donn es obtenues Voici deux exemples de questions Situation Auto test Au d part les contenus des variables sont ceux ci dessus MONTANT 125 et
Download Pdf Manuals
Related Search
Related Contents
HLA Fusion ™ Database Utility ディスクロータリー JB03/JC03 Gainward PowerPack! Pro/685 TV-DVI AGP GeForce FX 5500 DDX6021BT DDX6051BT DDX4021BT DDX4051BT DDX3021 Sony SSCCM564R surveillance camera BLV Series - Oriental Motor manual MAX-8000+ espanhol sem Copyright © All rights reserved.
Failed to retrieve file