Programmation à l’école … même pas peur !

avatar-claire-small Par ChanteClac

enfant-geek-codageL’introduction, à la rentrée 2016, d’éléments de sciences informatiques à tous les niveaux de la scolarité obligatoire divise. Elle a ses partisans et ses opposants, et toutes celles et ceux qui n’ont rien contre a priori, mais qui s’inquiètent de la mise en pratique. Autant le dire tout de suite, je suis dans le camp des partisans car savoir programmer un minimum me sert sans cesse, et au-delà, j’ai conscience que ma façon de penser est influencée — positivement me semble-t-il — par le peu de programmation que je pratique. Ce petit billet sans prétention vise à vous encourager à vous lancer dans les sciences informatiques, d’abord seul ou en famille cet été ;-)) … puis avec vos élèves.

Faire des sciences informatiques, ce n’est pas apprendre à se servir d’un ordinateur, ni utiliser des outils informatiques en classe à des fins pédagogiques (les fameuses TICEs), mais plutôt s’approprier des concepts et une façon de penser, propres à ce domaine des sciences. La science informatique est une science jeune, mais elle n’en a pas moins ses concepts originaux, et elle s’accompagne une forme de pensée qui ne va pas de soi. Cette forme de pensée, si on l’acquiert dans l’enfance, en même temps que d’autres formes de pensée, est un atout pour la vie sur lequel on peut ensuite bâtir.

Les TICE, souvent des usines à gaz ...

Les TICEs, souvent des usines à gaz, n’ont pas grand chose à voir avec les sciences informatiques … (illustration issue du blog de François Maret)


Enjeu #1 – Il n’y a pas de magie dans les machines

Quand notre grille pain dernier cri nous éjecte un toast à point, on se rappelle qu’il fut un temps où il fallait rester le nez dessus pour éviter qu’il ne carbonise. Quand notre voiture refuse de démarrer sous prétexte que la pile de bouquins posée sur le siège du passager n’a pas mis sa ceinture, on se dit qu’elle — la voiture — est vraiment crétine. Quand notre GPS nous redirige promptement suite à une erreur de notre part au dernier rond-point, on ne regrette pas l’époque des cartes.

cc

Ces objets qui nous tapent sur les nerfs sont des machines, qui ne font qu’exécuter des programmes … mal fichus !

Quel point commun entre le grille-pain, la voiture et le GPS ? Ce sont des machines, équipées de capteurs (pour « voir » la couleur du toast, « sentir » la pression de la pile de livres et « entendre » les signaux GPS en provenance des satellites), d’un petit ordinateur, et d’actionneurs (le système d’éjection de la tartine, le haut-parleur qui lance l’injonction à boucler la ceinture, l’écran qui affiche la trajectoire actualisée).

Ces machines, qu’elles nous énervent ou nous simplifient la vie, ne font qu’exécuter des programmes, constitués de successions d’instructions. Et ces programmes, d’où sortent-ils ? Ils ont été écrits par des programmeurs en chair et en os, à l’aide de langages informatiques, compréhensibles à la fois par l’humain et par la machine.

Si la voiture confond la pile de bouquin avec un passager, c’est parce que le programme comporte quelque part des instructions du type : « Si le détecteur de pression du siège du passager détecte une pression susceptible d’être due à la présence d’un passager (c’est-à-dire dans un certain intervalle de valeurs), et si dans le même temps, la ceinture passager n’est pas bouclée, alors couper le circuit de démarrage et annoncer que la ceinture n’est pas bouclée. » Rien ne sert de pester contre la machine, qui ne fait qu’obéir. On peut en revanche râler contre l’informaticien qui a programmé la fonctionnalité sans penser qu’on aimait charger le siège passager d’une véritable bibliothèque. On peut aussi boucler la ceinture dans le vide et démarrer comme si de rien n’était.

