Si vous ne vivez pas au fond d'une grotte, vous n'êtes pas sans savoir qu'un petit changement va avoir lieu dans les emplois du temps de nos chères têtes blondes. En effet, les semaines des petits écoliers vont repasser à 4 jours et demi au lieu de 4.
Ce changement implique les modifications suivantes (dans l'école dans laquelle je suis intervenu) :
- fin des cours vers 15h30 au lieu de 16h30 l'après midi
- possibilité de proposer des activités périscolaires de 15h30 à 16h30
Contexte
Je ne vais pas entrer dans les considérations politiques, mais il faut savoir que ces activités périscolaires sont à la charge des communes (et donc potentiellement des familles).
Dans l'école dans laquelle je suis intervenu, la mairie a embauché les enseignants de l'école pour assurer ces activités. Choix compréhensible dans un petit village ne disposant que d'une école comprenant 4 classes multi-niveaux :
- toute-petite, petite et moyenne sections
- grande section - CP
- CE1 - CE2
- CM1 - CM2
J'ai néanmoins proposé de donner des cours d'initiation à l'informatique de manière bénévole et sur mon temps libre (RTT). Le directeur a été intéressé et la mairie a accepté.
Introduction
Comme vous le savez, je suis informaticien. Plus précisément, je suis administrateur système spécialisé dans l'Open Source. Je dispose également de quelques compétences en développement de par ma formation premièrement, mais également de par ma participation à divers projets Open Source. Comme tout geek, je suis de plus ou moins près l'actualité (principalement autour de l'informatique) et j'ai vu passer pas mal de choses autour de "l'informatique à l'école".
Je me souviens que lorsque j'ai passé le B2I (vers fin 90, début 2000...), ça ne m'avait pas intéressé plus que cela. À l'époque je n'étais pas geek. On disposait à la maison d'un ordinateur, mais je ne l'utilisais pratiquement pas. Je passais beaucoup plus de temps sur la console. De plus, dans mes souvenirs, ce brevet se contentait de nous apprendre à utiliser un traitement de texte, un tableur et à envoyer un mail. Le tout en utilisant une suite Microsoft...
Programme
J'ai donc voulu proposer quelque chose de nouveau, différent. Même si je suis partisan du logiciel libre, je n'ai pas voulu parler de ces aspects là. Ça me semble important de montrer qu'il existe autre chose que Microsoft, mais je ne veux pas faire dans le sectarisme de base et avant de présenter les deux mondes je pense qu'il faut commencer par présenter l'informatique au sens général.
J'avais initialement découpé mon programme ainsi :
- Qu'est-ce qu'un ordinateur ?
- présentation des composants principaux : HDD, CPU, RAM, MB, etc.
- initiation à l'électronique : sens du courant électrique, interrupteurs, LED, moteurs, etc.
- Programmation
- initiation à la programmation
Je pensais réaliser plusieurs ateliers et faire travailler les enfants en petits groupes, malheureusement certaines contraintes techniques m'ont imposé de changer mes plans en dernière minutes.
Je suis intervenu 4 vendredi après-midi consécutifs avec une vingtaine d'enfants de CE2, CM1 et CM2.
Semaine 1
La première séance s'est en fait transformée en débat durant lequel j'ai posé la question suivante : Qu'est-ce qu'un ordinateur. J'ai vraiment apprécié cet échange, les enfants sont vraiment pleins de ressources et ils ont vraiment échangé les uns avec les autres.
J'avais apporté différentes pièces de vieux ordinateurs :
- une carte mère
- un CPU
- de la RAM
- un disque dur (4Go de 1997 qui tourne encore ! )
- une carte graphique (pour faire une mise en abîme...)
- un lecteur CD
- un lecteur disquette (pour le fun)
On a donc présenté les différents composants et on a vu comment ils étaient imbriqués. On a rapidement parlé d'électronique (la carte mère étant un grand circuit imprimé sur lequel on peut voir différents composants électroniques tels que des condensateurs, des résistances, des LED, etc.)
On en est donc arrivé à la conclusion (un peu simpliste, mais c'était le but) qu'un ordinateur pouvait se résumer à un circuit imprimé, quelques composants, de la mémoire et un CPU.
J'ai ensuite démonté une vieille borne Wifi Linksys. Oui, une borne est un petit ordinateur, certes très simpliste et non adapté à un usage standard d'un ordinateur, mais c'en est un quand même. Et c'est là que la magie a opéré, il y a eu un déclic dans leurs yeux. Oui, dans certaines voitures il y a des ordinateurs, oui le téléphone de papa est peut-être bien un ordinateur.
Le but recherché été atteint, leur faire prendre conscience qu'ils sont entourés d'ordinateurs !
Pour introduire l'informatique, ça me semblait important de leur faire prendre conscience de cela.
Semaine 2
La deuxième séance a été consacrée à l'initiation à la programmation.
Pour ce faire, j'ai commencé par me demander comment expliquer ce terme. J'ai donc sélectionné quelques termes liés à la programmation :
- algorithme
- programmes
- structures de contrôles
- instructions
Puis j'ai cherché à vulgariser ces termes.
On a commencé la séance par expliquer ce qu'était un jeu vidéo, et comment il fonctionnait d'après les enfants.
Voici à peu près ce qu'il en est ressorti :
- On appuie sur des touches/boutons pour effectuer des actions
- C'est des dessins/graphismes
- Il y a des animations
- Il y en a sur ordinateur et console... Une console est donc une sorte d'ordinateur
Malheureusement, personne ne m'a parlé de programme.
J'ai donc essayé de raccorder les termes que j'avais sélectionnés à ce que les enfants ont identifié :
- Les structures de contrôles sont rattachées aux touches/boutons qui déclenchent des actions
- Les actions sont des instructions
- Certaines actions complexes sont en fait une suite d'instructions. Ça forme un algorithme.
- Le tout est un programme.
Pour la suite de la séance, on est passé à la pratique. Une instruction correspond à une brique (comme une brique de lego), et un algorithme est donc un empilement de briques.
Si on essaie d'expliquer ce qu'est un programme, on pourrait grossièrement dire qu'il se compose (comme tout problème mathématique), de contraintes, d'un point de départ et d'un état d'arrivée.
Pour l'exercice, je leur ai donc donné le problème suivant : "Vous disposez de 10 briques, de deux couleurs, et vous devez réaliser un 'bonhomme'".
Résultat, ils ont réalisé leur premier algorithme sans même s'en rendre compte !
Semaine 3
La troisième semaine, nous sommes passés à la pratique. Nous avons donc fait de la programmation !
Pour cette séance, nous nous sommes rendus sur le site du projet Scratch . Ce projet permet de faire ce que j'appelle de la programmation visuelle. C'est à dire que l'on dispose d'un personnage (lien avec les graphismes identifiés pendant la deuxième séance) que l'on va animer à l'aide d'instructions.
Les instructions sont représentées par des briques (comme les lego) que l'on peut assembler pour obtenir des algorithmes, et donc un programme.
Il existe différentes instructions classées par catégories : mouvements, évènements, sons, etc.
Le programme existe en différentes langues, dont le français. Et comme il s'agit d'une application flash, elle est facilement accessible à la maison ! (Pour les puristes, il existe également une réimplémentation en HTML5/javascript nommée Snap )
De plus, le projet Scratch propose une version offline (en Adobe Air, certes), ce qui était utile dans mon cas à cause de l'instabilité de la connexion internet de l'école.
Durant la séance, les enfants ont commencé par dessiner à tour de rôle leur personnage, puis ils avaient le droit d'assembler chacun 5 briques que j'ai rattaché à l'évènement drapeau vert. Une fois les programmes terminés, nous avons cliqué sur ce fameux drapeau vert et nous avons pu observer tous les personnages s'animer, danser, chanter, etc.
Semaine 4
Enfin, la dernière semaine, nous sommes allés encore plus loin dans la programmation avec cette fois-ci des véritables contraintes de programmation, à savoir, un objectif à atteindre. C'est le site suivant qui nous a permis cela.
En effet, ce dernier se base sur les mêmes briques que Scratch (ou Snap ), mais avec cette fois ci des situations. Par exemple, à partir du point A, atteignez le point B. J'ai trouvé ce site très bien réalisé avec une difficulté croissante nous permettant d'utiliser des structures de contrôles tels que les boucles et les conditions. De plus, ce site dispose également d'une traduction française. Le tout avec des visuels agréables et des thèmes perlant aux enfants (par exemple on y retrouve les personnages de Angry Birds).
Conclusion
Pour moi l'objectif était de faire prendre du recul aux enfants vis à vis des nouvelles technos. En effet, je constate que les enfants de mon entourage sont plus à l'aise à seulement 2 ans avec les tablettes et autres ordinateurs que mes parents ou grands parents ! À l'heure où l'on parle de brevet informatique ou d'éducation à l'informatique, je pense qu'il est important de commencer par démystifier ces outils. Leur faire prendre conscience que leurs jeux vidéos n'ont rien de magiques et que derrière tout ça il n'y a que de la logique.
Je pense avoir atteint cet objectif avec la majorité des enfants, et au pire, je les ai occupés quelques heures
[EDIT]
Of course, merci à mon binôme pour le lien vers learn.code.org