Les V-Toys Enfants2 - Aller plus loin avec les V-Toys (1)

From OFSET Wiki

Jump to: navigation, search

Contents

[edit] I - LA STRATEGIE CONDITIONNELLE – OU L’APPRENTISSAGE DU RAISONNEMENT

Nous allons dans ce chapitre, examiner un procédé de programmation demandant un peu plus de maturité et une pratique plus soutenue de la programmation V-toys.

[edit] CE QUI A DEJA ETE VU dans le chapitre ‘si un objet en rencontre un autre’

Avec les V-toys, un enfant apprend à utiliser les briques pour animer les objets qu’il crée. S’il dessine une coccinelle et un hanneton, il peut décider que la coccinelle entre en conflit avec le hanneton et que là, quand ils se rencontrent, il se passe quelque chose . Il devra trouver, dans le tiroir des outils, tout ce qui va lui servir pour réaliser son projet : une brique de déplacement mais aussi une brique de collision et construire un script qui montrera le résultat possible de la rencontre.

Ci-dessous, la coccinelle disparaît, le hanneton l’a mangée.

Pour réussir sa programmation, il doit être capable de suivre une certaine procédure mentale qui consiste

  • à se représenter l’opération dans sa tête sous forme d’image,
  • puis d’en décrire avec les mots du langage courant les phases successives,
  • et enfin apprendre à mettre en parallèle chaque étape avec les briques du langage informatique V-toys.

Associer le raisonnement parlé à la construction du script est le moyen le plus simple mais le plus efficace pour l’initier progressivement et concrètement à la logique de la programmation :

l’action du maître doit lui faire toucher du doigt qu’à chaque étape de son raisonnement verbal on doit trouver un sigle conventionnel du langage informatique qui la représente et la remplace.

Cette méthodologie va réclamer toute l’attention de l’enfant et devra être introduite au moment ou il sera apte à en comprendre le mécanisme.

vec les outils utilisés ici, il n'y a qu'une seule possibilité offerte même si elle peut être plus complexe que ce qui est montré. La coccinelle peut aussi disparaître ET pousser un cri par exemple, ce qui nécessite l’emploi de 2 briques d’effets à l’intérieur de la brique de collision (disparaît + produit un son.).

[edit] CE QUE L’ON PEUT ABORDER AVEC UN ENFANT DANS LES GRANDES CLASSES DU PRIMAIRE

Une plus grande maturité permet de se projeter dans l’avenir et de raisonner de façon plus abstraite, en faisant intervenir autant le concept que l’image (mais cela va dépendre des enfants, une vision plus imagée et concrète de la réalité peut perdurer très longtemps)

[edit] Le raisonnement qu'il faut apprendre à faire

  • Si la coccinelle se promène, elle PEUT rencontrer le hanneton et IL VA SE PRODUIRE CECI
  • Mais si elle ne le rencontre pas IL SE PASSERA CELA.

La situation ressemble beaucoup à la précédente, mais la différence tient à la façon dont est formulée l’équation. Ici, on a soumis à condition les deux parties de l’opération. On est passé à deux cas de figure qui s’excluent l’un l’autre.

Pour arriver à faire formuler cette idée en terme de programmation, il faut d’abord, comme précédemment, la faire énoncer clairement avec des mots et placer ensuite, mentalement, ces mots en face des briques à utiliser.

Ce raisonnement conduit à la construction d’une stratégie conditionnelle à 2 alternatives.

Squeak Etoys possède un arsenal de commandes classées dans la catégorie TEST que l’on trouve dans le visualiseur de commandes (poignée œil bleu) d’un objet et qui permettent de pousser très loin le jeu des actions/réactions. Ces commandes décrivent toutes, avec des nuances, des cas particuliers de rencontre entre 2 objets et appellent à 2 types de réponses qui y sont associées :

  • OUI les conditions citées sont réunies – il faut chercher ce que l’on va faire faire aux objets impliqués dans la rencontre .
  • NON elles ne le sont pas – alors que va-t-on proposer comme alternative?

Ces deux cas sont testés automatiquement lorsque le scripts est activé, et

  • le mot VRAI s’inscrit sur la brique quand la situation correspond aux conditions émises dans la formule de test.
  • le mot FAUX remplace le précédent quand les conditions requises ne sont plus remplies .

