ScenoClasse

SPY

Un scénario d'une durée de 120 minutes proposé par Mathieu Muratet, composé de 6 tâches distribuées en 6 temps et s'adresse à un public de CM2

Résumé : Initier les élèves à la programmation à l'aide du jeu sérieux SPY
Matériel necessaire pour toutes les tâches
tablettes ou ordinateurs, Connexion internet requise, tablettes ou ordinateurs, Connexion internet requise, tablettes ou ordinateurs, Connexion internet requise, Connexion internet requise, tablettes ou ordinateurs,
Références externes / bibliographie :
SPY,
Compétences pour ce scénario
  • C5.1 représenter des objets ou séquences d'actions au moyen d'une représentation formelle
  • C6.1 vérifier si une séquence d'actions atteint un objectif donné
  • C2.1 ordonner une séquence d'actions pour atteindre un objectif
  • C2.3 créer une séquence d'actions pour atteindre un objectif simple
  • C5.1 représenter des objets ou séquences d'actions au moyen d'une représentation formelle
  • C6.1 vérifier si une séquence d'actions atteint un objectif donné
  • C6.3 corriger une séquence d'actions pour atteindre un objectif donné
  • C1.6 utiliser des objets dont la valeur peut changer
  • C2.1 ordonner une séquence d'actions pour atteindre un objectif
  • C2.6 décomposer des objectifs en sous-objectifs plus simples
  • C2.2 compléter une séquence d'actions pour atteindre un objectif simple
  • C1.2 différencier objet et action, et actions atomiques et non atomiques
  • C2.3 créer une séquence d'actions pour atteindre un objectif simple
  • C4.3 améliorer une séquence d'actions par rapport à un critère donné
  • C4.2 comparer deux séquences d'actions selon un critère donné
  • C2.6 décomposer des objectifs en sous-objectifs plus simples
  • C1.1 nommer des objets et séquence d'actions
  • C2.3 créer une séquence d'actions pour atteindre un objectif simple
  • C5.1 représenter des objets ou séquences d'actions au moyen d'une représentation formelle
  • C6.1 vérifier si une séquence d'actions atteint un objectif donné
  • C2.1 ordonner une séquence d'actions pour atteindre un objectif
  • C1.7 reconnaître, parmi des objets et séquences d’actions connus, lesquels peuvent être utilisés pour atteindre un nouvel objectif
  • C1.6 utiliser des objets dont la valeur peut changer
  • C6.3 corriger une séquence d'actions pour atteindre un objectif donné
  • C2.2 compléter une séquence d'actions pour atteindre un objectif simple
  • C5.1 représenter des objets ou séquences d'actions au moyen d'une représentation formelle
  • C6.1 vérifier si une séquence d'actions atteint un objectif donné
  • C2.4 créer une séquence d'actions pour atteindre un objectif complexe
  • C3.1 répéter une séquence d'actions un nombre donné de fois
  • C2.6 décomposer des objectifs en sous-objectifs plus simples
  • C2.3 créer une séquence d'actions pour atteindre un objectif simple
  • C2.1 ordonner une séquence d'actions pour atteindre un objectif
  • C1.6 utiliser des objets dont la valeur peut changer
  • C1.5 prédire le résultat d'une séquence d'actions
  • C1.2 différencier objet et action, et actions atomiques et non-atomiques
  • C6.3 corriger une séquence d'actions pour atteindre un objectif donné
Objectifs du scénario
  • Principal: Faire comprendre aux élèves ce qu'est l'informatique
  • Principal: Découvrir le jeu SPY
  • Principal: Programmer un robot avec des actions simples
  • Principal: Apprendre à nommer un programme et programmer plusieurs robots
  • Principal: Apprendre à identifier des schémas répétitif et à les décrire sous la forme d'un programme
  • Principal: Revenir sur les notions travaillées lors des sessions de jeu
DETAILS
UP
N°1
Introduction
~ 10 minutes En Classe / Mise en situation
Objectif(s) :
  • Principal: Faire comprendre aux élèves ce qu'est l'informatique
Description :

