Alors, on apprend à « coder » ou à « programmer »?

1

Selon les définitions de « coder » et « programmer », ce dernier terme s’approche plus de ce qu’on devrait souhaiter transmettre à nos élèves.

NOTE

Les textes publiés dans la section « Opinion » du site n’engagent que leur auteur. L’École branchée accepte d’en publier pourvu qu’ils respectent les conditions énoncées ici. Par souci de transparence, nous n’apportons aucune modification ni correction au texte original soumis par l’auteur. Vous êtes invité(e) à réagir aux propos via le module de commentaires à la toute fin!

– – –

Ce qui se conçoit bien s’énonce clairement
Et les mots pour le dire arrivent aisément

Nicolas Boileau-Despréaux

 

Un lien partagé par Michel Guillou a particulièrement attiré mon attention le 25 avril dernier. Enseigner le code à l’école ? Vraiment ? d’Hubert Guillaud dans Le Monde.fr. Pourquoi cet article somme toute intéressant? Il fut probablement la proverbiale goutte d’eau qui a fait déborder le vase.

 

(Dans le texte suivant, les définitions des mots coder, code, programmer, programme informatique, et programmation sont celles de la base de données Termium Plus © Travaux publics et Services gouvernementaux Canada, 2017)

 

CODER est un terme du domaine de l’informatique normalisé par la CSA et l’ISO et signifie « convertir des données au moyen d’un code de sorte que la transformation inverse vers la forme d’origine soit possible et également employé dans des cas où la transformation inverse complète n’est pas possible ».

CODE : façon symbolique de représenter des données permettant de faciliter un traitement automatisé, terme et définition normalisés par l’Organisation internationale de normalisation (ISO) en 1993.

N’y a-t-il qu’une seule façon de représenter ces données? On lit généralement : apprendre le code, enseigner le code. Quel est ce CODE unique dont on discute de l’apprentissage par les élèves?

 

PROGRAMMER est le terme pour nommer l’action de Concevoir, écrire, modifier et tester des programmes informatiques. Ne chercherait-on pas à initier nos élèves à l’apprentissage de la programmation, terme normalisé pour nommer « l’ensemble des travaux de conception, d’écriture, de modification et de test des programmes ». Wikipédia définit les programmes informatiques comme «un ensemble d’opérations destinées à être exécutées par un ordinateur».

La programmation est un processus réalisé en deux parties :

A- Analyser un problème et concevoir une solution. Ce processus fait appel au raisonnement logique, à la décomposition et à la généralisation, pour analyser le problème et imaginer les algorithmes qui résoudront le problème efficacement. C’est l’étape de l’algorithmique.

B – L’algorithme sera exprimé dans un langage de programmation. Les instructions du programme sont transmises à la machine en un langage codé, le code source.

Ne nous approche-t-on pas davantage de ce qui pourrait-être intéressant d’apprendre aux élèves?

 

Si on retournait quelques années derrière, si peu d’années

Il y a 60 ans le mot français «ordinateur» a remplacé le terme « calculateur » car ce dernier ne représentait plus la variété de travaux exécutés par ces nouvelles data processing machines.

Les premiers ordinateurs datent de 1950. Ce sont John von Neumann et ses collaborateurs qui ont imaginé le concept de «programme» qui permet à la machine d’enregistrer en mémoire à la fois des données et des procédures. C’est le programme qui a transformé les machines à calculer en ordinateurs. Ces programmes parlent à la machine et leurs langages sont traduits par un compilateur ou interpréteur.

Il y a 50 ans l’Académie française donnait cette définition de l’informatique : la science du traitement notamment par machines automatiques, de l’information considérée comme le support des connaissances humaines et des communications dans les domaines techniques, économiques et sociaux.

Termium Plus © définit ainsi l’informatique : Ensemble des sciences et techniques applicables au traitement de l’information au moyen d’ordinateurs, terme et définition normalisés par la CSA international et ISO/CEI.

