SE CONNECTER
1,2,3... codez ! | Le site de la Fondation La main à la pâte
Module 123 Codez | Scratch | Informatics and Digital Creation

Introduction générale à Scratch

1, 2, 3, codez ! - Activités cycle 4 - Introduction générale à Scratch

La plupart des projets présentés dans cet ouvrage proposent des séances de programmation Scratch (certains projets, comme ceux consistant à créer un jeu vidéo sont même quasi-exclusivement basés sur de telles séances).
Ce chapitre propose une discussion générale (pourquoi le choix de Scratch, quels sont ses avantages et ses limites, comment l’installer, etc.) et quelques conseils pour un usage en classe.
Par ailleurs, la « Séance de découverte de Scratch » propose une initiation à l’interface du logiciel ainsi que quelques exercices de prise en main de ses principales fonctionnalités. Cette séance peut être mise en œuvre au début de chaque séquence de programmation, si les élèves sont peu familiers avec Scratch.

Avant de se lancer dans une activité de programmation : quelques conseils

Programmer (un jeu vidéo, un synthétiseur musical…) est extrêmement motivant pour les élèves mais, pour que cela se passe bien, il faut prendre quelques précautions.

Scratch, un environnement idéal pour apprendre à programmer

Il existe de très nombreux outils d’apprentissage de la programmation. Nous avons fait le choix d’utiliser le logiciel Scratch, en raison de sa qualité remarquable, sa simplicité d’utilisation, sa gratuité, et sa communauté très active, y compris dans le champ de l’éducation (primaire et collège).
Ce choix est cependant arbitraire et, bien entendu, l’enseignant peut suivre la même progression en utilisant d’autres environnements (comme snap, mblock ou blockly, très similaire à Scratch, et eux-aussi gratuits, ou kodu et tangara, qui sont payants…).

Travailler en binôme

L’idéal est de disposer d’un ordinateur pour 2 élèves [Cette méthode, appelée pair programming, a fait ses preuves dans le milieu universitaire et dans le monde de l’entreprise. Elle est de ce fait de plus en plus employée. Lire par exemple l’article The Costs and Benefits of Pair Programming, de A. Cockburn et L. Williams (2000).], même si la classe possède assez d’ordinateurs pour que chacun puisse avoir le sien. Non seulement, cela facilite la gestion de classe (2 fois moins de programmes à débugger, des mises en commun plus rapides, et plus riches), mais surtout, les élèves progressent plus rapidement. À deux, ils peuvent débattre, tester plusieurs idées concurrentes, s’appuyer chacun sur les forces de l’autre, surveiller ce qui se passe à l’écran et détecter des bugs de façon très précoce…

Bien gérer les mises en commun

Il est illusoire (et inutile) d’espérer pouvoir passer dans chaque binôme pour débugger les différents programmes.  Il est préférable d’utiliser pour cela des moments de mise en commun.
Plutôt que demander aux « bons » élèves de montrer aux autres ce qu’ils ont réussi à faire, il est préférable de proposer une aide collective à ceux qui sont bloqués. Le binôme s’installe alors sur le poste de travail commun (ou branche le vidéoprojecteur sur son ordinateur) et explique ce qu’il a fait et pourquoi il est bloqué. C’est alors toute la classe, et non l’enseignant, qui l’aide collectivement. Quand c’est terminé, on propose à un autre binôme une aide similaire (c’est souvent nécessaire), et on reproduit l’opération.
Cette façon de gérer les mises en commun permet d’économiser beaucoup de temps (la plupart des élèves réussiront, ensuite, à débugger leur programme) tout en valorisant l’intelligence collective, et pas seulement la réussite de quelques-uns.
Si l’enseignant choisit de passer dans tous les binômes pour corriger leurs programmes, il risque d’y passer beaucoup de temps (et d’énergie), et de laisser les élèves aggraver leurs difficultés. En effet, plutôt que d’attendre l’enseignant sans rien faire, ces derniers ont tendance à changer de très nombreuses parties de leur programme pour tenter de le corriger (parfois, au hasard !), avec pour seule conséquence que leur programme ne fait plus rien correctement et qu’il faut repartir de zéro.

Faire soi-même le projet avant !

C’est sans doute le conseil le plus important, bien qu’il paraisse aller de soi. Il est primordial que l’enseignant ait pris quelques  heures sur son temps personnel AVANT la première séance de classe, pour se familiariser avec Scratch et pour réaliser les tâches que les élèves auront à effectuer au fil du projet.
Sinon, il risque fort de ne pas être capable d’aider les élèves quand ceux-ci en auront besoin.
Ce n’est pas difficile (il suffit de suivre le déroulement proposé dans les différentes séquences), et c’est même assez amusant !
Des programmes corrigés et commentés sont disponibles sur ce site web.

Diviser le projet en tâches bien distinctes

Programmer un jeu vidéo est une tâche complexe, qui peut dérouter les élèves, ne sachant pas « par quel bout commencer ». Dans les différentes séquences, nous proposons un découpage qui tient compte à la fois de la difficulté des différentes tâches (autant que possible, aller du plus simple au plus complexe), mais aussi de l’importance des différentes fonctionnalités du jeu (programmer le plus important avant l’accessoire).
Nous indiquons le degré de difficulté de chaque tâche en nous inspirant des symboles utilisés pour les pistes de ski :

Piste verte : facile

Tous les élèves y arrivent sans problème.

Piste bleue : moyenne

La plupart des élèves y arrivent seuls, certains ont besoin d’être un peu guidés.

Piste rouge : difficile

La plupart des élèves ont besoin d’être guidés (plus ou moins selon leur aisance).

Piste noire : très difficile

Tous les élèves ont besoin d’être guidés. Ces tâches sont facultatives.

Préparer l’environnement de travail : en local ou en ligne

Afin de gagner du temps, il est utile d’avoir préparé l’environnement de travail. Scratch peut être utilisé en local (s’il a été installé sur les ordinateurs) ou en ligne (ne nécessite pas d’installation préalable).

Si Scratch est utilisé en local

C’est le cas le plus simple (que nous conseillons pour des débutants).
Il faut s’assurer que :

  •  Scratch est bien installé sur toutes les machines (l’installation est très simple, en téléchargeant le logiciel ici : scratch.mit.edu/scratch2download
    A noter : Scratch est un logiciel libre, gratuit, fonctionnant sous Windows, Mac ou Linux.
  •  Un raccourci vers le logiciel est présent sur le bureau.
  •  Un répertoire dédié au projet doit être facilement accessible sur le réseau de l’établissement de façon à pouvoir partager les programmes de la classe.

Les séances décrites dans ce guide pédagogique utilisent la version 2 de Scratch. Si la version 1 est déjà installée en local, et s’il est impossible de la mettre à jour, nous conseillons d’utiliser la version « en ligne » de Scratch (qui est la version 2, cf. ci-dessous).

Si Scratch est utilisé en ligne

Il existe deux façons de travailler en ligne : en utilisant la fonctionnalité de « Studio Scratch » (pas encore très robuste, et soumise à de nombreuses contraintes), ou en utilisant des comptes personnels. C’est cette seconde option que nous préconisons : chaque élève se crée un compte sur le site scratch.mit.edu, lui permettant d’enregistrer ses différents programmes.
Pour les mises en commun, il suffit qu’un binôme clique sur « partager » en haut à droite du programme. Dès lors, les autres utilisateurs peuvent accéder au programme (à partir d’une recherche ou de son URL), le commenter, le remixer (permet de l’enregistrer sous un autre nom pour le modifier tout en gardant le programme d’origine intact).