Poser la question aux élèves, qu'est ce que c'est l'informatique pour vous ? Quand on vous parle d'informatique, à quoi vous pensez ?

Recueillir les idées des élèves et les noter sur le tableau. Exemple de références données par les élèves : ordinateur, tablette, écran, jeux vidéo, logiciel, programmation...

Rebondir sur les représentations des élèves. Par exemple leur expliquer que l'informatique ne se réduit pas aux matériels (ordinateur, tablette, console de jeu...). Faire des parallèles avec d'autres disciplines, par exemple : la littérature ne se réduit pas au support matériel qui est le livre, que les mathématiques ne se réduit pas à la calculatrice ou que l'art ne se réduit pas au pinceau.

Leur expliquer également que l'informatique ne se réduit pas aux logiciels comme les jeux vidéo ou les applications sur tablette. Leur faire comprendre que l'informatique a permis de fabriquer ces logiciels pour autant utiliser ces logiciels ce n'est pas faire de l'informatique. Là encore donner une image par exemple en expliquant qu'en jouant au tennis on est contraint par les lois de la physique (la balle retombe au sol par ce qu'elle est attirée par la Terre, la balle est freinée par l'air...) pour autant quand on joue au tennis on n'est pas en train d'étudier la physique.

Si les termes comme "programmation", "codage" ou "code" ressortent s'appuyer dessus ou sinon les énoncer. Expliquer aux élèves que les ordinateurs sont très bêtes, ils ne font que ce qu'on leur a dit de faire, que ce pour quoi ils ont été programmés. Expliquer également que pour qu'un ordinateur nous comprenne, il faut lui parler dans un langage un peu particulier, il faut coder les actions qu'il doit réaliser avec un langage précis.

Terminer en leur expliquant qu'ils vont jouer à un jeu dans lequel il vont devoir programmer un robot pour l'aider à sortir d'un labyrinthe.

UP
N°2
Tutoriel de spy
~ 5 minutes En Individuel / Recherche
Organisation spaciale :

Possibilité de mettre les élèves à deux par tablette ou ordinateur

Matériel necessaire : tablettes ou ordinateurs, Connexion internet requise,
Références externes / bibliographie :
SPY,
Compétence(s) pour cette tâche
  • C2.1 ordonner une séquence d'actions pour atteindre un objectif
  • C2.3 créer une séquence d'actions pour atteindre un objectif simple
  • C5.1 représenter des objets ou séquences d'actions au moyen d'une représentation formelle
  • C6.1 vérifier si une séquence d'actions atteint un objectif donné
Objectif(s) :
  • Principal: Découvrir le jeu SPY
Solutions :

Ce que doivent produire les élèves :

Le programme permettant de terminer le tutoriel

Description :

Comprendre comment jouer au jeu SPY : Comment déplacer la caméra, comment ajouter un action au programme du robot, comment exécuter un programme

UP
N°3
Scénario explorateur
~ 20 minutes En Individuel / Recherche
Organisation spaciale :

Possibilité de mettre les élèves à deux par tablette ou ordinateur

Matériel necessaire : tablettes ou ordinateurs, Connexion internet requise,
Références externes / bibliographie :
SPY,
Compétence(s) pour cette tâche
  • C6.3 corriger une séquence d'actions pour atteindre un objectif donné
  • C6.1 vérifier si une séquence d'actions atteint un objectif donné
  • C5.1 représenter des objets ou séquences d'actions au moyen d'une représentation formelle
  • C2.6 décomposer des objectifs en sous-objectifs plus simples
  • C2.3 créer une séquence d'actions pour atteindre un objectif simple
  • C2.2 compléter une séquence d'actions pour atteindre un objectif simple
  • C2.1 ordonner une séquence d'actions pour atteindre un objectif
  • C1.6 utiliser des objets dont la valeur peut changer
  • C1.2 différencier objet et action, et actions atomiques et non atomiques
Objectif(s) :
  • Principal: Programmer un robot avec des actions simples
Consignes données aux élèves :