L’apprentissage de l’informatique va au-delà de l’initiation à la programmation. Il y a bien sûr l’algorithmique et la programmation, mais aussi comprendre l’ordinateur et ses périphériques, Raspberry Pi et Arduino, la robotique, les réseaux, le traitement des données, la littératie numérique, vivre et travailler dans le cyberespace.

Il importe d’éveiller l’élève à ce nouvel ensemble de savoirs.

On peut jouer à l’autruche, nier les profondes mutations de nos sociétés, rêver d’hier. Ouvrons nos yeux, le monde entier a irrémédiablement changé. Depuis l’époque des grandes découvertes, notre planète est devenue de plus en plus petite. Il faut moins de 24 heures pour en faire le tour et quelques secondes à peine pour que mes messages informatisés traversent l’Atlantique. Nous vivons une nouvelle époque de la grande saga humaine sur notre jolie planète bleue, l’ère du numérique. Non pas parce que j’utilise un ordinateur, un téléphone intelligent, un GPS ou autre. L’omniprésence de ces technologies du nombre transforme notre manière d’être, d’agir et de penser et l’humanité entière se partage cette nouvelle culture, la culture numérique.

Les changements se produisent à une vitesse effarante. Un peu comme dévaler une côte à vélo et sentir le pédalier s’emballer. N’avons-nous pas le devoir d’intégrer cette nouvelle science à nos enseignements?

La pensée informatique

L’apprentissage de l’informatique, cette science du traitement de l’information va au-delà de l’initiation à la programmation. Outre l’algorithmique, il importe de comprendre un peu l’ordinateur et ses périphériques, Raspberry Pi, Arduino, la robotique, les réseaux, le traitement des données, la littératie numérique, vivre et travailler dans le cyberespace, sont quelques exemples.

Selon Wikipédia, la pensée computationnelle, nommée aussi pensée informatique a été postulée par Seymour Papert en 1980 et 1996 et définie comme le processus réflexif impliqué dans la formulation de problèmes et de leurs solutions de manière que leur résolution puisse être effectuée par un agent de traitement de l’information… la synergie entre l’intelligence créative de l’être humain et les capacités de traitement de l’information offertes par les technologies de l’information et de la communication.

Plus récemment, en 2006 Jeanette Wing a publié Computational Thinking. Elle y affirme que la pensée informatique est une forme de pensée, un ensemble de compétences dont l’apprentissage serait bénéfique à tous.

La définition même de pensée informatique ne fait toutefois pas consensus, les concepts et les savoir-faire varient selon les auteurs. Malgré la variété, la pensée informatique demeure un pilier de l’apprentissage de l’informatique par les élèves.

Quant à la critique relative à l’usage du mot français pensée pour traduire thinking, mes consultations des dictionnaires me satisfont pleinement.

Merriam-Webster, le dictionnaire anglais, présente cette définition de thinking : thought that is characteristic (as of a period, group, or person) et je retrouve dans Larousse à pensée : Ensemble d’idées propres à quelqu’un, à un groupe, etc. : La pensée chrétienne.

Donc la pensée informatique serait un ensemble d’idées propres à cette récente science qui mène l’humanité vers de nébuleux rivages.

Au delà de l’apprentissage de la programmation, c’est toute une culture numérique à laquelle il importe d’initier nos élèves.

J’admets avec M. Guillaud la difficulté à amalgamer ce nouvel apprentissage aux classes du primaire et du secondaire (ou du collège). Cette question sera l’objet d’un second billet.

C’est donc à suivre!

1 COMMENTAIRE

  1. Il est d’abord à noter que « Coder » est un anglicisme qui signifie  » to put in or into the form or symbols of a code » selon Webster. Les origines de ce terme remontent loins mais on sans doute étaient démocratisées par les initiative de type « Hour of code ». Il semble que le terme provient de l’utilisation plutôt libre de l’expression « to write a code » et qui signifie « to write instructions for a computer (as within a piece of software) » selon le même Webster. AInsi, « coder » signifie bel et bien la même chose que programmer dans le langage commun employé sur Internet et même dans la vie de tous les jours.

Comments are closed.