Pensée computationnelle, une matière de base enseignée à partir de l'école primaire

Pensée computationnelle, une matière de base enseignée à partir de l’école primaire

Dans un monde futur où la plupart des tâches répétitives seront forcément automatisées, il est utile de comprendre quelles compétences de base seront importantes. La pensée computationnelle en fait partie.

Il y a plus généralement un débat intense aujourd’hui autour de la détermination des compétences nécessaires pour les futurs travailleurs, en réponse au besoin de s’adapter au rythme croissant de l’évolution technologique. J’ai évoqué dans un précédent blog les différents catalyseurs des changements sociétaux, ici je me concentre sur l’une des mesures pour y faire face.

Parce que toute la trajectoire de l’avenir de l’humanité est prophétisée pour conduire à quelques scénarios oscillant entre utopies – l’automatisation conduit à l’abondance et nous nous prélassons dans les loisirs offerts par le temps libre – et les dystopies – les humains se battent pour rester pertinent dans un monde dirigé par des robots sur-intelligents , déterminer les bonnes compétences augmente probablement nos chances pour un futur plus probable et positif entre ces deux extrêmes. Par exemple, un qui nous permet de bâtir sur l’automatisation et d’ajouter de la valeur avec ce qui nous rend distinctement humains.

Photo de Rock’n Roll Monkey sur Unsplash

Dans une société future, une série de compétences à valeur ajoutée a notamment été identifiée à la fois par le Forum économique mondial et l‘Institut pour l’avenir dans apparemment deux efforts distincts. Une compétence identifiée dans les deux cas est la pensée computationnelle, qui est définie par l’Institute for the Future comme la capacité de traduire de grandes quantités de données en concepts abstraits et de comprendre le raisonnement basé sur des données.

Fait intéressant, cette définition diffère considérablement des autres que vous pouvez trouver en ligne et dans la littérature. Par exemple, sur Wikipédia, elle se présente comme suit:

un ensemble de méthodes de résolution de problèmes qui impliquent d’exprimer les problèmes et leurs solutions d’une manière qu’un ordinateur pourrait également exécuter.

Matti Tedre et Peter J.Denning couvrent le sujet sur plus de 240 pages dans leur livre de 2019 Computational Thinking. Leur approche est plus approfondie et contraste avec un article de Jeannette Wing de 2006, très cité, qui peut facilement être interprété comme un engagement à transformer tout le monde en informaticien.

Dans l’ensemble, tout au long du livre Tedre et Denning convergent vers une définition de la pensée computationnelle qui peut être résumée à mon avis comme

l’ensemble des compétences nécessaires pour comprendre la nature d’un problème afin qu’il puisse être traité en utilisant une approche computationnelle.

Je comprends qu’une telle définition peut paraître abstraite au premier abord, mais elle a l’avantage d’être suffisamment simple pour que le concept de pensée computationnelle puisse être introduit tôt dans l’éducation, en particulier parce qu’il ne concerne pas immédiatement les machines ou nécessite une éducation en informatique préalable.

Ainsi je l’explique d’abord dans un contexte dépourvu des machines familières qui nous entourent chaque jour.

Démarrez sans ordinateur

Il est important à mon avis de ne pas confondre immédiatement «approche computationnelle» et l’utilisation de calculateurs automatiques, c’est-à-dire tous les ordinateurs portables, tablettes et smartphones qui nous entourent. En effet, l’approche doit être ouverte par rapport à la réalisation du «calcul» au premier sens du mot: un acte ou le processus de calcul de quelque chose. C’est probablement le but du mot «également» dans la définition de Wikipédia ci-dessus.

De nombreuses définitions suggèrent rapidement l’utilisation d’un ordinateur (Wikipedia, BBC Bitesize). Cela a conduit les partisans de ce sujet central à être pris comme des chauvins de l’informatique. Dans leur livre, Tedre et Denning expliquent que les approches  computationnelles datent bien avant que les ordinateurs de silicium n’existent. Prenez par exemple les méthodes proposées par Euclide pour trouver le plus grand diviseur commun ou les cribles d’Eratosthène pour identifier les nombres premiers.

