par Hirtzig Mathieu
À l’heure où les sciences informatiques font leur apparition dans les programmes des cycles 1 à 4, les enseignants de tous horizons sont confrontés à un problème de taille : formation initiale très variée, formation continue réduite à la portion congrue, pléthore de ressources aux qualités scientifiques ou pédagogiques extrêmement disparates et difficiles à juger… Pourtant, de la maternelle au collège, ils devront, avec ou sans matériel, faire des sciences informatiques.
Petite histoire des sciences informatiques
Tout d’abord, définissons rapidement ce que sont les sciences informatiques, et pourquoi en parler au pluriel. Ce ne sont pas des Technologies de l’information et de la communication pour l’enseignement (TICE) : elles ne se concentrent ni sur l’apprentissage de tel ou tel logiciel, ni sur l’utilisation raisonnée et critique de ce qu’on trouve sur le web, ni sur l’adoption des outils numériques comme support de cours. Ce sont des sciences avec leurs concepts propres, au même titre que la chimie ou la géologie… La découverte des sciences informatiques se veut ainsi un aperçu des fondamentaux qui régissent toutes les machines informatiques qui nous entourent. Avant de décrire quelques aspects des sciences informatiques, commençons par un teaser : ces sciences n’ont pas attendu l’apparition des ordinateurs pour exister, loin de là !
Sans ordre chronologique ou d’importance, parmi les sciences qui ont fait (et font encore) l’informatique, nous comptons :
- L’algorithmique, utilisée en mathématiques depuis l’Antiquité, et explicitée pour la première fois par Al Khawarizmi au IXe siècle : l’art de décrire des méthodes universelles pour résoudre un problème donné.
- La mécanique et l’horlogerie, qui ont permis à la fois l’avènement des automates et des machines à calculer (comme la Pascaline en 1645 ou les plans de la machine à différences de Babbage en 1821)
- La représentation de l’information : on peut la faire remonter à l’apparition de l’écriture, mais démarrons modestement à l’encodage binaire du Yi-Jing et de ses huit trigrammes… théorisé et popularisé par la suite par Leibniz (1701).
– L’art de dissimuler de l’information : déjà utilisé par les militaires dès l’Antiquité (le célèbre Code de César au 1er s. av. JC), mais aussi par les discrètes courtisanes du Kamasoutra… Que ce soit sous forme de cryptographie (rendre l’information inintelligible pour qui n’en possède pas la clef) ou de stéganographie (dissimuler l’information dans une autre). - L’amélioration progressive des machines a fini par les rendre reconfigurables (presse de Gutenberg en 1450, métier à tisser de Jacquard en 1801) grâce à la matérialisation de programmes exécutables de façon automatique : ruban perforé ou carte perforée pour commencer…
- La programmation des machines (l’expression d’un algorithme dans un langage compréhensible à la fois par la machine et par l’humain) a commencé en 1843, lorsqu’Ada Lovelace composa le premier programme pour la future machine à différences de Babbage : si la machine ne vit pas le jour avant notre époque [plan28.org], la suite de Bernoulli était prête à être calculée.
- Enfin, il faut attendre le XXe siècle pour assister à la confluence de toutes ces sciences : des machines programmables, électromécaniques (le Zuse3 en 1941) ou électroniques (l’ENIAC en 1943), capables de traiter automatiquement de l’information… l’informatique (information + automatique) est née.
- La robotique s’est développée en parallèle, héritage des automates enrichis de capteurs et d’actionneurs : un robot est une machine programmable capable d’interagir avec son environnement (l’Electric Dog électromécanique en 1912, Unimate en 1961…).
Ce long préambule permet de mettre en avant une vérité profonde bien que contre-intuitive : il n’y a pas besoin d’ordinateur pour faire des sciences informatiques (alors que c’est indispensable en TICE) !
Comment se lancer dans les sciences informatiques ?
La Fondation La main à la pâte a publié le 2 juin 2016 son nouveau projet pédagogique « 1, 2, 3… codez ! ». Cet ambitieux projet vise à initier élèves et enseignants aux sciences informatiques, de la maternelle à la classe de 6e. Un second tome est en cours de tests pour le cycle 4 : publication prévue en juin 2017. Développé avec l’aide de la communauté scientifique, il constitue la première progression pédagogique « clés en mains » disponible pour préparer les professeurs à l’entrée des sciences informatiques dans les programmes scolaires en septembre 2016. Il est suffisamment détaillé pour être abordable par tout enseignant, qu’il soit familier ou non avec l’informatique.
Le guide propose à la fois des activités débranchées (informatique sans ordinateur) et des activités branchées (nécessitant un ordinateur, une tablette ou un robot). Les premières permettent d’introduire des concepts de base des sciences informatiques (algorithme, langage, information, programmation…), tandis que les secondes renforcent ces concepts par la pratique et développent des compétences spécifiques à la programmation. Les progressions proposées pour chaque cycle sont facilement modulables selon que la classe possède du matériel informatique ou non.
Même s’il est tout à fait envisageable de s’en tenir à des activités débranchées à l’échelle d’un projet de classe, « 1, 2, 3… codez ! » recommande à chaque cycle quelques séances de programmation. L’objectif n’est pas de faire de nos chères têtes blondes des programmeurs professionnels, contrairement aux lieux communs régulièrement assénés au sujet de cette réforme, mais de leur donner les moyens de construire quelques applications de leurs propres mains, et ainsi de ne plus appréhender les outils numériques comme des « boîtes noires » dont ils ignorent tout du fonctionnement. Voici quelques langages utilisés :
- Scratch (ou Blockly, ou Snap !, ou mBlock…) aux cycles 3 et 4
- Scratch Junior et Aseba/VPL au cycle 2
- Un langage très simple à base de visuels fléchés (rappelant les icônes de base de Scratch Jr) au cycle 1
Revenons tout de même sur cette surenchère du « code ». Le verbe « coder » est très à la mode : on le trouve par exemple dans la formule « lire, compter, écrire et coder » au sujet de l’introduction de l’informatique à l’école. Ce mot pouvant être porteur de plusieurs ambiguïtés, discutons-en ici.
La première de ces ambiguïtés provient de la polysémie du mot « coder » :
- Il peut être utilisé pour faire référence au fait de modifier le contenu d’un message pour le rendre illisible à quiconque ne connaîtrait pas le « code secret ». Dans « 1, 2, 3… codez ! », cette action sera désignée comme du « chiffrement », soit l’action de « chiffrer » le message pour le rendre illisible à quiconque ne connaît pas la « clé de chiffrement » permettant non seulement de « chiffrer » le message, mais aussi de le « déchiffrer » pour le rendre à nouveau lisible.
- Il peut faire référence à l’action de donner des instructions à une machine, généralement un ordinateur. Cette activité peut également être désignée par le terme de « programmation ». Les instructions seront alors interprétées par cette machine qui va les exécuter pour produire un résultat.
- Enfin, il peut signifier « représenter une information » à l’aide de symboles (par exemple, écrire un texte en binaire, à l’aide de 0 et de 1). Selon les cas, on utilisera les termes encoder ou décoder. Dans ce guide pédagogique, c’est ce sens qui a été retenu pour le verbe « coder », bien que le grand public utilise plutôt « coder » pour « programmer ».
Le mot « coder » véhicule toutefois une seconde ambiguïté, qui ne concerne pas sa définition mais plutôt l’idée que l’on peut se faire de l’informatique à travers l’activité de programmation. Car l’informatique n’est pas que de la programmation. Il s’agit certainement de l’activité la plus visible. Celle qui, dans la culture populaire, représente concrètement le pouvoir qu’ont les programmeurs, et qui illustre la séparation entre ceux qui subissent les machines en tant qu’utilisateurs et ceux qui les font fonctionner. C’est, par exemple, l’image souvent caricaturale du programmeur qui enchaîne des lignes de code très rapidement dans les films. C’est, encore, l’image d’un écran qui fait défiler des pages entières de code en arrière-plan d’un informaticien dans un reportage ou un documentaire (probablement parce que ça donne un côté impressionnant, ou très spécialisé). Cette image pourrait participer à la diffusion de l’idée que l’informatique est difficile d’accès et réservée à une élite ou à des esprits qui lui sont prédestinés. Heureusement, ce n’est pas le cas. De toute évidence, programmer fait entièrement partie de l’informatique et, pourtant, cette activité n’en est pas le seul engrenage. Programmer permet effectivement de voir se concrétiser ses idées, avec l’avantage immédiat de l’essai-erreur permis par le retour immédiat de la machine, sans jugement de valeur et sans aucune manifestation d’impatience. Mais ces idées peuvent naître et mûrir en dehors de toute forme de programmation, en utilisant le raisonnement comme moteur principal. Ce raisonnement, associé à la nature mécanique des ordinateurs et de leur fonctionnement, constitue la pensée informatique et permet de mettre au point les algorithmes qui font aujourd’hui tourner une grande partie de notre monde.
Ainsi, tout en « codant » avec ses élèves, chaque enseignant peut approcher tout ou partie des sciences informatiques, avec ou sans matériel spécialisé.
Un guide clefs-en-main pour la classe et l’auto-formation
Les contenus pédagogiques, testés dans une trentaine de classes en 2015, mettent en avant l’activité des élèves à travers la démarche d’investigation et la pédagogie de projet. Ils sont disponibles sous deux formats :
- une version en ligne d’accès gratuit sur www.123codez.fr. Ce site internet permet aussi d’accéder à des exercices d’application en ligne ainsi qu’à un espace d’échange entre professeurs.
- un guide imprimé aux éditions Le Pommier. Diffusé gratuitement à 6 000 enseignants, il reste disponible en librairie.
Les progressions proposées sont scénarisées, ce qui permet de tenir en haleine les élèves tout au long du projet, que l’enseignant y consacre 3 ou 18 séances. Les scénarios proposés sont adaptés à l’âge des élèves, et adaptables à loisir : jouer avec la mascotte de la classe au cycle 1, historiette de type « cabane magique » au cycle 2, exploration spatiale au cycle 3… Dans ces scénarios, chaque séquence est découpée en séances qui introduisent très progressivement les notions fondamentales, les réinvestissent régulièrement, tout en faisant progresser l’histoire.
Ce découpage permet, même pour l’adulte seul en auto-formation, d’aller à son propre rythme, d’avoir la satisfaction d’avoir appris une nouvelle notion et de la réinvestir intelligemment par la suite, dans une progression constructive et constructiviste. Pas moins de 16 000 enseignants ont déjà été conquis par cette méthode, et nous espérons bien vous accueillir bientôt !