Entretien avec Frédéric Pain
Frédéric Pain est enseignant chercheur en physique à l'université Paris-Sud à Orsay.
L'auteur s'intéresse depuis plusieurs années à l'apprentissage de la programmation informatique pour les plus jeunes. Dans ce cadre, il anime des ateliers autour de Scratch et d'Arduino dans des classes de primaire et de collège.
En quoi le programme SCRATCH est-il intéressant pour développer l'apprentissage de la programmation chez les enfants ?
Scratch a été conçu par le laboratoire Lifelong Kindergarten du M.I.T, des chercheurs et des éducateurs uniquement dans ce but. L'idée est de transmettre les concepts rigoureux des mathématiques et de la programmation aux enfants dès l'âge de 5 ans. Et c'est par l'aspect ludique qu'il est possible de le faire : réaliser des animations, des histoires interactives, des jeux.
Mais l'objectif de Scratch est double. Il s'agit d'une part de favoriser l'apprentissage créatif : les enfants apprennent en faisant ; et d'autre part de développer l'esprit collaboratif : les enfants apprennent à travailler en groupe, à partager les informations, les astuces et à échanger des projets.
Les enfants peuvent apprendre Scratch de manière autonome ou dans le cadre de l'école, De nombreux ateliers dans le monde ont été créés par les professeurs qui intègrent maintenant cet apprentissage dans le programme éducatif.
En France, la mise en place d'ateliers dans le cadre des rythmes scolaires a permis de développer des ateliers Scratch. J'ai rencontré cette année plusieurs professeurs des écoles qui démarrent avec Scratch dans leurs classes. Les adultes peuvent rapidement se "former" même s'ils ne disposent pas de compétences particulières en informatique.
Scratch est également un outil bien adapté pour un enseignement auprès d'adultes non-spécialistes en programmation.
Au cours de ces ateliers ludiques que vous animez, quelles sont les qualités que vous remarquez chez les enfants ? Font-ils preuve de créativité et d'esprit logique ?
Lors de la première phase de l'atelier, les enfants découvrent l'interface et les possibilités offertes par Scratch. L'interface de Scratch est très graphique de par sa programmation visuelle. Les enfants apprennent à déplacer des blocs d'instruction, à créer ou à insérer des images, des sons. Ils peuvent imaginer les décors dans lesquels les personnages vont évoluer.
La créativité est souvent l'élément déclencheur. Mais selon mon expérience, un fil conducteur pour animer l'atelier est indispensable. Le but étant d'éviter le risque d'une trop grande dispersion dans le projet. En effet, certains enfants sont très attirés par le côté dessin, graphisme et passent une bonne partie du temps, lors de l'atelier, à peaufiner leurs personnages et leurs décors au détriment de la partie programmation et la finalisation du projet.
Scratch est un très bon logiciel pour faire comprendre la logique de la programmation. La première découverte des enfants est qu'en l'absence de code, il ne se passe rien à l'écran.
Le côté « magique » de l'animation est démystifié. Ils prennent conscience qu'ils peuvent donner des instructions au programme pour que tout à coup les décors s'animent et les personnages se déplacent.
Ils découvrent les instructions de condition (si la condition A est vraie alors il faut faire telles choses... Sinon, une autre chose). Les instructions de répétition, avec les boucles pour répéter un certain nombre de fois une action (par exemple faire sauter le personnage jusqu'à X fois).
L'apprentissage par les essais et les erreurs est fondamental pour progresser. Comprendre "ce qui ne marche pas comme on le souhaite" nécessite de décortiquer le fonctionnement des blocs et les fait progresser dans leur démarche logique. Ce sont d'excellents exemples d'application pour comprendre et développer ce genre de raisonnement.
Les programmes de jeu du Cahier d'activité SCRATCH ont été réalisés en fonction de quels objectifs d'apprentissage ?
Le fil conducteur du cahier correspond à une expérience personnelle de voyage en famille dans le parc naturel du Yellowstone aux Etats Unis durant l'été 2014.
Avec les pages du "Carnet de Lila" (ndlr. qui se trouve dans le livre) j'ai aussi voulu montrer qu'il est possible d'apprendre en même temps à programmer et à observer l'environnement du parc : les animaux, les geysers, etc.
A chaque chapitre, je reprends des notions déjà vues pour consolider les bases et j'en introduit de nouvelles pour avancer dans l'apprentissage de notions plus complexes...
L'idée est vraiment de permettre aux enfants d'aller plus loin que les programmes les plus simples qu'on peut trouver un peu partout sous forme de tutoriels.
Dans le premier chapitre, les enfants découvrent l'interface et les principaux éléments de Scratch sur lesquels ils peuvent intervenir en répondant à des questions telles que : comment se repérer dans l'espace ? Comment changer un costume pour animer un personnage ?
Etant donné qu'il existe déjà beaucoup d'éléments en ligne sur ces aspects, nous avons volontairement été assez brefs sur ce chapitre.
Le deuxième est l'occasion d'introduire les boucles et les instructions conditionnelles par la programmation d'un jeu où l'enfant doit faire correspondre les images des animaux et de leurs traces respectives.
Dans le troisième, je reprends ces notions pour les consolider et j'introduis les variables, les opérateurs mathématiques ainsi que l'utilisation de nombres aléatoires.
Dans le quatrième, j'aborde l'utilisation du chronomètre et l'utilisation de variables plus abstraites pour animer le paysage en faisant défiler le décor.
L'enfant apprend également à utiliser les touches du clavier pour contrôler un personnage.
Enfin au cinquième, la notion de listes en programmation est introduite. L'enfant pourra comprendre comment créer ses propres blocs de programme pour dérouler une aventure complète, avec différentes étapes selon le déroulement de l'histoire.
Votre activité professionnelle est fort éloignée des ateliers de programmation pour les enfants, qu'est-ce qui vous motive à animer des ateliers ? Quels bénéfices en retirez-vous ?
C'est en effet assez éloigné de Scratch même si dans mon domaine, comme dans beaucoup d'autres, la programmation est un outil essentiel que nous utilisons pour piloter, synchroniser des appareils mais également pour analyser nos données expérimentales.
La région Île de France porte depuis plusieurs années la création de la Maison d'Initiation et de Sensibilisation aux Sciences à l'Université Paris Sud (www.ladiagonale-paris-saclay.fr/nos-actions/miss/).
De nombreux collègues se sont impliqués dans ce projet pour faire partager leur goût des sciences. Nous recevons par exemple, dans nos locaux, des classes entières autour d'ateliers thématiques.
Personnellement, j'apprécie d'encadrer ces ateliers avec des enfants de primaire et à participer modestement à leur apprentissage de l'informatique.