Photo par Alessandro De Bellis sur Unsplash

L’exécution de ces méthodes conduit finalement au concept d’algorithmes qui sont utilisés comme modèle fonctionnel pour les ordinateurs. Commencer sans ordinateur nous permet d’introduire des concepts d’algorithmes sans avoir à introduire un langage informatique (le dialecte pour exprimer un algorithme) ou à des modèles d’expressions telles que le pseudo-code. Cela rend le concept de calcul (et d’automatisation) plus digeste pour les jeunes enfants.

Un autre risque lors de l’introduction de la pensée computationnelle est de fournir une description qui «englobe autour des ordinateurs» et oblige à penser comme un informaticien. C’est le sentiment que j’éprouve en lisant l’essai de Jeannette Wing sur le sujet que j’ai évoqué plus tôt. Cet essai a été (à juste titre) publié dans le magazine de la société des informaticiens. Ce sentiment est partagé par d’autres scientifiques. Voir par exemple le blog rédigé par Lorena Barba lors de sa visite au Berkeley Institute for Data Science.

Dans l’ensemble, certaines descriptions peuvent brouiller les frontières de la pensée computationnelle et rendre difficile pour la plupart d’entre nous de «mettre le doigt sur le sujet». En effet, cela a conduit les critiques à qualifier le sujet de vague, ce qui a probablement ralenti son apparition dans les programmes scolaires jusqu’à présent. De plus, des questions clés telles que: “comment mesurer les capacités de calcul des élèves?” et “la pensée computationnelle est-elle bonne pour tout le monde?” sont liées à ce problème et leur débat a aussi été probablement retardé.

Photo by Markus Spiske on Unsplash

Par conséquent, la discussion sur une définition plus concise de la pensée computationnelle semble toujours faire rage. Cependant, à mon avis, il faut une approche holistique telle que celle adoptée par Tedre et Denning pour que cette matière soit correctement incluse dans un programme qui couvre les niveaux d’éducation.

La raison principale pour enseigner la pensée computationnelle

Une question légitime est de savoir pourquoi devons-nous élever la pensée computationnelle en tant que nouvelle matière centrale? La raison principale est que l’utilisation des machines est désormais au cœur du développement et du soutien de la société. L’informatique a imprégné toutes les disciplines académiques et les machines apportent un mécanisme essentiel à leur évolution. Cela est dû à la quantité croissante de données disponibles grâce à la numérisation et à la volonté humaine d’en comprendre le sens.

Par exemple, dans le livre Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are de Seth Stephens-Davidowitz, les textes historiques sont analysés à l’aide d’approches computationnelles pour déterminer quand le concept des “États-Unis” en tant que la nation a commencé à apparaître dans la conscience des gens.

Plus récemment, une approche computationnelle de l’économie comportementale a exploité les informations publiées sur les plateformes des réseaux sociaux pour déchiffrer les décisions d’achat personnelles, les choix politiques et d’autres mécanismes critiques pour qu’une société fonctionne. Le comportement humain est à son tour exploité pour canaliser la désinformation qui est probablement la cause de nombreux problèmes tels que la polarisation de la société et l’érosion de la confiance.

Photo de George Fitzmaurice sur Unsplash

En général, les ordinateurs ont pris une place importante dans la plupart de nos vies professionnelles et personnelles. Dans Homo Deus, l’historien Yuval Harari explique que la race humaine est en passe de mélanger sa biologie avec des parties non organiques qui la rapprochera plus que jamais des machines.

En conséquence, nous avons besoin d’un sujet central qui nous permette de penser dans ce nouveau contexte de sorte que nous puissions toujours être les marionnettistes dans un monde où la puissance de calcul et les données à notre disposition augmentent à un rythme exponentiel.