Nous allons maintenant chercher dans le tiroir des outils V-Toys, ce qui a été prévu pour programmer ce genre de comportement.

[edit] La mise en forme du script

Nous trouvons dans le tiroir des outils V-toys des cadres de construction de scripts et des briques pour tester cette situation conditionnelle

  • Nous avons la brique de test avec son point d’interrogation placé à côté du point d’exclamation, et composée de plusieurs cases pré-programmées, qui comparent des positions et des situations ,et qui vont recevoir les différentes briques qui décrivent ce que font les objets quand les conditions du test sont ou ne sont pas réunies. Elle est à placer dans un récipient constructeur de script

  • Nous avons ensuite la brique présentatrice du test et qui s‘appelle ici la brique ‘COULEURS' VUE’

Pour simplifier et faciliter les manœuvres pour les enfants, les formules de tests traditionnelles ont été ramenées à un seule :

image:couleurVue.jpeg

Elle est, à sa manière, l’équivalent d’une brique de collision. Le carré gris de désignation est destiné à représenter un des 2 objets en présence. Le carré blanc se rapporte, lui, au 2ème objet, celui qui va être touché, ou plutôt à sa couleur. Car, en réalité, il va y avoir contact entre 2 couleurs placées chacune sur les objets qui doivent se rencontrer. La collision est suggérée par l’œil symbolique et veut signifier mot à mot, (ci-dessous) le vert voit le noir en écho à la formule squeak ‘couleur vue'. Mais dans la réalité il s’agit de l’entrée en contact de ces deux taches de couleurs (le vert touche le noir).

(le symbole imagé en forme de voiture avec un gros plan sur le phare jaune rappelle qu’à l’origine ce test a été construit pour contrôler le déplacement de la petite voiture symbole de Squeak se déplaçant sur une route sinueuse (c’est le contact ou non de la tache jaune du phare avec l’extérieur blanc de la route qui réoriente la direction du trajet – voir plus loin).

[edit] La mise en service de la ligne de test et la double alternative

Quand la couleur placée à un endroit adéquat sur le 1er objet (l’étoile verte située à l’avant de la coccinelle), rencontre la couleur du 2ème objet (le noir qui cerne le hanneton), les 2 objets se touchent et la situation passe de FAUX à VRAI. A ce moment-là le script exécute les ordres donnés par la brique A du premier bloc (la coccinelle disparaît), sinon il exécute les ordres donnés par la brique B (la coccinelle continue d’avancer) du deuxième bloc.

(Dans cet exemple précis, la 2ème brique de disparition/apparition C permet de faire revenir la coccinelle qui a disparu.)

NB. Quand on programme la brique ‘Couleur Vue’, il est nécessaire d’aligner la couleur des 2 carrés avec celle de la couleur des objets qu’ils représentent. En cliquant sur l’un et l’autre de ces carrés, le nuancier des couleurs apparaît accompagné d’une pipette. Au lieu de poser la pipette sur le nuancier et de chercher une couleur approximative, il faut la poser sur la tache de couleur de l’objet qui va entrer en contact avec celle de l’autre objet. Sinon la rencontre ‘couleur contre couleur’ ne donnera aucun résultat car les couleurs du carré et de l’objet percuteur ou percuté risquent de ne pas être exactement les mêmes.

[edit] Le projet-test - La coccinelle et le hanneton

Ce n’est pas véritablement un projet, mais un exercice d’entraînement destiné à se familiariser avec les manœuvres qu’il faut maîtriser pour construire un script conditionnel à 2 alternatives.

NB – l’introduction des briques dans leurs cases respectives peut présenter, par tâtonnement, des difficultés créatrices de beaucoup d’énervement, aussi est-il nécessaire de connaître la manœuvre exacte pour que les choses se passent facilement:

Introduire une brique dans une case vide se fait en la déplaçant avec la souris - la case se resserre autour de la brique. Mais pour introduire une 2ème brique dans la même case, il faut faire apparaître son halo, saisir avec la souris la poignée noire (prendre) et la placer à l'intérieur de la case désirée (A). La brique s’insère dans cette case en l‘élargissant. , cette position Que l'on déplace une brique en cliquant et glissant ou par sa poignée noire, lorsque l'on lâche la brique, la position est celle de la flèche de la souris. Cceci permet de placer si nécessaire une brique entre deux briques.Pour mettre une brique à la suite d'une autre, placer la flèche juste devant la brique précédente.

Pour les souris à 3 boutons, le halo apparaît quand on clique sur l'objet en appuyant sur le bouton central de la souris.

En introduisant plusieurs briques dans une case, on peut diversifier les stratégies. Activé avec l’horloge le script tourne en continu. Si l’on désire que l’action s’arrête quand ce qui est proposé dans la case A est réalisé une fois, il faut introduire dans cette case une horloge d’arrêt (X) qui va stopper l’ensemble du script.

Le projet

[edit] LE CAS DE LA PETITE AUTO - DOUBLE ET TRIPLE ALTERNATIVE

Cette petite auto est la vedette incontestée de Squeak et un des premiers exemples de programmation donné avec les Etoys. Il existe de nombreux tutoriels faisant état de sa fabrication et de sa programmation. Elle peut être guidée par un volant ou un joystick, se promener librement ou suivre un parcours balisé.

Le problème ici est, comment faire pour qu’elle puisse être managée par les enfants avec les V-toys.

  • Certains parcours sont très facilement programmables même par les plus jeunes ( ils savent comment faire se déplacer des objets)
  • D’autres font appel à des modes de programmations qui n’ont pas été abordés dans ce cadre et que nous laisserons de côté (la programmation du joystick ou du volant).
  • Il reste le type de parcours où la petite auto se déplace seule sans sortir de son chemin et quel que soit le tracé de celui-ci.

Pour arriver à ce résultat il faut que son déplacement soit testé et qu’il soit dit à tout moment ce qu’elle doit faire quand elle est sur la route et ce qui se passe quand elle entre en contact avec l’extérieur de la route. Cela nous ramène au script conditionnel que nous venons d’examiner et à la brique ‘couleur vue’. Nous allons donc utiliser la couleur pour savoir si la petite auto est ou non sur la surface de la route. Mais nous allons commencer par examiner plusieurs formes de surfaces sur lesquelles nous la ferons évoluer.

[edit] a) la double alternative

