Pourquoi apprendre à coder?

L'apprentissage du code est souvent présenté comme une solution aux problèmes du marché du travail du 21e siècle. Mais les étudiants apprennent-ils vraiment les compétences dont ils auront besoin ? Nesa by makers/Unsplash

Pourquoi apprendre à coder?

Les gouvernements, les entreprises, les associations du domaine informatique et les faiseurs de tendances affirment tous la même chose: l’apprentissage de la programmation jouera à l’avenir un rôle clé. Dans ce contexte, le mouvement est souvent présenté comme une panacée aux problèmes du marché du travail au XXIe siècle.

Entre les 9 et 15 décembre dernier, des éducateurs, des étudiants et des membres du public des quatre coins du monde ont participé à la Semaine de l’enseignement de l’informatique en organisant et en animant des tutoriels de l’Heure du Code.

Plus de 2 700 activités de codage ont eu lieu au Canada et figurent déjà au répertoire de Code.org, un organisme sans but lucratif américain qui assure la promotion de l’événement annuel. Ce dernier incarne l’esprit du mouvement pour l’apprentissage de la programmation et entend motiver les étudiants du primaire et du secondaire à développer des compétences en codage.

Le mouvement est vraiment en marche.

Les éducateurs doivent quant à eux tenir compte de multiples facteurs lorsqu’ils décident des compétences en codage et des approches à promouvoir. Comment présenter les possibilités qu’ouvrent ces compétences?

Une main-d’œuvre désillusionnée

Nous nous intéressons particulièrement au sujet. Ensemble, nous comptons des années de formation en informatique, en technologie éducative et en psychopédagogie. Nos travaux visent à mettre au point un modèle d’enseignement et d’apprentissage qui permet de présenter la logique et les concepts élémentaires de la programmation informatique.

Nous tenons à ce que la recherche en enseignement de l’informatique réponde aux besoins et aux caractéristiques des apprenants du XXIe siècle, sous peine d’en faire une main-d’œuvre mal préparée et désillusionnée.

Le mouvement pour l’apprentissage de la programmation est prometteur et offre une solution pour préparer les apprenants à l’avenir numérique. Les éducateurs doivent néanmoins faire en sorte que l’enseignement de l’informatique réponde pleinement aux besoins et aux caractéristiques des apprenants du XXIe siècle. Michael Pollak/flickr, CC BY-SA

Pourquoi coder?

En cette époque d’insécurité du marché du travail, où les professions redondantes sont appelées à disparaître et de nouveaux domaines émergent, l’apprentissage de la programmation est porteur d’espoir pour notre imagination collective.

Il promet en effet des sources de revenus inédites ainsi que des possibilités de travail autonome, vu la demande de compétences en programmation dans une variété d’industries.

L’apprentissage de la programmation n’est pas uniquement une tendance chez les jeunes. Scratch, un outil populaire utilisé en classe et dans la collectivité pour créer, partager et remanier des jeux, permet ainsi un apprentissage intergénérationnel où jeunes, adultes et personnes âgées peuvent concevoir des prototypes de jeux.

Le codage peut servir à automatiser des tâches, à résoudre des problèmes complexes, à formuler des prévisions ou à simuler des événements qui ne se sont pas encore produits. Un champ de recherche en vogue au sein des entreprises est l’analyse des données, laquelle s’attache à extraire une signification de quantités massives de données.

Dans notre monde numérique, de nombreux problèmes liés à la correction des bogues informatiques, au contrôle des dispositifs ou à la gestion des marques en ligne peuvent être résolus grâce à la programmation.

Les chercheurs ont longtemps associé le codage au développement des aptitudes à résoudre les problèmes. Inventé par Jeannette Wing, le terme « pensée computationnelle » désigne les attitudes et les compétences – dont la résolution des problèmes et l’analyse des systèmes – qui peuvent découler des concepts fondamentaux de l’informatique.