De nombreux auteurs discutent du rôle des humains dans la prise de décision dans l’avenir de la société. Les analyses décrites dans le livre Machine, Platform, Crowd: Harnessing Our Digital Future des économistes des économistes du MIT Andrew McAfee et Erik Brynjolfsson montrent que la performance de l’intuition humaine, par ex. basé sur l’expérience et l’expertise du domaine, est dépassée dans la plupart des cas de figure par des algorithmes d’IA basés sur des données historiques (lire le chapitre 2: The Hardest Thing to Accept About Ourselves, i.e. La chose la plus difficile à accepter sur nous-mêmes en français).

Cela signifie que notre système de réflexion rapide (tel que défini par Kahneman et appelé système 1), qui repose principalement sur les connaissances acquises au fil des années d’expérience, ne jouera probablement pas un rôle important lors de la prise de décisions commerciales importantes à l’avenir. En d’autres termes, la réalité est que le jugement des gens n’est pas fiable! C’est la conclusion contre-intuitive et impopulaire comme l’expliquent McAfee et Brynjolfsson dans le chapitre 2 du livre ci-dessous.

En revanche, notre système de pensée lente (système 2 selon Kahneman) basé sur la réflexion analytique, par ex. les compétences acquises à l’école, bien que beaucoup moins performantes que nos homologues silicium, peuvent jouer un rôle important car elles apportent un aspect qui manque encore aux machines: le bon sens. En effet, nous pouvons donner un sens au contexte et juger si une décision, éventuellement basée sur l’analyse de grandes quantités de données, a du sens dans une situation donnée.

Un exemple souvent cité est celui des algorithmes d’Uber qui ont provoqué une flambée des prix lors de la crise de 2015 à Paris déclenchée par l’attentat terroriste (qui a été rapidement contrecarrée par les opérateurs humains de l’entreprise). D’autres entreprises ont rencontré des problèmes avec les décisions automatisées. De telle sorte que les entreprises utilisant cette technologie ont mis en place un mécanisme permettant aux humains de les ignorer dans certaines circonstances.

Photo par Usman Yousaf sur Unsplash

Par conséquent, la raison clé pour enseigner la pensée computationnelle est de préparer notre système 2 pour les prochaines décennies d’amélioration exponentielle des performances de la machine. En d’autres termes, il nous apporte les outils pour maintenir la pertinence humaine dans le futur de la prise de décision.

Éléments constitutifs du programme scolaire pour enfants

L’enseignement de la pensée computationnelle dès le plus jeune âge devrait s’adapter à la compréhension du monde par l’enfant. De nombreux curriculums ont été proposés par des auteurs tels que Seymour Papert, Alan Perlis, Marvin Minsky, Jeannette Wing et d’autres.

Ce qui découle de nombreuses propositions de programme est l’accent mis sur les éléments de base des compétences telles que les capacités d’abstraction, de identification des modèles, de décomposition de problèmes et d’expression algorithmique.

L’abstraction est nécessaire pour se concentrer sur les aspects clés d’un problème de telle sorte qu’il puisse être clairement identifié. C’est peut-être l’une des choses les plus difficiles à enseigner aux enfants qui, par nature, ont une expérience limitée. Ce manque peut être pallié en mettant l’accent sur l’enseignement sur une approche d’apprentissage par exemple (beaucoup!) au lieu de suggérer une méthodologie (plus à ce sujet ci-dessous).

Photo de Jr Korpa sur Unsplash

L’identification des modèles est nécessaire pour identifier comment un problème peut être résolu en utilisant une approche ou un modèle connu. Par exemple, savoir comment trouver des nombres premiers permet de trouver facilement le plus grand diviseur commun ou le plus petit multiple commun de deux nombres.

La décomposition des problèmes est nécessaire pour identifier comment un arsenal de méthodes de calcul peut être utilisé pour résoudre un problème en résolvant des sous-problèmes. Dans la méthode des cribles d’Ératosthène, de grands ensembles de nombres peuvent être éliminés car ils partagent les mêmes caractéristiques (nombres pairs, multiples, etc.). Il s’agit d’une forme simple de décomposition du problème.

