L’Angleterre choisit d’enseigner la programmation dès l’école élémentaire

À la rentrée 2014, le Department for Education en Angleterre instaurera dans les écoles du socle la nouvelle mouture de son programme de formation. Comme la Suisse, la France, la Hollande, le Québec et d’autres, l’Angleterre choisit de centrer son programme autour de la notion de key stages qui correspond grossièrement à celle de compétences. Au final, cela a peu d’impact sur le contenu enseigné. Par contre, cette approche permet de justifier de nouveaux contenus par leur apport au développement de compétences qui ratissent large. Par exemple, l’enseignement de la programmation, qui sera obligatoire en Angleterre dès cette année.

La programmation n’est certes pas un savoir fondamental. Les principes logiques qui la sous-tendent en sont par contre. Dans un premier temps, il sera question de ces principes logiques et de la façon dont la programmation permet de les développer. Par la suite, nous observerons quelle place le programme de formation de l’école québécoise fait à cette discipline.

Pourquoi enseigner la programmation ?

Il est facile d’imaginer que la programmation permette de mettre à profit des savoirs mathématiques. Elle permet également de devenir plus à l’aise avec l’informatique en en comprenant les rouages. Quelle est la différence entre un fichier et un dossier ? Un usager normal de l’informatique dira sans doute que le dossier contient des fichiers. Le programmeur, lui, répondra que le dossier est un type de fichier. Mais l’apprentissage de la programmation permet de développer beaucoup plus que de l’aisance avec les ordinateurs. Les programmeurs comprennent bien cette affirmation. Pour les autres, voici pourquoi.

La programmation demande une rigueur de pensée impressionnante. Rien dans une application ne peut être laissé au hasard. Tous les cas de figures doivent être anticipés parce que l’ordinateur ne sait rien faire seul. Si l’utilisateur entre un mot de passe trop court, que se passe-t-il ? Qu’est-ce qu’un mot de passe trop court ? Trois caractères et moins ? Quatre et moins ? Comment prendre cette décision ? Qu’est-ce qu’un mot de passe difficile à deviner ? Que faire si l’utilisateur entre ses nom et prénom sans majuscules ? Comment le détecter ? Doit-on le corriger automatiquement ? Que faire si l’utilisateur essaie d’ajouter deux fois à son panier d’achat le même article ? Est-ce une erreur de sa part ou désire-t-il le commander deux fois ? Voilà le genre de questions qu’un programmeur est habitué de se poser. Tout ça pour des informations qui nous paraissent banales : demander à l’utilisateur son nom et lui faire choisir un mot de passe. Derrière ce processus, le programmeur a dû se poser toutes ces questions. Pour absolument tous les éléments d’une interface, ce processus se répète.

L’habitude se développe bien au-delà du travail de programmation : le programmeur questionne le fonctionnement des choses et développe une habileté à anticiper les problèmes en évaluant la pluralité des scénarios possibles. Cette habileté peut être mise à profit, par exemple, dans l’organisation d’un événement, dans la planification d’un projet de rénovation domiciliaire, dans la conduite automobile ou dans toute autre situation requérant la capacité de prévoir différents scénarios.

L’informatique dans le programme de formation de l’école québécoise

Au Québec, dans quel domaine de formation pourrait s’intégrer l’apprentissage de la programmation ? Le domaine de la science et de la technologie semble tout indiqué vu son nom. Effectivement, bien que le programme ne prescrive pas la programmation, il serait aisé pour un enseignant de choisir de l’enseigner en s’appuyant sur le programme. Ce sont plus particulièrement les démarches qui permettent d’établir un lien étroit avec le programme. La démarche technologique d’analyse, qui consiste à chercher à comprendre le fonctionnement d’un système1, correspond parfaitement à l’analyse en informatique.

Bien qu’elle se joigne assez bien au programme de sciences et technologies, la programmation ne fait pas partie du cursus obligatoire et son enseignement se limite généralement aux profils particuliers orientés vers les technologies. Par contre, les domaines généraux de formation laissent énormément de place à l’utilisation critique des technologies. Les domaines généraux de formation sont des regroupements de compétences à développer qui ne sont pas spécifiques à une discipline. Tous les enseignants peuvent (et doivent) y participer, peu importe leur matière. Malheureusement, le domaine général de formation « médias » est résolument limité à une approche passive des technologies. Le programme, à défaut de l’obliger, permet-il au moins d’enseigner la programmation ? Un enseignant d’histoire pourrait choisir de faire programmer à ses élèves le rendu visuel d’une ligne du temps, mais le lien avec le programme de formation serait à établir.

Pour conclure

La programmation doit être enseignée dans les cursus obligatoires, car elle permet de s’entraîner à produire des raisonnements complexes. Cette habileté peut être réutilisée dans plusieurs sphères de la vie qui n’ont rien à voir avec la technologie. Le programme de formation de l’école québécoise semble permettre l’enseignement de la programmation dans le domaine de la science et de la technologie, mais dans les autres domaines, il serait difficile (mais pas impossible) pour un enseignant d’établir un lien avec le domaine général de formation « médias ».

Si vous êtes curieux et désirez vous initier à la programmation, l’excellent tutoriel de Mathieu Nebra reste à mon avis la meilleure ressource pour débuter en français. Il s’agit de la base pour apprendre à développer un site Web. L’avantage avec le Web est que les résultats sont immédiats et impressionnants : on peut rapidement apprendre à créer une interface et à la modifier à notre guise.

1 Tous les programmes sont disponibles sur le site Web du MELS à http://www1.mels.gouv.qc.ca/sections/programmeFormation/

J’ai particulièrement consulté pour cet article les programmes de science et technologie (secondaire 2), le programme préscolaire et primaire et la section sur les domaines généraux de formation (presque identiques d’un programme à l’autre).