La voiture se déplace sur une surface quelconque mais délimitée.

La première aire de déplacement sera plutôt une zone aux contours mal définis qu’une route. Elle sera fabriquée sur l’espace dessin et d’une couleur uniforme. La petite auto, quant à elle, va avoir, à l’avant, un capteur de couleur auquel on a donné la couleur verte.

Comme précédemment, il faut construire un script conditionnel très simple, basé sur le même type de raisonnement.

  • Quand le capteur vert de la voiture VOIT (touche) le blanc du fond de l’écran, la barre de test est à VRAI et la voiture tourne de 5°, ce qui la ramène sur le fond gris de la surface de déplacement.
  • Quand le capteur n’est plus au contact du blanc (barre de test à FAUX) elle avance en ligne droite de 5 px à chaque fois.

Bien qu’il soit très simple, ce type de programmation peut se prêter à bien des situations. On peut enfermer à l’intérieur de la tâche bien autre chose que des voitures et imaginer, dans les cases A et B, une grande variété de comportements.

[edit] b) réaliser un circuit fermé

On peut créer une série de pistes et chercher ou faire chercher sur quelle forme de parcours la petite voiture va pouvoir tourner sans interruption.

Des problèmes vont émerger, et suivant la configuration de la route, on va voir que l’auto fait un tour complet ou bien tourne en rond dans un coin. Les raisons de ce comportement, liées à la forme du circuit sont à rechercher .

[edit] C)Double supposition et triple alternative

un circuit fermé aléatoire que la voiture parcours sans sortir de la route –

En réfléchissant bien, un enfant de ce niveau doit pouvoir observer que la brique de pivotement fait toujours tourner l’objet vers sa droite et dans le sens des aiguilles d’une montre, de 0 à 360°.

Il n'y a pas de TOURNE A GAUCHE préprogrammé chez Squeak c’est une contrainte incontournable qui va déterminer la recherche.