Dans ce scénario tu devras réaliser plusieurs défis en utilisant des actions simples. Ton objectif sera d'utiliser les bonnes actions, dans le bon ordre.

Solutions :

Niveau 1 : ; Niveau 2 : ; Niveau 3 : ; Niveau 4 : ; Niveau 5 : ; Niveau 6 : ; Niveau 7 : ; Niveau 8 : ; Niveau 9 :

Ce que doivent produire les élèves :

La solution de chaque niveau du scénario

Points de vigilance :
  • Cas autre : Niveau 3
    Alors : Le robot est volontairement positionné vers le bas pour faire comprendre à l'élève que l'action "Avancer" représenté par un flèche vers le haut ne signifie pas "Avancer vers le haut" mais bien "Avancer devant toi".
  • Cas autre : Niveau 7
    Alors : Dans ce niveau le joueur peut utiliser l'action "Se retourner" qui est équivalente à deux actions "Pivoter à gauche" ou deux actions "Pivoter à droite". Il s'agit d'une action non atomique car elle est équivalente à deux actions qui sont elles atomiques.
Description :

Dans ce scénario l'élève va apprendre à utiliser plusieurs blocs pour programmer un robot. Ce scénario est composé de 9 niveaux et ne demande au joueur de ne manipuler que des blocs d'action simples ("Avancer", "Pivoter à gauche", "Pivoter à droite", "Attendre"...). Les 4 premiers niveaux donnent seulement accès au blocs requis, le joueur doit donc les agencer dans le bon ordre sans avoir à se demander si tel ou tel bloc est utile ou non. Les 5 derniers niveaux fournissent les blocs d'action en quantité illimitée, c'est alors au joueur de déterminer quels blocs doivent être utilisés et dans quel ordre. Pour chacun de ces niveaux le joueur peut décomposer son programme en sous parties, il peut déposer quelques blocs, exécuter son programme, observer la nouvelle situation et poursuivre sa résolution sans avoir à recommencer au début.

UP
N°4
Scénario collaborateur
~ 30 minutes En Individuel / Recherche
Organisation spaciale :

Possibilité de mettre les élèves à deux par tablette ou ordinateur

Matériel necessaire : tablettes ou ordinateurs, Connexion internet requise,
Références externes / bibliographie :
SPY,
Compétence(s) pour cette tâche
  • C4.3 améliorer une séquence d'actions par rapport à un critère donné
  • C4.2 comparer deux séquences d'actions selon un critère donné
  • C1.7 reconnaître, parmi des objets et séquences d’actions connus, lesquels peuvent être utilisés pour atteindre un nouvel objectif
  • C6.3 corriger une séquence d'actions pour atteindre un objectif donné
  • C6.1 vérifier si une séquence d'actions atteint un objectif donné
  • C5.1 représenter des objets ou séquences d'actions au moyen d'une représentation formelle
  • C2.6 décomposer des objectifs en sous-objectifs plus simples
  • C2.3 créer une séquence d'actions pour atteindre un objectif simple
  • C2.2 compléter une séquence d'actions pour atteindre un objectif simple
  • C2.1 ordonner une séquence d'actions pour atteindre un objectif
  • C1.6 utiliser des objets dont la valeur peut changer
  • C1.1 nommer des objets et séquence d'actions
Objectif(s) :
  • Principal: Apprendre à nommer un programme et programmer plusieurs robots
Consignes données aux élèves :

Dans ce scénario tu vas contrôler plusieurs robots. Tu devras bien faire attention à quels robots tes programmes seront envoyés.

Solutions :

Niveau 1 : ; Niveau 2 : ; Niveau 3 : ; Niveau 4 : ; Niveau 5 : ; Niveau 6 : ; Niveau 7 : ; Niveau 8 (solution 1) : ; Niveau 8 (solution 2) : ; Niveau 9 : ; Niveau 10 : ; Niveau 11 : ; Niveau 12 :

Ce que doivent produire les élèves :

La solution de chaque niveau du scénario

