Rapport sur le travail de programmation de STAF 12: réalisation de logiciels interactifs

Projet

Voir les projets écrits (liste dans l'index staf12), et notamment la deuxième version.

Il s'agissait de travailler sur les opérations logiques ET et OU. A la base, le logiciel voulait s'adresser à des enfants assez jeunes, mais nous nous sommes vite aperçus qu'il conviendrait davantage à des 11-12 ans. L'aspect textuel presque inévitable ainsi que la complexité des opérations mentales à effectuer (réflexion sur les propositions et les feed-back) ne nous semblaient pas possibles à un âge antérieur.

Le jeu dans une version finale pourrait comporter davantage de figures et de couleurs, et le choix aléatoire de l'ordinateur pourrait être indifférent quant à la présence de chacune des formes ou pas. Mais dans un premier temps, et pour des raisons de calcul évidentes, il nous a semblé plus pertinent de développer un feed-back adéquat dans chaque situation avec un nombre limité de possibilités de jeu plutôt que d'ouvrir complètement le jeu au détriment des feed-back.

Ainsi notre projet final comporte-t-il, outre les exercices préliminaires, un jeu basé sur deux figures, chacune d'elle pouvant être remplie de deux manières différentes (en noir ou en blanc). Nous nous sommes limités au noir et blanc en pensant à une éventuelle utilisation de ce jeu dans une classe équipée d'une machine genre Macintosh Classic avec écran noir/blanc.

Déroulement

Lorsque l'élève entre dans le jeu (il faudrait faire un "run-time", mais nous avons voulu conserver la possiblité à Pierre Dillenbourg de voir ce que le programme avait dans le ventre), il voit tout d'abord une petite animation initiale (choisie au hasard parmi deux possibles, brèves pour ne pas perdre trop de temps quand on relance la machine), puis entre dans le premier écran, composé d'un petit texte explicatif et de trois boutons: "exercices", "jeu logique" et "quitter". S'il choisit l'un des deux premiers, il passe dans le module correspondant et termine en retrouvant ce même écran initial (boutons seulement, sans le texte). S'il choisit de quitter, la fenêtre de présentation se ferme.

Exercices préliminaires

Nous proposons dans ce module une série de petits exercices préliminaires que l'élève devrait au moins savoir faire s'il veut avoir des chances de réussir le jeu. Les feed-backs qui sont donnés (visuels et sonores) doivent permettre à l'élève de comprendre ses erreurs. L'interface ne ressemble pas exactement au jeu qui suit parce qu'elle se veut plus générale (libre choix par l'ordinateur de deux formes et de deux couleurs, identiques ou non).

Jeu

Le jeu se déroule en 2 étapes principales: les hypothèses soumises par l'utilisateur et leurs feed-backs correspondants et la réponse de l'utilisateur. A cela s'ajoutent quelques fonctions annexes: quitter le logiciel immédiatement, consulter les règles du jeu ou encore voir la solution (donnée d'office par l'ordinateur dans certains cas ou demandée par l'utilisateur). L'élève a 4 essais au maximum. Qu'il se base sur une colonne ou sur les deux à la fois, il peut, dans le pire des cas, trouver la réponse en 3 coups seulement s'il ne soumet pas de propositions inutiles. Avec de la chance, la réponse peut être trouvée après un ou deux essais déjà.

Interactions et feed-backs

Les interactions proposées ne vont pas être décrites en détail (pour cela il faudra voir le jeu), mais nous voulons souligner quelques points qui paraissent intéressants dans les feed-backs qui sont donnés suite à ces interactions.

L'essentiel du travail a été de faire les calculs nécessaires pour avoir des feed-backs pertinents. Nous étions tout d'abord partis sur une base de "juste" ou "faux" pour chaque proposition que l'élève fait. Ceci n'est pas difficile à calculer si l'on possède de bonnes variables.

Il nous semblait intéressant ensuite de pouvoir indiquer à l'utilisateur quand il possédait assez d'éléments pour déterminer la séquence choisie par l'ordinateur. Pour cela, un premier calcul a été créé en fonction du nombre d'essais et des feed-backs que nous avions donnés. Mais nous nous sommes vite rendu compte que si l'utilisateur faisait des propositions inutiles (parce qu'il pouvait déjà les déterminer en fonction de ce qu'il savait) ou qu'il faisait deux fois la même proposition (par inadvertance), nos calculs devenaient erronés.

Il fallait donc introduire toutes ces possibilités, et analyser à chaque étape les hypothèses soumises par l'utilisateur en fonction de ce qu'il savait déjà. Sans que nous ayons été jusque là, cela va dans le sens d'une aide à la résolution de problème que l'élève pourrait appeler lorsqu'il est coincé.

L'introduction des règles consultables à tout moment, de la possiblité de corriger un élément en cours de route ou du bouton "Solution ?" lorsqu'on ne veut plus réfléchir vont dans le sens d'une plus grande convivialité du logiciel.

Known Bugs

Bouton quitter

Lorsque le bouton "Quitter" est activé (bouton permanent, disponible à tout moment), la fenêtre de présentation est fermée mais l'utilisateur reste dans Authorware, alors que la fonction qui est attachée est Quit(1), l'option 1 signifiant le retour au Finder. Peut-être est-ce parce que le jeu est lancé par Run depuis Authorware et non comme un run-time lancé depuis le Finder que le retour à ce point ne se fait pas: il faudrait vérifier cela (ce que nous n'avons pas pu faire: l'ordinateur se plantait à chaque fois que nous désirions créer le run-time).

Mark after match

Les boutons vrai et faux qui accompagnent chaque réponse de l'utilisateur sont marqués par un point chaque fois qu'ils sont utilisés, de sorte que l'élève puisse attcher le feed-back donné par l'ordinateur à leur proposition.

Malheureusement, l'option utilisée, "mark after match" n'est pas une variable et ne peut pas être réinitialisée. Lors d'un deuxième passage (si l'élève veut refaire une seconde série d'exercices), les marques précédentes sont conservées... ce qui est fâcheux.

Pour aller plus loin

Il serait intéressant de pouvoir compléter les feed-backs que nous donnons (cet essai était inutile, tu n'as pas assez d'éléments, etc.) par des "parce que" adadptés à chaque situation. Ceci nécessiterait un travail supplémentaire sur les variables afin de déterminer la nature exacte de l'erreur de l'élève ou de l'information dont dipose l'utilisateur.

On pourrait aussi imaginer, pour rendre l'exercice un peu plus ludique pour l'élève, de lui demander son nom au début et de tenir à jour une liste avec les scores. Pour cela, le nombre d'essais devrait peut-être être plus élevé. Mais le fait que pour descendre en dessous de trois essais il faille de la chance rend cette possibilité peu intéressante.

Une aide "on-line" permettrait à l'élève d'avoir des informations appropriées sur ce qu'il devrait pouvoir déduire de ses hypothèses, ou encore lui donner des information ou des conseils en matière de stratégie. L'aide pourrait aussi comprendre des exemples de résolution de problèmes pas-à-pas.

Le jeu pourrait aussi comporter plus de possibilités quant aux figures et formes, et davantage de combinaisons (sans se limiter à des formes distinctes).

La suite logique du jeu, qui travaille moins sur les tests logiques ET/OU mais incite l'élève à devoir raisonner en termes de déductions serait le MasterMind. Il existe un tels jeu (JavaScript) à l'adresse suivante: http://www.geocities.com/Hollywood/4250/master.htm.


Retour à l'index de staf12

Daniel Scherly * Grégoire Métral