Il va falloir trouver une solution pour pivoter dans l’autre sens en tenant compte de ce fait.

L’idée la plus fondamentale à faire émerger est que l’auto tournant à droite quand elle touche le bord gauche, elle doit tourner à gauche quand elle touche le bord opposé et que cela implique obligatoirement l’usage d’un 2ème test et l’emploi de nombres négatifs à un moment de sa scolarité où l’élève na pas encore rencontré cette notion. Par contre il est possible de faire découvrir cette notion avec un script des 2 briques 'avance' et 'tourne' que l'on active. En jouant avec les flèches vertes de l'affichage de la brique 'tourne', on peut constater qu'en diminuant le nombre, on passe en dessous de 0, la voiture tourne dans l'autre sens et en même temps le signe - apparaît devant le nombre. Pour consolider cette notion, on peut se référer à des exemples connus et vécus ( aller à reculons (il est possible de faire de même avec la brique 'avance' et reculer), regarder sur un thermomètre la température passer en dessous de la ligne du zéro quand il fait très froid ) et dire que ces nombres s’écrivent avec le signe – devant.

C’est ensuite le moment d’ajouter un second test et de vérifier concrètement sur l’écran, puis de voir que la petite voiture, têtue comme une mule, ne veut aller ni à droite ni a gauche et ne veux même pas bouger. Et pour cause! comment savoir si on touche la droite ou la gauche quand on n’a que le blanc du fond pour se repérer et qu’il est identique des 2 côtés.

Qui va trouver que la couleur vue par le phare de l’auto ne doit pas être la même d’un côté et de l’autre? Plusieurs solutions devraient arriver.

  • l’auto n’a qu’un seul phare comme dans l’exemple choisi et ce sont les bords de la route qui sont de couleurs différentes.
  • ou bien ce sont les 2 phares qui ne sont pas de la même couleur

Il suffit alors de mettre en accord chaque ligne de test avec cette nouvelle réalité et de mentionner correctement quelle couleur rencontre quelle autre.

Un autre exemple de parcours sur route par P.A DREYFUSS

Dans ce projet, l’auto a des phares de 2 couleurs, jaune pour le phare de droite et rouge pour celui de gauche. L’auto en déplacement entre en contact tantôt avec un côté de la route, tantôt avec l’autre. Le script s’écrit de façon identique, avec une double supposition, mais ce sont les heurts de couleur dans les 2 barres de test qui sont différents (phare jaune contre fond blanc – tourner à droite, et phare rouge contre fond blanc – tourner à gauche)

[edit] D) Des recherches en liberté

On va essayer maintenant des extrapolations à partir des 2 méthodes conditionnelles que nous venons d’examiner en les mixant un peu.

[edit] Le petit robot vagabond – ou le virus dans le système

Ce projet reprend le principe de déplacement de la petite auto sur route mais avec un environnement inversé. Le gris n’est plus la couleur de la route mais celle de ses bas-côtés. L’objet se déplace sur le fond de l’écran et change de direction chaque fois qu’il rencontre la couleur grise . Il tourne vers sa droite quand son palpeur de gauche, bleu, rencontre la bordure grise et vers sa gauche quand son palpeur de droite, rouge, la touche.

Cela amène à modifier le jeux des rencontres de couleurs à l’intérieur de la brique ‘couleur vue’.

image:RobotVt.jpeg

Si l’on examine le script du petit robot, on voit qu’il est construit comme celui de l’auto dont les phares sont de 2 couleurs différentes. Mais dans les 2 tests, les contacts couleur contre couleur, activent des éléments autres que le robot (une hélice, une roue, un voyant lumineux ):




Dans la première partie du script (quand il est présumé que le palpeur bleu rencontre la couleur grise),

  • s’il y a contact, OUI l’hypothèse émise dans la ligne de test est VRAIE, et le robot pivote vers la droite de 5°.
  • S’il n’y a pas contact, NON l’hypothèse est FAUSSE, le robot se déplace et fait tourner des roues, change la couleur d’un voyant lumineux.

Dans la 2ème partie du script , (quand le rouge rencontre le gris ) :

  • SI VRAI , OUI le robot tourne sur sa gauche de –5°,
  • SI FAUX, NON, il avance et change la couleur du voyant lumineux.