Points de vigilance :
  • Cas autre : Niveau 11
    Alors : Ce niveau vise à montrer à l'élève qu'il peut créer ses propres lignes de programme en cliquant sur le bouton "+". Jusqu'à maintenant les lignes de programme étaient présentent dès le début du niveau, ici l'élève doit créer sa propre ligne de programme et la nommer de manière appropriée.
  • Cas autre : Niveau 1
    Alors : Ce niveau vise à faire comprendre à l'élève le principe de nommage. Une erreur classique est de glisser l'action dans la zone de programme et de ne pas penser à vérifier à qui se programme sera envoyé. Montrer que l'on peut connaître le nom du robot en passant son doigt ou le curseur de la souris dessus. Montrer que l'on doit indiquer son nom dans la zone de programme afin que le code lui soit envoyé.
  • Cas autre : Niveau 8
    Alors : Dans ce niveau un programme est proposé pour chaque robot mais deux robots ne pouvant utiliser la même case ils ne peuvent se croiser. L'élève doit donc modifier les programmes proposés par exemple en ajoutant 4 blocs "Attendre" dans le programme de Bob. Une autre solution est de réécrire le programme pour inverser les points d'arrivée.
  • Cas autre : Niveau 6
    Alors : Dans ce niveau le joueur ne doit pas programmer, simplement lire les deux solutions qui lui sont proposées et choisir celle qu'il souhaite envoyer au robot en indiquant son nom dans la zone de programme appropriée. Les deux solutions données sont correctes dans le sens où les deux solutions amènent le robot à destination mais une solution est plus courte (une action de moins). Il est possible de s'appuyer sur ce niveau pour montrer qu'il n'existe pas une solution unique à un problème mais que certaines solutions sont plus efficaces que d'autres.
  • Cas autre : Niveau 4
    Alors : Deux robots ne peuvent utiliser la même case, il faut donc faire attention à faire attendre Bob pendant que Karl pivote.
  • Cas autre : Niveau 2
    Alors : C'est le premier niveau avec deux robots et donc deux zones de programme. Au niveau 1 les élèves on compris qu'une zone de programme envoie son code à un robot particulier. Une erreur possible est que l'élève ne fasse pas attention au nom de la zone de programme. Bien lui montrer qu'il y a deux zones de programme (une pour chaque robot) et qu'il doit faire donc attention à quelle zone de programme il utilise s'il veut contrôler un robot particulier.
Description :

Dans ce scénario l'élève devra faire collaborer deux robots. Ce scénario est composé de 12 niveaux. Il devra notamment apprendre à nommer correctement les zones de programmation afin de contrôler les bons robots. Dans ce scénario 3 niveaux ne demandent pas au joueur de programmer mais proposent des solutions pré-construites, le joueur doit alors lire ces programmes, les comprendre et choisir celui qu'il souhaite envoyer au robot. Deux niveaux contiennent des solutions erronées que le joueur doit corriger.

UP
N°5
Scénario répétiteur
~ 45 minutes En Individuel / Recherche
Organisation spaciale :

Possibilité de mettre les élèves à deux par tablette ou ordinateur

Matériel necessaire : Connexion internet requise, tablettes ou ordinateurs,
Références externes / bibliographie :
SPY,
Compétence(s) pour cette tâche
  • C3.1 répéter une séquence d'actions un nombre donné de fois
  • C2.4 créer une séquence d'actions pour atteindre un objectif complexe
  • C1.5 prédire le résultat d'une séquence d'actions
  • C1.2 différencier objet et action, et actions atomiques et non-atomiques
  • C1.6 utiliser des objets dont la valeur peut changer
  • C2.1 ordonner une séquence d'actions pour atteindre un objectif
  • C2.3 créer une séquence d'actions pour atteindre un objectif simple
  • C2.6 décomposer des objectifs en sous-objectifs plus simples
  • C5.1 représenter des objets ou séquences d'actions au moyen d'une représentation formelle
  • C6.1 vérifier si une séquence d'actions atteint un objectif donné
  • C6.3 corriger une séquence d'actions pour atteindre un objectif donné
Objectif(s) :
  • Principal: Apprendre à identifier des schémas répétitif et à les décrire sous la forme d'un programme
