K-ROBOT

De EduTech Wiki
Aller à la navigation Aller à la recherche
La version imprimable n’est plus prise en charge et peut comporter des erreurs de génération. Veuillez mettre à jour les signets de votre navigateur et utiliser à la place la fonction d’impression par défaut de celui-ci.

Page réalisée dans le cadre du cours Conception de Logiciels pour l'Enseignement et la Formation
(promotion "Pixel" 2009-2010) de la formation Maltt, au TECFA.

Cette page est une ébauche en cours de réalisation. Ne pas citer.


Description

Contenu enseigné et fonctionnement général

K-robot (http://armorgames.com/play/2205/light-bot) est un jeu éducatif qui entraîne aux bases de la programmation. Le robot exécute 5 fonctions de bases ( avancer, tourner à droite, tourner à gauche, sauter, allumer/éteindre). De plus, deux autres fonctions peuvent être programmées à partir des commandes de base. Ainsi le joueur en vient à produire des programmes de base afin que le robot arrive à destination.

Copie d'écran

L’on voit un Robot sur un échiquier qui doit à partir d’une case donnée en atteindre une ou plusieurs autres, grâce à un ensemble de commandes et de fonctions qu'il doit savoir articuler. Ici dans l’image tirée de : http://www.superboreen.com du jeu k-ROBOT, l’on voit où se trouve le Robot et quelles sont les cases en bleu qu’il doit actionner grâce à la commande symbolisée par l’ampoule (en haut à droite, 5ème case à partir de la gauche) et grâce aux mouvements de base. Le joueur entre les commandes de mouvement dans la partie "MAIN METHOD". Souvent le nombre possible de commandes n'est pas suffisant dans cette partie, dès lors il doit s'aider de fonctions en dessous (FUNCT. F1 et FUNCT. F2), véritables raccourcis qui s'intègrent dans le "MAIN METHOD" comme commandes composées.

Le bouton RESET en bas à gauche permet à l'utilisateur de revenir au début en effaçant toutes ses commandes, tandis que le bouton STOP en bas à droite lui permet de revenir au point d'origine, cependant sans effacer ses commandes qu'il peut dès lors modifier à bon escient.


K-robot.jpg

L'éditeur

L'éditeur est ARMOR GAME que vous pourrez trouver sur http://armorgames.com/.

Son créateur est Coolio-Niato, que vous pourrez trouver sur http://coolio-niato.newgrounds.com/


Environnement informatique

Jeux créé en langage Flash exécutable de ce fait sur sur le système d'exploitation Windows et disponible sur Internet notamment à l'adresse :

http://armorgames.com/play/2205/light-bot

Principes pédagogiques

A) APPRENTISSAGE PAR COMPORTEMENTS

L’apprentissage par comportement a pleinement lieu quand le joueur apprends quels mouvements sont liés à quelles commandes, ceci par essais-erreurs. Par exemple, l’apprentissage de la commande de virage à droite n’est pas aussi clair que cela de prime abord. Souvent, l’utilisateur doit utiliser une commande de virage et faire tourner le robot concrètement et donc peut-être faire une erreur pour se rendre compte comment cette commande fonctionne. Au niveau du sous-apprentissage "maniement des commandes", l'apprentissage par comportement fait donc sens.

D'autre part l’utilisateur peut apprendre par essais et erreurs en fonction des feed-back qu’il a de ses actions. Le logiciel s’appuie donc sur l’apprentissage par comportement, mais en partie. Par exemple, en jouant, j'ai dû plusieurs fois appuyer sur le bouton RESET ou sur le bouton STOP, afin de recommencer et d'arriver à destination par approximations et corrections successives et d'actionner ainsi les cases bleues.

