Aller au contenu
Sciences et technologie · CM1 · Objets techniques et numérique · 2e Trimestre

Programmation visuelle (Scratch)

Les élèves s'initient à la programmation par blocs avec Scratch pour créer des animations, des jeux simples ou contrôler des robots.

Programmes OfficielsMEN: Cycle 3 - Écrire ou comprendre un algorithme simple

À propos de ce thème

Scratch est l'outil de programmation visuelle recommandé par l'Éducation nationale pour initier les élèves du cycle 3 au codage. En CM1, les élèves découvrent l'interface par blocs et apprennent à assembler des séquences d'instructions pour créer des animations, des petits jeux ou contrôler des robots. Ce passage de l'algorithme papier au programme exécutable est une étape clé de la progression numérique.

Les blocs de Scratch sont organisés par catégories (mouvement, apparence, son, événements, contrôle, capteurs, opérateurs) et s'emboîtent comme des pièces de puzzle. Cette logique visuelle élimine les erreurs de syntaxe et permet aux élèves de se concentrer sur la logique du programme. Les projets progressent du simple (faire avancer un chat) au complexe (jeu de labyrinthe avec score et niveaux).

La programmation en binôme (pair programming) est particulièrement efficace avec Scratch. Un élève « pilote » manipule les blocs pendant que l'autre « navigateur » vérifie la logique et propose des améliorations. Cette méthode développe simultanément les compétences techniques, la communication et la résolution collaborative de problèmes.

Questions clés

  1. Construisez un programme simple pour animer un personnage.
  2. Distinguez les différents types de blocs de programmation (mouvement, événement, contrôle).
  3. Évaluez l'efficacité d'un programme pour atteindre un objectif donné.

Objectifs d'apprentissage

  • Identifier les blocs de commande essentiels (mouvement, apparence, événements, contrôle) pour construire une séquence d'instructions.
  • Créer une courte animation en assemblant des blocs Scratch selon une logique algorithmique simple.
  • Expliquer le rôle de chaque bloc utilisé dans un programme pour atteindre un résultat visuel spécifique.
  • Comparer deux programmes Scratch simples qui visent le même objectif, en identifiant lequel est le plus efficace et pourquoi.

Avant de commencer

Algorithmique et pensée logique sur papier

Pourquoi : Les élèves doivent être capables de décomposer une tâche simple en étapes séquentielles avant de traduire ces étapes en blocs de programmation.

Utilisation de l'ordinateur et de la souris

Pourquoi : Une familiarité de base avec l'interface graphique, le glisser-déposer et le clic est nécessaire pour interagir avec l'environnement Scratch.

Vocabulaire clé

ScriptUne série d'instructions (blocs) que l'ordinateur exécute dans l'ordre pour réaliser une action.
BlocUn élément visuel de programmation qui représente une commande ou une instruction spécifique, comme 'avancer' ou 'dire'.
SpriteUn personnage ou un objet graphique dans Scratch que l'on peut programmer pour bouger, parler ou interagir.
ÉvénementUn déclencheur qui lance l'exécution d'un script, par exemple, 'quand le drapeau vert est cliqué' ou 'quand la touche espace est pressée'.
BoucleUn bloc de contrôle qui permet de répéter une série d'instructions plusieurs fois, par exemple, 'répéter 10 fois'.

Attention à ces idées reçues

Idée reçue couranteProgrammer, c'est écrire du texte compliqué sur un écran noir.

Ce qu'il faut enseigner à la place

Scratch montre que programmer peut être visuel, coloré et accessible. Les blocs s'emboîtent logiquement, sans syntaxe à mémoriser. Cette première expérience positive de la programmation est essentielle pour éviter l'anxiété face au code. Le pair programming renforce la confiance en dédramatisant les erreurs.

Idée reçue couranteSi le programme ne marche pas, c'est que l'ordinateur est cassé.

Ce qu'il faut enseigner à la place