Comprendre que derrière les fonctionnalités des machines, il y a des personnes qui ont programmé ces fonctionnalités, c’est essentiel dans notre monde truffé de machines. Apprendre à programmer effectivement des fonctionnalités simples, c’est faire un pas supplémentaire, et pouvoir envisager de créer des fonctionnalités qui nous conviennent, au lieu de toujours subir celles programmées par d’autres. C’est quitter la passivité du simple utilisateur d’outils informatiques et ouvrir la porte de la créativité numérique. Programmer : ce n’est pas que pour les autres !


Enjeu #2 – On peut faire faire aux machines des tas de trucs pénibles

Avant toute chose, les machines nous permettent d’automatiser des tâches qu’il faudrait, sans elles, faire à la main. Ces tâches, il ne faut pas se le cacher, sont répétitives et par là même pénibles. Qui dit répétitivité dit … concentration en berne. Les erreurs sont en embuscade, et dans certaines situations, on ne veut pas se tromper.

oceanomics-criblage-en-plaque-96-puits-177

Une plaque de 96 puits … fort pénible à remplir à la main. Bienvenue aux machines !

Que j’aurais aimé, quand j’étais doctorante en biologie, pouvoir programmer une machine pour qu’elle remplisse à ma place les milliers de petits « puits » dans lesquels j’ai dû déposer des microlitres de ceci et de cela ! Je ne crois pas avoir pu maintenir une concentration suffisante pour remplir sans erreur une seule plaque de 96 puits. Sauf erreur de ma part, plus grand monde ne fait cela manuellement aujourd’hui, et je ne peux que m’en réjouir.

temps-modernes-19-gMême chose sur les lignes de production industrielles, les machines se coltinent une bonne part du travail répétitif.

Et il n’y a pas que la répétitivité qui fâche : certaines tâches sont dangereuses, et tant mieux si on peut les confier à des machines qui ne risquent ni le lumbago, ni le cancer.

La paresse est un moteur de l’intelligence … les enfants peuvent comprendre dès le collège qu’en programmant, ils s’épargnent des tâches qui n’ont rien de passionnant.


Enjeu #3 – La pensée informatique à fleur de peau

castor1-300x280Les sciences informatiques, et en particulier la programmation, sont un moyen de choix pour développer la logique chez les élèves. Les erreurs de logique se voient immédiatement (le programme ne fait pas ce qui est attendu), on peut tester sans délai l’effet de modifications du programme, et l’ordinateur de nous juge pas. La programmation est quasiment la seule activité dans laquelle les élèves peuvent s’autocorriger, et ce n’est pas un détail.

Si vous n’avez encore jamais embarqué vos élèves dans le concours Castor, n’hésitez pas, succès garanti et réorganisation des réseaux de neurone dans les petits cerveaux à la clé. Adopter une pensée informatique, c’est envisager les problèmes à résoudre en se demandant comment automatiser cette résolution le plus efficacement possible. C’est scinder des problèmes complexes en plusieurs problèmes simples facilement automatisables. C’est associer une même méthode de résolution à des problèmes en apparence très différents. Autant faire un bout du chemin dans l’enfance sur des problèmes simples, comme on fait un bout du chemin dans l’enfance dans tous les autres domaines.


Non-obstacle #1 – Sans matériel informatique, ça marche aussi

Se coltiner de vraies machines et les programmer, c’est important, mais on peut aussi faire de l’informatique sans machine. On appelle cela l’informatique débranchée. En informatique débranchée, on s’affranchit de tout un tas de difficultés techniques et on peut se concentrer sur les concepts. L’idéal pour progresser en sciences informatiques est de faire un aller-retour entre des activités branchées et débranchées, mais en l’absence de matériel informatique, du pur débranché peut très bien faire l’affaire.

Le livret l’informatique sans ordinateur est une mine d’activités isolées. Quant à la ressource pédagogique 123 … codez ! de la Fondation La main à la pâte, dont je suis co-auteur avec Mathieu Hirzig et David Wilgenbus, elle comporte pour chacun des cycles 1, 2 et 3 au moins une séquence pédagogique totalement débranchée. Les activités débranchées sont intégrées à un scénario motivant pour les élèves : des concepts liés à la représentation de l’information,  à l’algorithmique et aux langages de programmation y sont abordés au fil d’une aventure.


Non-obstacle #2 – Si on n’y connait pas grand chose, c’est quand même possible

