Initier les élèves à la pensée informatique et à la programmation avec Scratch

Pierre Tchounikine

dernière mise à jour : 29 janvier 2016 (exemples supplémentaires + explications)


Résumé et plan du document : cf.ci-dessous
Télécharger le document complet
(Version du 20 janvier 2016) : (30 pages)

Accéder aux exemples du document + compléments ci-dessous
: https://scratch.mit.edu/studios/1808925/
(Ce que les exemples exemplifient : cf. ci-dessous)

Contacter l'auteur : Pierre.Tchounikine@imag.fr      (site Web)
(Je suis preneur de commentaires/avis/conseils etc. pour améliorer le doc, notamment de la part d'enseignants et de formateurs)


Introduction/Résumé

L’enseignement de l’informatique, de façon générale et, notamment, à l’école élémentaire, est actuellement un objet de réflexion.

Il y a sur le sujet des discours très divers, plus ou moins fondés, et également plus ou moins liés aux enjeux sous-jacents (disciplinaires, médiatiques, politiques). Il y a beaucoup d’appels en faveur de cet enseignement, avec des arguments différents, étayés ou pas ; en substance : « cela permet de développer des compétences importantes », « cela développe la créativité des élèves », « c’est moderne », « c’est un domaine scientifique important », « c’est un secteur qui embauche », « mon petit frère adore », ou encore « c’est mon domaine d’activité, donc il est important, donc il faut l’enseigner ». Il y a également beaucoup de confusions (par exemple qu’enseigner l’informatique a pour but de faire des élèves de futurs programmeurs). Il y a enfin des ressources pédagogique mais qui, si l’on n’a pas les idées claires sur ce que l’on veut enseigner, pourquoi et comment, peuvent être difficiles à exploiter.

L’objectif de ce document est d’essayer d’aider les enseignants (et les formateurs d’enseignants) à y voir plus clair. Pour cela, il propose des informations et des réflexions pour connaitre et comprendre le domaine, les discours, les programmes et les principales ressources existantes mais, surtout, pour développer une réflexion personnelle sur quoi enseigner, pourquoi et comment.

Le contenu porte sur deux aspects, l’enseignement de « la pensée informatique » et l’utilisation de l’environnement de programmation Scratch. Aborder l’informatique via la notion de « pensée informatique » m’amène à mettre au cœur de la réflexion et de l’enseignement l’algorithmique et la programmation, dans une approche traditionnelle ou orientée « informatique créative ». Ceci ne résume évidemment pas la discipline informatique, et d’autres approches (mettant plus en avant d’autres notions : machine, automate, langage, bases de données, génie logiciel, architecture, composants électroniques, etc.) sont possibles. Je fais ce choix car c’est celui qui me semble le plus approprié pour une initiation à l’école et, par ailleurs, qu’il est cohérent avec ce que l’on trouve dans les programmes de l’éducation nationale. Le support technique que j’utilise est le langage Scratch. Pourquoi Scratch ? Parce que c’est le langage qui s’impose de fait pour le niveau de l’école primaire, et qu’il y a de bonnes raisons à cela. L’essentiel du discours est cependant indépendant de ce langage particulier.

Le texte est principalement écrit pour des professeurs des écoles (instituteurs et institutrices). Il s’adresse donc à des lecteurs qui, pour la plupart, n’ont pas suivi de formation à l’informatique  au cours de leurs études. Le but n’est pas de les former à l’informatique (ce n’est pas un cours d’informatique), mais de donner des éléments permettant de comprendre ce que peut être un enseignement de la « pensée informatique » et comment l’aborder. C’est un point d’entrée donc. Pour se lancer dans un enseignement effectif il faut ensuite développer une certaine maitrise de ce que l’on veut enseigner (comme on le verra, c’est abordable quelle que soit sa discipline d’origine, et ce document est presque suffisant pour cela), puis exploiter les ressources actuellement à disposition (le document présente des exemples réutilisables, pas d’activités/séquences prêtes à emploi ; cependant, des pointeurs vers ce type de ressources sont indiqués).

Étant donné le public cible, le niveau considéré est le cycle 3 (école / CM1 et CM2). Il est cependant possible de faire des choses au cycle 2 et, par ailleurs, certains éléments sont également potentiellement pertinents pour les niveaux collège/lycée (Scratch reste pertinent pour le collège, voire le lycée pour certains aspects ; à ces niveaux, il est possible d’utiliser d’autres langages de programmation, mais les réflexions pédagogiques sont similaires).

Le texte est structuré autour de la liste de questions suivantes :
  1. Qu’est-ce que c’est que la « pensée informatique » ? (définitions, exemples, confusions à éviter).
  2. Pourquoi enseigner l’informatique à l’école primaire ? (arguments, programmes actuels, position personnelle).
  3. Que faut-il faire pour enseigner l’informatique à l’école ?
  4. Quels objectifs pédagogiques peut-on considérer ? (différents objectifs possibles puis discussion autour des conceptions/approches orientées « algorithmique » et « informatique créative » de l’enseignement de l’informatique).
  5. Que veut dire « utiliser Scratch pour enseigner la pensée informatique » ? (principes généraux et différents exemples pour comprendre la différence entre utiliser et faire un algorithme/programme, comment aligner le moyen Scratch et l’analyse pédagogique/didactique, comment utiliser Scratch pour scénariser une situation pédagogique ou comment passer de la production de texte à l’informatique).
  6. Que faut-il comprendre de Scratch en tant qu’enseignant, et comment s’y prendre ?
  7. Comment définir et gérer des situations pédagogiques ?
  8. Quelles difficultés peut-on attendre/anticiper ?

Le texte a plusieurs niveaux de lecture : il est informatif et, sur certains sujets, aborde des questions plus fondamentales. Bien que les premières questions abordées ne soient pas liées à un langage particulier, des exemples Scratch sont présentés dès le début du texte afin de faciliter la compréhension.

J’espère pouvoir faire évoluer ce texte et remercie par avance les lecteurs pour leurs commentaires.



Ce que les exemples exemplifient
(les "Remix" sont des exemples de la communauté Scratch repris en l'état ; les autres sont des exemples construits pour expliquer différentes choses)

La différence entre utiliser/faire un programme
(cf. doc)
  • Un jeu : Fraction Game remix
  • Un jeu + simulation : The Fraction Attraction remix
  • Un exercice d’algorithmique : Exo fraction pommes
La construction de blocs pour aligner analyse pédagogique et Scratch
(cf. doc)
  • Jouer sur les variables didactiques : Exo boucle multiplication
  • Cacher le positionnement en x.y : Dialogue sur 1 scène.
Différentes façons de faire des animations + ou – interactives (pas toutes très pertinentes)
  • L’animation de base classique : Dance Party remix
  • Un dialogue sur une image, avec 1 seul « personnage » micro : Dialogue sur 1 scène (pour généraliser au cas où l'on utilise d'autres personnages : positionner le micro par rapport aux coordonnées des personnages via les blocs "aller à personnage" ; éventuellement, masquer le micro en le réduisant) 
  • Un dialogue avec 2 personnages, simple puis interactif via un Si-Alors-Sinon : Dialogue entre personnages
  • Évolution d’une histoire : Changement de scènes via des messages
  • Évolution d’une histoire : Changement de scènes via arrière-plans et boutons
  • Une "mise en image" : Le Corbeau et le Renard remix
  • Un projet d’école (réalisation complexe) : La bouteille d'eau en plastique, quel trajet ! remix
Des exercices « à la Logo »
 (cf. doc)
  • Tracer un parcours
  • Dessiner une rosace (commencer par des choses plus simples !)
Faire faire des Quizz
  • Un exemple minimal : 2 et 2 font 4
Scratch comme un outil de scénarisation
(cf. doc)
  • Démarche de résolution d’un problème : Do Val et Cal résolvent un problème (démarche générale, utilisation de variables)
Ce que c’est qu'un "jeu" (thème de projet possible) programmé avec Scratch
  • Le fameux Pong : Pong Starter remix
  • Un jeu plus actuel d’après les étudiants : Angry Birds V.1 remix
  • Un labyrinthe/quizz : Fraction Game remix