Scratch, from scratch

(pas mal comme phrase d’accroche, non ?)

_images/cat.jpg

Introduction

Scratch est un outil du MIT Media Lab (2003) pour apprendre à programmer dès le plus jeune âge. Il est conçu pour être utilisable par des enfants en âge de lire, mais beaucoup s’en servent plus tard, y compris pour l’introduction à l’algorithme et à la programmation à l’université.

C’est un langage graphique. Les seules choses que vous aurez à écrire sont les texte à afficher, les valeurs des variables, les noms des fonctions et le nom du fichier dans lequel vous voulez sauvegarder votre prose.

Il y a actuellement deux versions sur le marché, Scratch 1.4 et Scratch 2. Le 2 est bien mieux que le 1.4 à de nombreux égards, notamment car il permet de faire des blocs personnalisés, mais le 1.4 est intéressant aussi, entre autres parce que beaucoup de projets “1.4” circulent sur le Web.

Il est disponible sur toutes les plateformes (Linux, Windows, Mac) et il existe même des versions Android et IOS.

Vous pouvez l’utiliser directement en ligne, dans votre navigateur, ou bien en version bureau.

Il existe en anglais, en français, et dans bien d’autres langues.

Initialement conçu dans l’esprit “programmation événementielle”, pour faire des animations et des mini-jeux, il permet en fait de faire passer de nombreux concepts de programmation.

Quelques projets triés sur le volet, pour vous mettre l’eau à la bouche

Installation, pré-requis et liens utiles

Si vous acceptez d’utiliser Flash dans votre navigateur, vous pouvez directement programmer en ligne. Sinon, il va vous falloir télécharger et installer Scratch, et pour cela, il faut accepter d’utiliser Air. De de maux, choisissez le moindre :)

Note

Notez que l’installation en local est souvent bien pratique : quand vous allez à un Coding Goûter sans Wifi, quand Eduroam est trop lent, quand vous voulez occuper vos enfants dans le train, etc.

Quelques liens utiles :

Qui utilise Scratch, et dans quel cadre ?

Les enfants ! ... dans les coding goûters, à l’école, à la maison après les coding goûters, etc. Par exemple, MixTeen [1] organise ses propres coding goûters avec la MMI et avec MixIT. Il existe plein d’autres coding goûters en France [2].

Les ados : de plus en plus de collèges et lycées se mettent à Scratch parce que c’est très accessible. Les ressources partagées par les enseignants du secondaire foisonnent sur le Web.

Les adultes “non” informaticiens : des organismes de formation comme le CNAM ou l’IREM [3] utilisent Scratch pour “initier à la programmation” des publics variés.

... et enfin, les universitaires !. L’initiative la plus parlante est probablement celle du fameux cours CS050 [4] de Harvard qui commence par Scratch. Ils ont même leur espace dédié sur le site de Scratch [5]. À Toulouse, on utilise Scratch pour l’introduction à l’algorithmique en IUT [6].

[1]https://mixteen.github.io/
[2]http://codinggouter.org/doku.php
[3]http://irem.univ-reunion.fr/spip.php?article184
[4]http://online-learning.harvard.edu/course/cs50-introduction-computer-science
[5]https://scratch.mit.edu/users/cs50/
[6]http://www.iut-tlse3.fr/moodle-old/pluginfile.php/120141/mod_resource/content/0/scratch/InitiationAlgo_Scratch.pdf

Que peut-on faire avec Scratch ?

Un beau dessin valant mieux qu’un long discours, nous allons passer à la pratique... mais pour ne pas oublier, il faut que je vous parle de :

  • Comment s’organise l’interface
  • Ce que c’est qu’un Sprite, ou Lutin en français
  • Ce que sont les scènes et les costumes
  • Pourquoi il est important de savoir faire des puzzles pour jouer avec Scratch
  • Ce que sont les blocs personnalisés
  • L’importance de la créativité
  • La courte liste des limites de Scratch (impossibilité d’interagir avec des sources de données extérieurs, difficulté à traiter des données, pas de bases de données, pas de génération de sorties, pas d’outils dédiés pour le débugage, lenteur, etc.)

Peut-on faire des fonctions avec Scratch ?

Euh. Oui.

Peut-on faire de la récursivité avec Scratch ?

Euh. Oui.

Peut-on faire ________ avec Scratch ?

Euh. Oui. Et puis, de toute façon, si on ne peut pas nativement, vous n’avez qu’à développer votre propre extension... Vous êtes informaticiens non ?

Vous voulez une preuve ?

Références

Ressources pédagogiques en français

Ressources pédagogiques pour tous les niveaux

Les ressources plutôt pour les enfants

Documentation technique sur Scratch