Scratch au CRPE
Les programmes de mathématiques ont évolué et ont fait basculé les enseignants en Mathématiques dans le monde passionnant de l’algorithmique. En fait, les prof de Maths, sont désormais des profs de Maths-Info et doivent maîtriser l’outil très clairement. Ils se partagent la découverte de l’algorithmique avec les enseignants de Technologie qui ont une vision, peut être plus, d’algorithme appliqué à la robotique.
Si on voulait (encore) faire des clivages entre les disciplines, on pourrait dire que les Maths travaillent la partie Software et la Technologie la partie Hardware.
Bref, de mon côté, je trouve les deux passionnants, mais on s’en fout !
Juste après la sortie des programmes qui annonçait l’arrivée de l’algorithmique, plusieurs logiciels ont fait leur arrivée. Deux d’entre eux, Scratch et Algobox ont tiré leur épingle du jeu. Bien qu’Algobox avait les faveur d’une partie des enseignants, il a du laisser place à Scratch, recommandé, ensuite, par notre ministère.
et au primaire, peut-on utiliser Scratch ?
Je cite le site EducNum31 qui évoque les différentes parties du programme où l’algorithmique rentre en jeu.
- Au cycle 1, les élèves apprennent à « utiliser des marqueurs spatiaux adaptés (devant, derrière, droite, gauche, dessus, dessous…) dans des récits, descriptions ou explications ». Ils apprennent également à « situer des objets par rapport à soi, entre eux, par rapport à des objets repères », « se situer par rapport à d’autres, par rapport à des objets repères » et « dans un environnement bien connu, réaliser un trajet, un parcours à partir de sa représentation (dessin ou codage) ». Ce travail leur permet de développer l’aptitude à émettre des instructions élémentaires de déplacement, instructions qu’ils apprendront à associer dans les cycles suivants pour construire des programmes de déplacement.
- Au cycle 2, les élèves apprennent à « coder et décoder pour prévoir, représenter et réaliser des déplacements dans des espaces familiers, sur un quadrillage, sur un écran ». Ces déplacements ont lieu dans des espaces réduits en début de cycle (classe ou école) pour s’étendre progressivement tout au long du cycle jusqu’au quartier ou village pour lesquels ils pourront utiliser des plans. À partir du CE1, les élèves sont invités à coder des déplacements à l’aide d’un logiciel de programmation adapté.
- Au cycle 3, les élèves apprennent à « programmer les déplacements d’un robot ou ceux d’un personnage sur un écran ». Les élèves travaillent « dans des espaces de travail de tailles différentes (la feuille de papier, la cour de récréation, le quartier, la ville, …) eduscol.education.fr/ressources-2016
- Au cycle 4, Algorithmique et programmation devient un thème d’étude à part entière au même titre que Nombres et calculs ou Espace et géométrie. L’objectif est d’amener les élèves à « écrire, mettre au point et exécuter un programme simple ». « Les élèves s’initient à la programmation, en développant dans une démarche de projet quelques programmes simples, sans viser une connaissance experte et exhaustive d’un langage ou d’un logiciel particulier. En créant un programme, ils développent des méthodes de programmation, revisitent les notions de variables et de fonctions sous une forme différente, et s’entraînent au raisonnement. »
Les professeurs des écoles doivent-ils savoir coder ?
Il semblerait que parmi toutes les compétences demandées aux professeurs des écoles, savoir réaliser un algorithme et programmer des petits robots est une de leurs nombreuses cordes à leur arc. Aussi, ils ont, au CRPE, une partie sur l’algorithmique, qui en général tombe sur Scratch.
Voyons les principales notions à avoir sur ce logiciel ou tout du moins en programmation.
Les déplacements dans Scratch
Le premier point est de connaître le vocabulaire du logiciel bien évidemment. La première fois que j’ai vu qu’il fallait programmer un « lutin », je me suis dit « What !, il est où le lutin ?? » Bon en fait, il n’y avait pas de lutin, mais un chat qu’on appelait lutin ! C’est clair non ?
C’est ce qu’on appelle de la programmation orientée « objet ». Personnellement, j’ai mis plusieurs années à comprendre (même avec un DUT Informatique en poche) pour comprendre le concept. Donc, si tu ne comprends pas tout de suite, c’est OK.
Donc, se déplacer est essentiel dans Scratch pour tracer des figures ou faire de petits jeux interactifs. De nombreux sujets demandent des déplacements auxquels ils ajoutent…
Les boucles
Les boucles, ce sont des instructions qui te permettent de « répéter » un certain nombre de fois une suite d’instructions. Par exemple, pour réaliser un carré, ton lutin devra réaliser 4 fois : « Avancer et tourner de 90° ». On utilisera une boucle.
Les instructions conditionnelles
C’est ce qu’on appelle les « Si… Alors ». Si j’avais su alors j’aurais pas venu ! C’est exactement cela. Si une condition est respectée dans le programme alors il se passe une autre instruction (ou un bloc d’instructions).
Ces instructions sont pratiques lorsque l’on veut intégrer des conditions de déclenchement d’un évènement par exemple, ou lorsque l’on veut créer un jeu avec des points.
Les variables
On les trouve assez souvent dans les sujets de CRPE également. Les variables sont des « cases » allouées en mémoire pour stocker une information (à cette phrase, je suis sûr que tu ne l’as pas trop aimé 😉 ). Cela signifie en d’autres termes, que si tu veux stocker une information provisoirement dans l’ordinateur, tu vas utiliser une variable. Exemple, je suis en train de créer un jeu et je veux que le score de mon lutin s’affiche. Le score va prendre les valeurs 0, 1, 2, 3 successivement. Je vais donc devoir demander à mon programme de « mémoriser » ces valeurs provisoirement. Ici, nous aurons besoin d’une variable.
Les variables sont aussi un bon moyen de stocker une donnée rentrée par l’utilisateur. Par exemple, tu peux demander à l’utilisateur la taille du côté d’un carré que le programme va dessiner. Lorsque l’utilisateur répond, sa réponse est stockée en mémoire, dans une variable. Cela te permettra de l’utiliser après.
Les fonctions
Les fonctions vont te servir à diminuer le code. Trop de code tue le code. Lorsque tu veut tracer plusieurs carrés par exemple, tu peux créer une fonction « carré » dont le but sera de dessiner un carré. Une fois créée, il ne te reste plus qu’à utiliser l’instruction « carré » comme n’importe qu’elle autre instruction.
Ce n’est pas encore clair ?
C’est bien normal. Puisque tu t’intéresses à la pédagogie, sache que l’informatique et notamment la programmation relève vraiment d’une stratégie « essai-erreur ». De fait, je ne vois pas comment on peut apprendre en restant passif en informatique, ce n’est pas possible. On reviendra dessus plus tard, mais sache que si tu veux te mettre à niveau en Scratch, rapidement et sans chercher des sources à droite et à gauche, j’ai mis au point une micro formation (environ 15h de travail je pense) pour les candidats au CRPE. Tu la trouveras en cliquant sur le bouton en dessous.
Bonnes révisions et bon courage.