L’expression algorithmique, c’est-à-dire la recette pour résoudre le problème, est peut-être la plus délicate, car elle ne devrait pas nécessairement être confondue avec des algorithmes informatiques comme je l’ai suggéré plus tôt. Dans la méthode des cribles à nouveau, une approche consiste à utiliser une table pour trier les données (les nombres). Il s’agit d’une représentation intuitive pour les enfants car il ne nécessite pas l’approche informatique d’utiliser des expressions formelles pour ordonner et répéter les étapes de calcul.

Photo de Marc Babin sur Unsplash

En plus des quatre concepts ci-dessus qui concernent principalement la mise en place d’un processus, il est essentiel d’ajouter également la notion de données et en particulier comment les données existent dans la nature et comment nous les capturons sous forme numérique.

Cet enseignement est utile pour faire prendre conscience aux enfants que les actions, en particulier celles en ligne, équivalent souvent à la création de données. De plus, attachés à la notion de données sont des concepts de données libre (Open Data) et privées (Closed Data).

Les données personnellement identifiables sont l’unité qui mesure l’identité numérique. Il est donc essentiel que les paramètres de génération et de capture des données, c’est-à-dire libres et privées, soient expliqués pour mettre en lumière la notion de confidentialité des données à un âge précoce.

L’importance des données dans la société étant assez récente, ainsi ce sujet n’est pas suffisamment exploré dans le cadre de la pensée computationnelle à mon avis.

Apprendre sans règles

Dans certaines des définitions de la pensée computationnelle que j’ai lues, il est parfois mentionné (ou pourrait être mal compris) que la compétence d’expression algorithmique (introduite ci-dessus) est un moyen de trouver des règles pour résoudre un problème

Cependant, trouver des règles n’est pas nécessairement le moyen de s’attaquer au problème car souvent les connaissances ne peuvent pas être facilement expliquées ou capturées à l’aide de règles. C’est ce que l’on appelle le paradoxe de Polanyi, en l’honneur du philosophe anglo-hongrois Michael Polanyi.

Le paradoxe est que nous ne pouvons pas expliquer tout ce que nous savons: il n’est pas possible d’exprimer des règles claires pour tout. L’approche algorithmique du Machine Learning imite en fait la façon dont les enfants apprennent principalement, c’est-à-dire sur la base du raisonnement (par exemple, par corrélation) sur un grand ensemble d’exemples sans l’ajout explicite de règles. En d’autres termes, les règles de décision sont déduites à partir des exemples fournis.

Photo par Andy Kelly sur Unsplash

Maintenant, le fait qu’il soit souvent difficile d’interpréter les résultats des algorithmes d’apprentissage machine est assez ironique (ce problème est appelé interprétabilité ML). Si nous le pouvions, nous résoudrions probablement le paradoxe de Polanyi. En bref, tenter de comprendre pleinement le fonctionnement de la mécanique de l’apprentissage automatique revient en quelque sorte à pénétrer notre propre conscience.

Nous devons donc veiller à ce que la pensée computationnelle inclut également l’utilisation de méthodes basées sur l’apprentissage en plus des approches classiques basées sur des règles. C’est pourquoi les données, en partie comme mécanisme de déduction des règles, sont un élément essentiel de l’enseignement du sujet. En effet, les données ne sont pas seulement consommées et transformées par le processus, mais également utilisées pour façonner son fonctionnement.

Cela nous ramène à la définition de la pensée computationnelle que j’ai proposée plus tôt, c’est-à-dire “l’ensemble des compétences nécessaires pour comprendre la nature d’un problème afin qu’il puisse être traité à l’aide d’une approche computationnelle”. Dans cet énoncé, évaluer «la nature d’un problème», c’est comprendre comment les données attachées au problème jouent un rôle dans la recherche de sa solution. À cet égard, cette définition devient désormais beaucoup plus proche de celle fournie par l’Institut pour l’avenir, c’est-à-dire “la capacité de traduire de grandes quantités de données en concepts abstraits et de comprendre le raisonnement basé sur les données.”