Lâché dans un circuit plein d’obstacles, le petit intrus va tantôt laisser le mécanisme fonctionner tout seul, tantôt l’interrompre et le réactiver par ses contacts ou provoquer un gel du système quand les 2 palpeurs touchent la couleur grise en même temps (ni VRAI ni FAUX = STOP).

La correspondance entre les termes de la programmation et la réaction du robot peut être vérifiée en le déplaçant avec la souris et en mettant successivement chacun de ses palpeurs au contact des éléments en présence (le fond, le bord gris, puis les 2 en même temps, ce qui permet de voir concrètement quelle partie du script commande à quel comportement.




Faire décrire verbalement AVEC LES MOTS APPROPRIES les étapes de la programmation du petit robot est une nouvelle avancée vers l’apprentissage de la PENSEE LOGIQUE et de la conceptualisation, et l’on peut essayer d’y entraîner le petit apprenti informaticien.

Il est intéressant aussi , avec les plus grands, de les amener à faire des rapprochements avec certains appareils de la vie courante qui fonctionnent de façon conditionnelle (il faut qu’une condition soit remplie, une température atteinte, un contact établi pour que le service attendu soit rendu) .

[edit] le jeu du Ludion – ou le déplacement contrôlé

Un petit objet avec des palpeurs de couleur rouge et bleue se déplace sur une aire de jeu et peut entrer en contact avec des tâches de couleur (du vert et du jaune) qui le font soit bifurquer, soit s’arrêter

thimb

L’ensemble est construit comme un jeu .

Il faut garder le ludion en circulation le plus longtemps possible et vérifier, à partir d’une horloge, puis noter sur un panneau, le nombre de secondes de la performance. La différence avec ce qui précède est dans la mobilité de la tâche verte qui joue le même rôle que le gris du projet précédent. Au lieu d’être positionnée dans un endroit fixe où elle attend l’arrivée du ludion, elle a la forme d’un jeton que le joueur tient et déplace avec la souris puis place devant les palpeurs pour réorienter les trajets.



Là aussi, le procédé de programmation est rigoureusement identique à celui de la petite auto sur route aux phares bicolores.



Mais une couleur supplémentaire, (le jaune) provoque le gel du déplacement lorsque le palpeur rouge heurte sa surface. Il faut avoir recours à une brique de test supplémentaire et faire une triple supposition pour régler le problème du contact entre le rouge et le jaune.



Le troisième test suppose donc que

  • si le rouge rencontre le jaune, VRAI,le script STOPPE
  • si FAUX le ludion continue d’avancer le plus longtemps possible (ce qui est l’objectif du jeu)



L’arrêt du script est provoqué par l’utilisation de l’horloge rose, dont le désignateur a été mis en relation avec l’ensemble du script avant d’être introduit dans la case OUI de la 3ème brique de supposition.









Comme précédemment, il peut être cherché, dans l’expérience des enfants, à quoi ce dispositif peut renvoyer, (consoles de jeux, télécommandes, téléguidages )

[edit] LA PROBLEMATIQUE et LES DERIVES DE L’IMAGINATION

Etant donné les problèmes posés par le déplacement de la petite auto, et les solutions trouvées pour la maintenir sur la route, on peut donner à un enfant l’envie d’imaginer un problème personnel et concret qui fera appel au même raisonnement :

‘Pourquoi ne ferais-je pas une tondeuse à gazon auto-guidée qui tourne toute seule quand elle rencontre le bord de l’allée ?. Pour ne pas être trop ambitieux choisissons une pelouse rectangulaire avec un trait rouge à gauche pour la faire tourner vers la droite, et un trait jaune à droite pour la faire tourner vers la gauche, On dira que ce sont des bordures de fleurs.

Il va émettre sa théorie :

La tondeuse a un palpeur avant bleu

  • Si ce palpeur rencontre la bordure de fleurs rouges , il fait pivoter la tondeuse de -90° à gauche, avancer de 5 px et s’orienter à l’est.
  • Si le palpeur rencontre la bordure de fleurs jaunes il fait les mêmes opérations en sens inverse.

Cela devrait faire progresser vers le bas la zone de coupe.

Puis il va chercher dans le tiroir des outils V-toys toutes les briques qui lui sont nécessaires pour construire ses scripts.

‘pour montrer qu’elle tond le gazon, on va lui faire faire des traits plus larges et plus clairs sur le carre vert de la pelouse et on cherchera la brique qui sert à effacer les traits pour pouvoir recommencer’

image:tgTheorie2.jpeg

Une fois les scripts construits on vérifie. Surprise ! la tondeuse se déplace bien comme prévu, mais elle ne trace rien sur le gazon. La tondeuse crée du gazon sous le pré au lieu de le couper (On a oublié ou on ne savait pas que toutes les traces laissées par un objet se font sur le fond de l’écran et non sur les objets).

Il ne reste qu’à chercher la solution, car il y en a une ou peut-être plusieurs…..

Mais en cherchant ses solutions, l’enfant a peut-être envie aussi de supprimer le fond vert en gardant les 2 traits rouge et jaune et, de fil en aiguille, après des essais divers, il s’aperçoit qu’il peut créer des surfaces de couleurs entre les trait et les changer en agissant sur la brique.

‘J’ai inventé une machine à peindre !

(Une brique supplémentaire fait stopper la tondeuse quand la barre bleue rencontre un point vert).

Dans ce 2éme cas, c’est la pratique qui est génératrice de l’idée

[edit] .

En faisant un retour sur l’ensemble des cas évoqués dans ce chapitre, il est possible d’amener un enfant à se rendre compte d’un certain nombre de choses .

  • En plus de la création imaginaire
  • la programmation permet de contrôler le déplacement d’un certain nombre d’objets virtuels qu’il a créé et de simuler des situations réelles
  • elle pourrait donc permettre de simuler des situations nouvelles.

Si l’on était très fort et très calé, on pourrait imaginer et construire des objets innovants, puis résoudre de cette façon certains problèmes techniques concrets qu’ils sont supposé poser, avant de les rencontrer dans la réalité.

Ceci permettrait de comprendre l’importance et le rôle des groupes d’études qui gravitent autour des grands projets. Ils créent des prototypes et prévoient à l’avance les comportements ou les réactions qui se produiront, lors des mises en services (lancement d’un nouveau modèle, d’une navette spatiale etc.) avec des calculs et des simulations informatiques qui reproduisent la réalité.

Mais il aura peut-être vu aussi que la théorie doit être vérifiée par l’expérimentation et que, quelque fois on peut TROUVER QUELQUE CHOSE QUE L’ON N’AVAIT PAS CHERCHE.

[edit] EN CONCLUSION

Les exercices de cette page ont pour objectif d'initier des enfants relativement jeunes aux principes de la programmation conditionnelle. mais ausi de leur faire prendre conscience que des règles logiques un peu du même type servent à construire des objets préprogrammés, même s'ils sont beaucoup plus complexes. Cela leur permet de faire le lien entre les rudiments d'informatique qu'ils peuvent acquérir à l'école et les réalités de la recherche scientifique et des objets de la vie courante.

Sur le plan de la programmation V-toys proprement dit, de réalisations directes en réalisations conditionnelles, on voit les scripts visuels s’accumuler et s’allonger, jusqu’à envahir l’écran au détriment quelque fois du produit lui-même. Il existe des formules (les tableaux déroulants) qui permettent de stocker les scripts tout en dégageant l’écran. Mais on peut aussi se sentir suffisamment mûr pour avoir envie de faire connaissance avec la version-mère de notre programme, la programmation Etoys. Les principes de fonctionnement sont les mêmes, ce qui fait qu’il ne peut y avoir de dépaysement. Seule différence, la formulation moins visuelle et plus axée sur le langage écrit.

Deux voies sont désormais possibles,

  • soit continuer, par goût, la programmation V-toys en prenant connaissance de la version complète et de son fonctionnement ,
  • soit faire le saut vers les Etoys.

[edit] ls outils de travail V-toys

Le projet V-toys dans son intégralité

le projet allégé pour un usage plus restreint

[edit] Prochain chapitre :

Retour au sommaire

Personal tools