Certes, il y a ce feedback, mais ces feed-back c'est l'utilisateur qui se les fait, en fonction des objectifs qu'il s'est fixés ou des décisions qu'il a prises (par exemple en appuyant sur RESET) et en observant lui-même les résultats de ses actions sans l'aide d'un tier (le robot n'est pas arrivé à destination ou n'a pas actionné de case bleue). Il n'est donc pas possible de conclure pour un pur apprentissage passif par comportements acquis par répétitions automatisées comme dans l'apprentissage sensori-moteur par exemple. Le fait qu’il y ait des mécanismes cognitifs actifs qui réduisent grandement le nombre d’essais et que le joueur soit capable d’insight, de changer de stratégie en fonction des informations qu'il a à disposition, de mémoriser et raisonner pour trouver par sa propre initiative la bonne solution nous pousse plutôt à pencher pour un apprentissage de type actif et cognitif dans ce jeu.

D) APPRENTISSAGE ACTIF

Comme considéré ci-dessus, le joueur est avant tout actif quand il joue. Par exemple, le logiciel lui permet essentiellement d’agir sur l'environnement de jeu pour utiliser ses représentations dans la mesure où il peut construire lui-même des fonctions (composées de commandes ou méta-commandes) qu’il va par la suite articuler avec d'autres commandes ou fonctions dans la partie « main method » du logiciel. En ce sens l’utilisateur peut fondamentalement agir sur son environnement tout en s'y accommodant, car il peut fixer des règles qu'il devra cependant respecter scrupuleusement par la suite. Il garde en outre une certaine liberté et initiative de manœuvre parmi toutes les solutions qui s'offrent ou non à lui et c'est principalement lui-même qui se donne des feed-back ou change ses stratégies algorithmiques en fonction de ses actions passées et des informations qu'il traite activement.

B) APPRENTISSAGE COGNITIF

Il est judicieux d'avancer que l'on se situe ici au niveau d'opérations logico-formelles. La complexité du problème fait que l'on a à faire ici à un apprentissage actif sur le plan cognitif où le joueur doit apprendre à composer un certain nombre d'algorithmes. Ce que l’utilisateur apprend ne se situe pas au niveau de l’action concrète, mais de « l’action représentée » et de "l'action intelligente". C'est lui qui prend l'initiative.

Il est mis dans des situations de difficultés croissantes. Il part d’une situation qui demande un enchaînement simple d’actions cognitives et de décisions cognitives visant à déplacer le robot sur le bon chemin, puis par association de représentations cognitives il enchaîne au fur et à mesure un ensemble de comportements cognitifs volontaires de plus en plus complexes (commandes au robot, représentations relatives à l’espace de solutions possibles, articulation de fonctions, intégration de règles) en vue d’atteindre des objectifs de difficultés croissantes, etc.. Dans certains cas, le sujet fait des expériences de pensées et même des simulations intériorisées (inclus des essais-erreurs intériorisés). Ainsi, le sujet en vient à intégrer une certaine logique de base utile à tout programmeur informatique, qui peut se transférer dans diverses situations.

C) APPRENTISSAGE PAR DISCOURS

Ce logiciel enseigne également par le discours, mais de manière très limitée. On trouve, mais de manière sporadique des énoncés langagiers comme « try setting this command to the right » qui sont à considérer plus comme des instructions que comme un discours où il y a des liaisons complexes et multiples de concepts. Dans ce logiciel, il y a également d'autres rubriques nommées : « description » et « instructions » où il y a un certain discours, mais de simple composition, visant à introduire certaines notions comme celle de fonction ou à décrire le but du jeu. Des représentations langagières externes, d’ailleurs en anglais (ce qui nécessite un apprentissage préalable de cette langue) sont donc présentes dans ce logiciel éducatif, mais il est plus question ici d’un simple énoncé ou d’une simple instruction verbale, plutôt que d’un discours complexe et économique au niveau pédagogique.


E) FACTEURS MOTIVATIONNELS

Si l’on appréhende la question du point de vue des besoins, il est évident que l’utilisateur va plutôt chercher à satisfaire des besoins de type cognitifs et personnels (estime ou dépassement de soi par exemple) au travers de ce jeu, plutôt que des besoins sociaux, malgré le fait qu’il y a un chat intégré dans le jeu (mais ce n’est pas le jeu).