Photo de Filip Mroz sur Unsplash

La bonne chose dans tout cela est que, parce que l’apprentissage par l’exemple est le modus operandi des enfants, saisir l’expression algorithmique en tant que composante de la pensée computationnelle devrait être seconde nature pour eux quand elle se rapporte à l’apprentissage automatique. Mais plus généralement, cet aspect de l’approche d’apprentissage des enfants doit être mis à profit lors de l’enseignement des autres composants de base, c’est-à-dire les concepts d’abstraction, d’identification des modèles et de décomposition de problèmes que j’ai brièvement présentés précédemment.

Trouver un bon ensemble de données d’apprentissage pour que la pensée computationnelle alimente les jeunes cerveaux désireux de déduire leurs propres règles est susceptible d’être un défi pour chaque institution désireuse d’inclure ce sujet essentiel dans son programme. Mais c’est une approche qui vaut la peine d’être expérimentée.

Merci pour votre lecture! Vous pouvez trouver de nombreux autres articles sur la cybersécurité, l’innovation et d’autres sujets en anglais sur mon blog Medium:  https://laurentbalmelli.medium.com/ Suivez-moi sur Medium et laissez moi un message dans les commentaire de ce blog pour recevoir un lien gratuit sur mes articles.

Note: La version originale de cet article en anglais est disponible sur mon blog Medium.com (enrengistrement gratuit): https://laurentbalmelli.medium.com/

Laurent Balmelli

Je suis un professionnel de l'innovation, en particulier envers les technologie (de la cybersécurité, du cloud et de l'approche DevOps) et les modèles d'affaires. J'ai reçu mon doctorat de l’EPFL en 2000 et ensuite vécu ensuite à New York et Tokyo avant de revenir en Suisse en 2012. Mes intérêts aujourd'hui sont la création de produits technologiques, la lecture, l’écriture et ma famille. Mise à part mes activités professionnelles, j'enseigne l'innovation à l’université en Suisse et au Japon à Tokyo. Retrouvez aussi mes articles en Anglais sur Medium à l'adresse: https://medium.com/@laurentbalmelli

4 réponses à “Pensée computationnelle, une matière de base enseignée à partir de l’école primaire

  1. Pourquoi vouloir faire adopter a l`humain un mode de pensée – dit “computationnel” – propre a l`ordinateur ? Et d`ailleurs, l`ordinateur “pensera”-t-il encore ainsi demain ? Il me semble que le mode de pensée humain combinant logique et intuition est assisté (complété) par le mode de pensée computationnel de l`ordinateur et il serait absurde de vouloir faire notre cette derniere.

    1. Le but est le meme quand vous acheter un nouvel outil: vous apprennez a vous en servir. Le but n’est pas de fait penser l’humain comme un ordinateur, mais plutot de comprendre comment nos problemes peuvent etre resolus avec la technologie. Pour ceux qui ignore cette realite, le futur est probablement de subir la technologie plutot que la dominer. Prenez par exemple les gens qui s’alimente de fake news sur Facebook: ils font parti des victimes d’algorithmes dont le but unique est de les garder sur la plateforme le plus longtemps possible pusique ce temps est monetise. Votre point “Il me semble que le mode de pensée humain combinant logique et intuition est assisté (complété) par le mode de pensée computationnel de l`ordinateur” est exactement ma conclusion du “pourquoi la pensee computationelle est importante”, i.e. pour assister notre “slow thinking” comme defini par Kahneman. On est donc sur la meme longueur d’onde. Merci encore pour votre interet et votre question.

  2. je compte écrire un mémoire ladessus mais j´hésite encore sur la formulation du sujet. J´aurai bien aimé avoir l´avis d´un professionnel ladessus, et ayant vu votre article je me suis dis que vous etes a jour ladessus. Le theme serait : Promouvoir l’apprentissage numérique par la pensée computationnelle chez les élèves en classe de langue étrangère. Si vous aviez des sources/livres/articles sur le sujet, ce serait très sympa.

Les commentaires sont clos.