Pourquoi Scratch
Scratch (et ses semblables mbloc, blockly, .. ) est un logiciel de programmation visuelle destiné principalement à la création d'histoires interactives, des jeux et des animations. Il est doté d'une plateforme de mutualisation gratuite accessible à tous.
En sciences et technologie, Scratch est aussi utilisé pour le pilotage et la programmation d’interfaces disponibles dans les laboratoires.
La domotique et la robotique deviennent ainsi très accessibles aux élèves.
Dans le processus de conception et de programmation des projets de Scratch, les jeunes apprennent à penser de façon créative, à raisonner systématiquement, et travailler en collaboration.
Coder avec Scratch est beaucoup plus simple que coder avec un vrai langage de programmation traditionnel, puisque la création de scripts est réalisée à partir d'instructions simple se présentant sous la forme d'un assemblage de blocs (contrôles, variables, capteurs...). Cela se révèle donc être un outil très ludique et pédagogique.
Scratch se présente en ligne sous la forme d'une application et site web interactifs, et hors-ligne sous la forme d'un logiciel ayant la même interface.
Scratch est une implémentation visuelle et dynamique du langage de programmation Smalltalk basé sur Squeak.
Scratch est piloté par le laboratoire Media du MIT (USA).
Il est disponible gratuitement : http://scratch.mit.edu
Pourquoi apprendre avec Scratch ?
C'est un outil idéal d’initiation à la programmation et à la pensée informatique. Son approche basée sur l’utilisation de blocs de base élimine, pour ainsi dire, un problème majeur que posent les langages textuels traditionnels ; celui de devoir mémoriser et taper des instructions selon une syntaxe rigoureuse. De plus, son approche inspirée des dessins animés et la place importante accordée aux multimédias – sons, éléments graphiques et animations – en font un outil d’initiation à l’informatique intéressant et divertissant.
Lors de l'utilisation de Scratch, les élèves passent par des phase d'apprentissage :
- Pensée algorithmique
- Représentation de l’information et de son traitement
- Résolution de problèmes
- Contrôle des résultats
Entre autres, ils apprennent plusieurs concepts mathématiques et informatiques qui se trouvent bien intégrés dans Scratch. Pendant que les élèves créent des programmes dans Scratch, ils apprennent des concepts de base en informatique tels que les processus itératifs (les boucles par exemple) et les critères conditionnels (si, alors, sinon). Ils acquièrent également les concepts mathématiques importants tels que les coordonnées (repère dans le plan), les variables et les nombres aléatoires.
De façon significative, les élèves apprennent ces concepts dans un contexte motivant. Quand les élèves en apprennent sur les variables dans un contexte traditionnel d'enseignement de l'algèbre, ils se sentent habituellement peu attiré par ce concept quelque peu abstrait. Mais quand ils ont à utiliser des variables dans un projet créé dans Scratch, ils ont à employer des variables immédiatement comme pour le pilotage d'une interface robotique par exemple.
Pendant que les élèves travaillent sur leurs projets dans Scratch, ils en apprennent également beaucoup sur le processus de la conception. Typiquement, le projet d'un élève commence par une idée. Il crée un prototype fonctionnel, il apporte et expérimente lui-même ses solutions, les corrige quand les choses ne fonctionnent pas comme prévu. Par la suite, il partage et obtient des retours qui l'aident à affiner son modèle. C'est une spirale continue :
Avoir une idée, créer un projet, qui mène aux nouvelles idées, qui mènent à de nouveaux projets, et ce, indéfiniment selon un processus de progression spiralaire et créative.
Ce processus de conception de projet sollicite et développent plusieurs compétences nécessaires aux jeunes d'aujourd'hui qui désirent avoir du succès plus tard dans leur vie : pensée créative, communication claire, bonne analyse systématique, collaboration efficace, conception réflexive itérative, apprentissage continu.
Créer des projets avec Scratch aide également les élèves à développer un niveau plus profond de maîtrise de la technologie numérique, à interagir avec l'ordinateur mais aussi apprendre à créer avec l'outil.
Naturellement, la plupart des élèves ne deviendront pas tous des programmeurs professionnels, tout comme la plupart d'entre eux ne deviendront pas des auteurs professionnels. Mais apprendre à programmer offre des avantages à chacun: il permet à des élèves de s'exprimer de façon pleinement créative, les aident à se développer en tant que penseurs logiques, et les aident à comprendre les fonctionnements des nouvelles technologies qu'ils rencontrent quotidiennement dans leur vie.