- L'aspect ludique et l'aspect graphique sont agréables et motivants.

- Certaines récompenses (extrinsèques) fournies par le logiciels peuvent motiver le joueur :

a) l’atteinte d’un nouveau niveau

b) faire partie des meilleurs score

c) l’augmentation du score

d) l’atteinte d’un but avec le minimum de commandes possibles.

- Le joueur peut cependant également se motiver lui-même (motivation intrinsèque), en ce sens c’est le jeu qui le séduit :

a) atteindre un objectif intermédiaire dans la stratégie globale des commandes et des mouvements du robot

b) se dépasser soi-même

c) augmenter son estime de soi en atteignant des niveaux de plus en plus complexes

d) le challenge associé aux activités quand le joueur se situe dans une zone d’apprentissage qui lui permette de se dépasser (ce qui évite l'ennui).

e) la curiosité de trouver de nouvelles commandes ou de nouvelles caractéristiques dans l’environnement.

F) REGULATIONS METACOGNITIVES

L'ordinateur ne favorise pas les régulations métacognitives, dans le sens où il ne laisse pas vraiment de traces relatives à l’évolution du joueur dans le jeu. Le logiciel n’est pas non plus un système expert qui peut en tant que modèle aider le joueur à réguler son propre apprentissage.

D’un autre point de vue ce logiciel favorise les régulations métacognitives dans le sens où il stimule chez le joueur :


- la planification, en jouant on en vient souvent à imaginer comment procéder pour finir un niveau;


- la prévision, en jouant on en vient souvent à anticiper le résultat d´une commande ou d’un ensemble de commandes visant à faire déplacer le robot;


- le guidage, en jouant on en vient souvent à tester, réviser, changer les stratégies (ou algorithmes de commandes visant à faire déplacer le robot). Cela est d'autant plus ardu, que l'enregistrement des traces de nos activités sont limitées sur le logiciel (limitation au tableau de commande) et de plus il n'y a pas de système expert pour nous guider. Il n'est donc pas faux métaphoriquement d'avancer qu' on devienne notre propre système expert;


- le contrôle, en jouant on en vient souvent à évaluer les résultats d’une commande ou d’un algorithme de commandes visant à faire déplacer le robot;


- le transfert et la généralisation d’algorithmes de commandes dans d’autres niveaux.


Dans la mesure où le jeu incite le joueur à réfléchir sur soi-même, sur ses propres stratégies cognitives et même sur sa manière d’apprendre à être plus performant, ce logiciel facilite la régulation cognitive.

G) L'AUTHENTICITE

Un logiciel éducatif authentique est un logiciel qui ancre bien l'apprentissage du joueur dans des situations concrètes. Le but est qu'il puisse par la suite s'adapter dans ces situations réelles, grâce à l'apprentissage suivi auparavant par le biais de ce logiciel.

Dans un certain sens, le degré d’authenticité de K-ROBOT est assez minimal car si l’on s'en tient aux buts originaux de ce logiciel qui est d’apprendre à programmer, les apprentissages que permet ce logiciel ne sont pas suffisamment encrés dans des situations concrètes de programmation. Donc, ici, les représentations qui peuvent se former ne sont pas proches de l’expérience pratique.


Cependant, si le considère que ce qui caractérise l'authenticité d'un logiciel c’est le mouvement du concret vers l’abstrait et non le contraire, l’on peut considérer qu’une certaine authenticité caractèrise bel et bien ce jeu, dans la mesure où l’utilisateur apprend ce qu’est le concept de fonction (incontournable en matière de programmation) et qu’il entraîne une certaine logique de base (par exemple la négation, l’implication) qui peut se transférer dans un grand nombre de situations et de pratiques de programmation informatique.

Principes technologiques