Consignes données aux élèves :

Dans ce scénario tu vas apprendre à optimiser tes programmes en répétant une ou plusieurs actions. Tu devras aussi faire attention aux gardes qui surveillent certaines zones et les éviter.

Solutions :

Niveau 1 : ; Niveau 2 : ; Niveau 3 : ; Niveau 4 : ; Niveau 5 : ; Niveau 6 : ; Niveau 7 : ; Niveau 8 (solution "Courir devant") : ; Niveau 8 (solution "Attendre qu'il passe") : ; Niveau 8 (solution "Passer dessous") : ; Niveau 9 : ; Niveau 10 :

Ce que doivent produire les élèves :

La solution de chaque niveau du scénario

Points de vigilance :
  • Cas autre : Niveau 6
    Alors : C'est certainement le niveau qui pose le plus de problèmes aux élèves car il faut repérer ici que deux schémas sont imbriqués. Le premier schéma consiste à avancer 5 fois et pivoter à droite. Le second schéma consiste à répéter le premier schéma trois fois. Si l'élève bloque montrer qu'il est possible de mettre un bloc "Répéter plusieurs fois" à l'intérieur d'un bloc "Répéter plusieurs fois".
  • Cas autre : Niveau 2
    Alors : Montrer que l'on peut modifier le paramètre du bloc "Répéter plusieurs fois".
  • Cas autre : Niveau 3
    Alors : L'objectif de ce niveau est que l'élève repère que le schéma "Avancer", "Pivoter à gauche", "Avancer" et "Pivoter à droite" le repositionne dans la même orientation mais un peu plus loin. Il peut donc répéter ce schéma autant de fois que nécessaire. Montrer qu'il est possible de mettre plusieurs actions à l'intérieur du bloc "Répéter plusieurs fois".
  • Cas autre : Niveau 8
    Alors : Ce niveau contient plusieurs stratégies de résolution, la première consiste à courir devant le robot, la seconde consiste à attendre qu'il passe devant nous, la troisième consiste à repérer que le robot n'observe pas la zone sous lui et qu'il est donc possible d'y passer dessous sans se faire repérer.
Description :

Ce scénario est centré sur la notion de répétition. Ici les blocs actions sont limités non pas pour réduire la charge cognitive du joueur mais pour forcer l'utilisation du bloc "Répéter n fois". Ce scénario exploite aussi les agents ennemis qui contiennent des actions que le joueur peut consulter mais ne peut pas modifier. Le joueur doit alors anticiper les actions de l'ennemi et programmer son robot en conséquence. Ce scénario est composé de 10 niveaux.

UP
N°6
Synthèse et conclusion
~ 10 minutes En Classe / Synthèse
Objectif(s) :
  • Principal: Revenir sur les notions travaillées lors des sessions de jeu
Description :

Revenir avec les élèves sur ce qui a été travaillé au cours des sessions de jeu :

  • La notion de langage, les robots ne comprennent que des actions précises et qu'ils ne font que ce qu'on leur à dit de faire. Une des difficultés de la programmation est de traduire ce que l'on a dans la tête (ce que l'on souhaite faire au robot) dans un langage simple mais formel composé de quelques actions comprises par le robot.
  • La notion de nommage, il est important de bien nommer les choses pour éviter d'être ambigüe. Si deux robots sont présents dans le jeu il faut nommer chaque zone de programme de manière appropriée de manière à ce que chaque robot sache quoi faire.
  • L'identification de schéma répétitif, il est possible d'identifier des schémas répétitifs et de demander au robot de les réaliser plusieurs fois. Ceci permet de réduire la taille des programmes et donc de simplifier leur lisibilité.
  • La variété des solutions, il peut exister plusieurs solutions pour un même problème. Pour autant elles ne sont pas toutes équivalentes, certaines requièrent moins de blocs, d'autres permettent d'atteindre l'objectif plus rapidement.
  • La résolution en sous-étapes, pour résoudre un problème complexe il est possible de le décomposer en sous étapes plus faciles à résoudre.