Scratch, qu'est-ce que c'est ?

"Imaginer, Programmer, Partager"
Sratch propose d'aborder la programmation pour donner corps à son imagination en réalisant des jeux à partager.

La programmation est un moyen, pas un but en soi.

Scratch est un langage graphique facile d'accès, même aux plus jeunes et son look pourra vous paraitre "enfantin", donc peut-être pas pour vous? Eh bien si! Nous n'allons pas nous attarder sur Scratch dans ce cours, mais attention, sur le fond, Scratch permet d'aborder tous les concepts essentiels de l'algorithmie et de la programmation :
  • les notions de séquence, d'itération et de branchement conditionnel que nous avons déjà vues,
  • la programmation évènementielle, les scripts,
  • la notion d'abstraction (procédurale ou de données),
  • le design et la conception,
  • les listes et l'organisation des données,
  • la synchronisation par des messages,
  • la robotique et les objects connectés,
  • etc.
Scratch est utilisé par 33 millions de personnes ... en particulier par des lycéens aux USA, pour compléter leur entrée à l'université. Ca leur donne des points bonus (officiellement reconnus) dans leur dossier de candidature à des études supérieures.
Commencez par un programme de 5 minutes par exemple en cliquant ici ou sur la vidéo ci-dessus à droite et revenez ensuite.

Scratch est aussi un excellent support pédagogique. Si vous envisagez de devenir animateur ou médiateur numérique, notez vos impressions. Ce sont les mêmes que vos futurs élèves ou stagiaires, vous devrez les analyser avec eux et passer ensuite de leur expérience à la compréhension des notions utilisées. Nous allons les analsyer ensemble, mais ce sera peut-être votre prochain job!

Scratch permet de réaliser très rapidement des jeux et applications, avec le minimum de pré-requis. La programmation est basée sur la manipulation de blocs graphiques (blockly) avec des libellés simples et en français. Leur couleur correspond à leur catégorie et leur forme aux assemblages possibles. On les manipule à la façon des briques de Lego.
Une des caractéristiques de Scratch est d'éviter les fastidieuses erreurs de syntaxe propres aux langages classiques (python, javascript, ...). L'exécution du code est instantanée, ce qui favorise les dévelopements par essais-erreurs.
Scratch a été développé au sein du MIT Media Lab par le groupe de Mitchel Resnick dans la lignée des travaux de Seymour Papert, du constructionisme et du constructivisme de Jean Piaget avec qui Papert a travaillé dans les années 60.

Scratch est gratuit et utilisable en ligne avec un simple navigateur. Vous pouvez aussi l'installer sur votre poste et l'utiliser sans internet. Scratch dispose d'extensions vers la robotique et les interactions physiques du monde réel.