Voici quelques principes technologiques qui permettent de caractériser ce jeux (voir http://docs.google.com/View?docid=dcm4x2rh_18dctx7bcm pour plus d'informations).


Calcul – générativité

Ce qui différencie l'ordinateur de l'homme est son énorme capacité à exécuter des calculs et à générer des sorties de données suite à de nombreuses entrées de données. Or, dans K-Robot, l’ordinateur calcule et génère les mouvements du robot au fur et à mesure des commandes du joueur. Un grand nombre de configurations de commandes et de fonctions peuvent être traitées par le logiciel.

Capacité de stockage

Une autre caractéristique est son énorme capacité de stockage en mémoire de données numériques. Or on peut avancer, que K-ROBOT nécessite justement qu'un assez nombre de données soient stockées pour pouvoir ne serait-ce qu’assurer la charte graphique du logiciel, ainsi que la confrontation du joueur à pas mal de cartes ou de niveaux différents.

Accès à l'information – hypertexte : par navigation

L'ordinateur permet, notamment par le biais d'Internet et de processus réseaux d'accéder à de nombreuses informations par navigation hypertexte ou par moteur de recherche (ex. www.google.ch). K-Robot s'insère justement dans Internet. Sur la plate-forme web du jeu, il y a par exemple d’autre onglets où l’on peut accéder à d’autres informations sur le net par le biais de la navigation hypertextuelle.

Multimodalité

Contrairement à d'autres technlogies, l'ordinateur peut utiliser en combinaison de nombreaux formats médiatiques : le texte, l'image, le son, l'animation, etc. C'est ici le cas, car le jeu exploite des textes, des sons, des images et des images en mouvement cela sur la même plate-forme.


Composante ludique

La composante ludique est indéniable dans ce logiciel. L’utilisateur apprend à programmer en jouant !

Composante communication

Dans une certaine mesure une composante "réseau social" et "communication" dans ce jeu, puisqu’on peut le partager avec d’autres personnes sur Internet, mais aussi parce que l’option « score » dans le jeu permet de connaître la position ou le niveau d’autres joueurs sur le net, que l’on peut contacter directement par ce biais. Il existe également un chat associé à ce jeu, grâce auquel on peut communiquer avec d’autres utilisateurs.

Points forts et point faibles

A)L'authenticité : comme expliqué dans principes technologiques c'est un point fort et faible à la fois

B)Simplicité et facilité d'usage : des avantages

C) Apprentissage de la programmation de base, grandement transférable dans un grand nombre de situations de programmation : un avantage

C)Le logiciel aurait pu exploiter d'autres capacités informatiques

Premièrement l’intelligence artificielle

On pourrait par exemple faire entrer en concurrence l’ordinateur et le joueur, comme dans une partie d’échec, chacun exécutant une commande après l’autre. Ou par exemple, au fur et à mesure des mouvements de l’utilisateur l’ordinateur pourrait mettre devant lui des obstacles inattendus, dans ce cas le nombre de commandes de l'utilisateur serait limité au fur et à mesure de ces échanges avec l'ordinateur.


Deuxièmement l’adaptabilité (liée également à l’intelligence artificielle)

Au fur et à mesure de l’avancement du joueur le logiciel pourrait garder des traces de ses points faibles (algorithme de commandes ou de fonctions spécifiques que le joueur intègre difficilement) pour proposer au joueur des parcours au plus prêt de ce qu’il doit améliorer. L’ordinateur pourrait également proposer des trucs et astuces, où des aides ponctuelles au joueur pour ainsi interagir avec lui dans une zone d’apprentissage optimale en tant que système expert.

Logiciels similaires

MySQLgame (http://mysqlgame.com) :

dans le sens où le logiciel apprend à programmer, bien que le jeu soit bien différent sur la forme et le contenu.

IQMarthon (http://www.koreus.com/jeu/iq-marathon.html)

Le langage LOGO

c'est un langage de programmation de base pour apprendre à programmer aux enfant.

Ceebot (http://www.ceebot.org/index.php?option=com_content&task=view&id=9&Itemid=52&lang=en)

--Pardiri 10 octobre 2009 à 21:08 (CEST)

Pierre ARDIRI, Master MALTT, volée PIXEL