Je pense que personne ne me contredira quand j'affirme que nous sommes de plus en plus entouré d'ordinateurs !
Au bureau, dans la rue (avec les smart-phones et tablettes), à la maison, devant la TV avec les consoles de jeux, mais aussi dans la voiture, les GPS, dans les avions et même dans les machines à café ... j'en passe, les ordinateurs se sont imposés/immiscer partout !
Tout le monde sera aussi d'accord pour dire que la majorité des gens n'exploite que 50% des possibilités qui leurs sont offertes !!
Je suis convaincu (de part mon expérience personnelle) que savoir écrire un programme, même simple en bash ou en javascript, est un atout non négligeable dans un cursus professionnel, et je ne parle pas d'un développeur de logiciel mais bien de monsieur (madame!) tout le monde ...
Ne vous êtes vous jamais arrivé de devoir effectuer une tache hyper-répétitive sur votre ordinateur à la main et qui vous prend des heures tout en sachant au fond de vous que la machine pourrait faire la même chose, mieux, sans erreurs et en moins de 1 minutes ?
par exemple, renommer des centaines de fichiers .... ou modifier des dizaines de lignes dans un tableau M$Excel ???
Bon, je passe !
Dans l'absolu, si vous êtes ici, je prêche pour des convaincus ...
Maintenant la question est :
Comment initier les jeunes enfants (et les moins jeunes) à la programmation ?
Comment leurs donner le goût de créer des programmes sans passer par l'étape fastidieuse et rébarbative de l'apprentissage d'un langage ?
Le
MIT (Massachusetts Institute of Technology, une des meilleures universités américaine dans le domaine de l'informatique, excusez du peu) propose une solution sous la forme d'une application web :
Scratch n'est pas un N-ième langage de programmation ! C'est un outil qui permet de créer des "programmes" assez simple (quoique ... voir les exemples) à partir de blocs de fonctions.
Quand vous connaissez plusieurs langages de programmations, vous vous rendez compte rapidement qu'ils sont tous composés des mêmes choses, des même principes de bases.
Ensuite c'est la manière dont ces principes de base sont traduit et implémentés qui fait la différence.
Mais dans tous, on retrouve, sous une forme ou une autre: des boucles, des gestions d'événements, des opérateurs, des manipulations de variables ...etc.
C'est cette simple constatation qui à amener la création de Scratch.
Tout d'abord, tout à été fait pour être simple et accessible !
Entièrement programmé en HTML5, Scratch ne demande l'installation d'aucun plugin ou logiciel particulier et est accessible depuis n'importe quel ordinateur (ou smartphone/tablette) avec un navigateur plus ou moins récent.
De plus, le site et l'application en elle même, sont traduites dans dizaines de langues (y compris en Français)
Sur le site, allez en bas de la page pour trouver le menu qui permet de changer la langue.
Dans l'application, il faut cliquer sur la petite planète qui se trouve en haut à gauche, juste à coté du logo "Scratch"
Seul bémol, le tutoriel de départ n'est pas traduit en français
, mais c'est tellement simple que je ne pense pas que cela soit réellement un problème.
Scratch à été créé pour des enfants entre 8 et 16 ans, donc c'est assez "coloré" !
Mais, à mon avis, même un adulte (quelque soit son age) peux y trouver son compte ...
Comme je l'ai déjà dit, Scratch n'est pas un langage de programmation ! Son but est de donner à l'utilisateur, simplement et rapidement :
- le plaisir de créer quelque chose avec son ordinateur
- la démonstration que même lui peux le faire (trop de gens s'arrête au premier échec)
- l'esprit, la tournure d'esprit, la logique pour écrire un programme
Mon but ici, n'est pas d'écrire un tuto sur scratch ! mais juste de vous présenter rapidement les capacités de l'application
Quand vous entrez dans l'interface (en cliquant sur "Essaie le"), sur la gauche il y a une image d'un chat (appelé lutin en Français ou sprite en Anglais):
C'est cette image qui sert de résultat pour notre "programme"
Ensuite, juste à coté de celle-ci, il y a un "sélecteur" d'éléments et/ou action :
C'est en sélectionnant les différentes rubriques que des "blocs" de fonctions sont affichés juste en dessous
Fonctions "Mouvement"
Fonctions "Contrôle"
Pour "écrire" un programme, il suffit de glisser/déposer les différents blocs de fonctions qui s’emboîtent automatiquement les uns dans les autres ... vers la zone centrale de l'écran.
Exemple de "programme"
Les zones en "blanc" peuvent être édités, pour changer les valeurs quelles contiennent !
Ce programme va :
- déplacer l'image du chat de 10 pixels (1ere ligne bleue)
- jouer un coup de tambour (1ere ligne rose)
- déplacer l'image en arrière de 10 pixels (2eme ligne bleue)
- jouer un coup de cymbale (2eme ligne rose)
- et répéter ces actions 10 fois de suite (orange)
Pour lancer le programme, il suffit de cliquer sur n'importe quel partie coloré (autre que blanche)
Que dire de plus ...
il est possible (conseillé) de créer un compte pour sauvegarder ses "œuvres"
Voir et éventuellement réutiliser ce que les autres ont fait pour les "améliorer"
Importer ses propres sprites et sons ...
Sauvegarder ses réalisations sur sa machine
...
Je suis curieux d'avoir des retours si vous branchez un enfant sur ce site !
Je n'ai pas encore eu l'opportunité mais j'aimerais voir ce que mes petits neveux feraient avec ceci ...
Selon les articles que j'ai lu à droite, à gauche, les gosses accrochent immédiatement et créent des choses assez impressionnantes après seulement quelques heures.
Regardez les projets qui se trouvent sur la page de présentation pour vous en convaincre
Have fun
ericc