Cette notion offrait l’occasion aux éducateurs d’explorer la manière dont la programmation pouvait être utilisée comme moyen de développer d’autres compétences pertinentes, telles que la résolution des problèmes, la pensée créative et le jugement critique.

Un battage justifié?

Aux États-Unis, on prévoit une diminution du nombre d’emplois de programmeurs informatiques attribuable à l’externalisation des contrats, mais le battage qui entoure le codage ne cesse de croître.

En raison de cet écart, certains critiques avancent que le mouvement pourrait créer une main-d’œuvre moins coûteuse. En effet, lorsque tout le monde aura appris à programmer, le marché deviendra saturé et les employeurs n’auront plus besoin d’offrir des salaires concurrentiels.

Si la participation à une activité de codage peut donner l’impression que l’apprentissage de la programmation est un jeu d’enfant, la vérité est qu’une expérience épisodique ne permet pas de développer des compétences en la matière. En faisant mousser l’apprentissage du codage, on risque de mal représenter la programmation informatique en simplifiant les concepts à outrance. Or, devenir programmeur informatique exige des efforts, de la persistance et de la patience.

En 1996, le chercheur en informatique Leon Winslow a estimé qu’il fallait approximativement dix ans pour qu’un codeur novice devienne expert. Les chercheurs ont débattu de la meilleure façon d’enseigner les rudiments de la programmation informatique, sans parvenir encore à un consensus.

Par ailleurs, comment s’assurer que ce que les enfants apprennent aujourd’hui correspondra aux emplois et aux besoins de demain? Sur cette question, on ne peut que se perdre en hypothèses.

La quatrième révolution industrielle

Klaus Schwab, président-fondateur du Forum économique mondial, souligne qu’avec l’émergence de la quatrième révolution industrielle, l’information et la capacité de la manipuler seront essentielles à la survie dans la main-d’œuvre de l’avenir.

Nous savons que la gestion et la manipulation de l’information joueront un rôle clé dans la création et le maintien de systèmes physiques, numériques et biologiques qui feront partie de nos maisons et de nos lieux de travail. Nous savons également qu’il en découle des problèmes complexes à résoudre.

Le codage peut nous aider en permettant d’intégrer des observations brutes dans des simulations concrètes, c’est-à-dire d’utiliser des données du passé et du présent pour créer des scénarios en vue de prévoir l’avenir.

De telles simulations pourraient servir à lutter contre le changement climatique, à réduire la circulation et même à combattre les préjugés racistes dans les médias sociaux.

La créativité et la pensée critique s’avéreront aussi fondamentales, puisque ces compétences seront probablement parmi les seules à permettre de rivaliser avec l’intelligence artificielle.

Les travailleurs devront prendre des décisions rapides dans un milieu de travail accéléré exigeant souplesse et adaptabilité.

Ce scénario n’exclut pas la capacité de créer et de comprendre le code, mais les exigences sont plus complexes. Pour relever les défis à venir au moyen du codage, il importera d’évaluer les possibilités de compléter le mouvement de l’apprentissage de la programmation.

L’esprit de programmation

À notre avis, les codeurs débutants peuvent commencer par des activités attrayantes et stimulantes, mais ils doivent aussi acquérir explicitement ce qu’on pourrait appeler « l’esprit de programmation ».

Cet état d’esprit représente un élargissement progressif des connaissances et des stratégies en programmation informatique, mais englobe également l’analyse des systèmes, la résolution des problèmes, la persistance lorsque surviennent des erreurs, l’ingéniosité et la collaboration.

Pour enseigner l’esprit de programmation, les éducateurs doivent inclure des concepts et des compétences informatiques fondamentaux plus explicites, comme la création d’algorithmes pour résoudre des problèmes, le débogage de programmes existants et la conception de systèmes afin d’accomplir de nouvelles tâches ou de recueillir des données.

Plutôt que d’intimider, l’apprentissage de la programmation devrait réaliser sa promesse et non simplement vendre du rêve.

This article was originally published in English