Vous débutez en science informatique et vous devrez l’enseigner à la prochaine rentrée ? Rassurez-vous, vous pouvez vous former rapidement pour être tout de suite opérationnel-le, puis progresser peu à peu parallèlement à vos élèves. Le plus simple est de vous procurer un contenu pédagogique clé-en-main pour démarrer. Il sera toujours temps de vous en écarter quand vous aurez pris de l’assurance !

Assez logi123codezquement, je vous aiguille vers la ressource 123 … codez !, qui comporte deux séquences pour le cycle 1, trois séquences pour le cycle 2 et 3 séquences pour le cycle 3, ces dernières utilisables également au cycle 4 tant que les élèves de cycle 4 sont débutants en science informatique. La ressource est 100% clé-en-main et constitue donc un outil d’autoformation. Il faut juste prévoir de bien s’approprier le contenu, et de se mettre à la place des élèves en faisant concrètement les activités, avant de se lancer. Si vous pouvez vous approprier le contenu à plusieurs (avec vos collègues ou avec vos enfants), c’est encore mieux.pixees-classcode-1

En complément de cette auto-formation, vous pouvez prendre part à une formation en bonne et due forme : c’est l’objet du projet Class’Code, qui vous aidera à maîtriser la pensée informatique pour la transmettre. Class’Code propose 5 modules de formation en ligne de 9 heures (parlez-en à votre IEN ;-)), qui seront déployés peu à peu sur tout le territoire à partir d’octobre 2016. Les participants aux modules en ligne auront la possibilité de se regrouper « en vrai » pour deux séances de travail commun autour d’activités branchées et débranchées, à proximité de chez eux.


Non-obstacle #3 – Si on préfère le français, ce n’est pas incompatible

Les sciences informatiques, cela fait appel à la logique … et qui est le support de la logique ? La langue bien sûr ! En échangeant avec les élèves et en les laissant échanger entre eux au cours des activités, en les accompagnant dans la formulation des concepts qu’ils rencontrent en science informatique, vous les aiderez à maîtriser la langue. En les amenant à créer un langage de programmation, et en comparant ce langage avec une langue naturelle telle que le français, vous les aiderez à appréhender la complexité des langues naturelles. En insérant votre approche pédagogique des sciences informatiques dans un projet plus vaste, avec par exemple à la clé écriture de scénario et représentation théâtrale (ce qui est 100 % possible autour des séquences du projet 123 … codez !), vous combinerez l’atteinte d’objectifs langagiers, d’expression corporelle et artistique et d’objectifs scientifiques. Science et langage vont main dans la main, cela vaut pour les sciences naturelles et pour les sciences informatiques.


Lancez-vous, et donnez-nous des nouvelles sur le forum 123 … codez !

Et surtout, écoutez ce conseil du petit chat de l’environnement de programmation graphique Scratch :

Restez-curieux


Pour démarrer

Pour lancer des défis à vos élèves

Pour aller plus loin

Advertisements

6 réflexions sur “Programmation à l’école … même pas peur !

  1. Commençons par remercier, et pas qu’un peu !
    Certes, il n’y a pas de raison que l’on ne puisse pas mieux dire & faire ,
    mais je ne vois pas moi-même comment,
    tant j’apprécie la démarche et le contenu pertinents que vous partagez.
    A défaut de faire mieux, continuez tout simplement ainsi.

    J'aime

  2. Pingback: Ils-elles parlent de Class’Code: notre revue de presse – Class'Code

  3. Les enseignants ne doivent vraiment pas avoir peur de cette matière. J’ai monté des ateliers périscolaires sur ce thème et les résultats sont formidables. Les enfants découvrent les bases du code avec joie et ne demandent qu’à aller plus loin. Les activités offline sont de grands moments d’échange et de surprise quand un élève de CP se met à introduire seul dans son langage le concept d’itération. Les activités online sont de grands moments de découverte qui permettent de démystifier l’informatique et la robotique.

    J'aime

  4. Pingback: La classe. Épisode II : L’art de la rencontre… | [Lab]map

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s