La grande majorité des erreurs viennent du programme, pas de la machine. Scratch facilite le débogage car les blocs sont visibles et modifiables instantanément. Apprendre à chercher l'erreur dans son propre code (et non dans l'outil) est une compétence fondamentale que le travail en binôme favorise naturellement.

Idée reçue couranteIl n'y a qu'une seule bonne façon de programmer une solution.

Ce qu'il faut enseigner à la place

Plusieurs programmes différents peuvent produire le même résultat. Comparer les solutions de différents binômes pour un même défi montre cette diversité. Certaines solutions sont plus courtes, d'autres plus lisibles : la discussion sur l'efficacité et la clarté du code enrichit la compréhension.

Idées d'apprentissage actif

Voir toutes les activités

Liens avec le monde réel

  • Les créateurs de jeux vidéo utilisent des langages de programmation visuelle comme Scratch pour prototyper des mécaniques de jeu avant de passer à des langages plus complexes. Des studios comme Ubisoft, avec des bureaux à Montreuil, emploient des programmeurs pour concevoir les interactions des personnages et les environnements virtuels.
  • Les ingénieurs en robotique, par exemple chez Aldebaran Robotics à Paris, utilisent des interfaces de programmation par blocs pour enseigner aux robots des séquences d'actions simples, comme saluer ou déplacer un objet, avant de les intégrer dans des systèmes plus sophistiqués.

Idées d'évaluation

Billet de sortie

Demandez aux élèves de dessiner le bloc 'événement' qu'ils utiliseraient pour démarrer une animation quand on clique sur un personnage. Ensuite, demandez-leur d'écrire le nom d'un autre bloc qu'ils ajouteraient pour faire bouger ce personnage.

Vérification rapide

Montrez aux élèves deux programmes Scratch très similaires qui font avancer un sprite. Posez la question : 'Lequel de ces programmes est le plus court et pourquoi ? Qu'est-ce que cela nous apprend sur l'efficacité ?' Observez leurs réponses pour évaluer leur compréhension de l'optimisation.

Évaluation par les pairs

En binômes, les élèves créent une animation simple. Chaque binôme échange son projet avec un autre. Ils doivent identifier un bloc utilisé, expliquer son rôle et proposer une amélioration possible. Ils notent leurs observations sur une fiche dédiée.

Questions fréquentes

Comment débuter avec Scratch en classe de CM1 ?
Commencer par une séance de découverte libre (10 min) où les élèves explorent l'interface. Puis proposer un tutoriel guidé simple (faire bouger le chat). Progresser ensuite vers des défis de plus en plus ouverts. Scratch fonctionne en ligne (scratch.mit.edu) ou hors ligne (application téléchargeable). Les binômes sont la configuration idéale.
Quelle est la différence entre les types de blocs dans Scratch ?
Les blocs « Événements » (drapeau vert, clic) déclenchent le programme. Les blocs « Mouvement » contrôlent les déplacements. Les blocs « Contrôle » gèrent les boucles et conditions. Les blocs « Capteurs » détectent les interactions (touche pressée, collision). Les blocs « Apparence » changent le visuel. Chaque catégorie a une couleur distincte.
Comment gérer une classe avec un seul ordinateur par binôme ?
Le pair programming est la solution : un élève pilote (manipule la souris), l'autre navigateur (vérifie la logique, cherche les blocs). On échange les rôles toutes les 10 minutes. Si les postes sont insuffisants, alterner ateliers Scratch et ateliers débranchés (algorithmes papier) par rotation de groupes.
Quelles méthodes actives pour enseigner Scratch en CM1 ?
Le pair programming structure la collaboration et empêche qu'un seul élève monopolise l'écran. Les défis progressifs maintiennent l'engagement (chaque défi réussi débloque le suivant). La présentation des projets à la classe développe la communication et la fierté du travail accompli. Le débogage collectif transforme les erreurs en opportunités d'apprentissage.

Modèles de planification pour Sciences et technologie