La place de l'algorithmique

Posted on June 17, 2014

Une image de hamster, pour le plaisir d'embruns

Algorithme: Mécanisme réglant le fonctionnement de la pensée organisée et s’explicitant par des représentations analogues à celles des mathématiciens.

Source : Centre National des Ressources Textuelles et Lexicales

L’algorithmique est souvent présentée comme la discipline centrale de l’informatique. Ainsi, si l’on parle d’enseignement de l’informatique, rapidement se pose la question de la maîtrise de l’algorithmique par les élèves. Aujourd’hui, je vais essayer de poser quelques éléments de réflexion concernant son apprentissage dans le contexte d’un enseignement de l’informatique à l’école.

L’algorithme insidieux

Commençons par une bonne nouvelle. Avant même le début du commencement d’une réforme du numérique vos enfants (ou ceux de vos voisins, amis, parents) utilisent des algorithmes. Rappeler vous comment on vous a appris à additionner des nombres: Tu additionnes le chiffre le plus à droite de chaque nombre, tu écris le chiffre des unités, tu poses la retenue, tu l’ajoutes aux chiffres les plus à droite suivants, et tu continues comme cela jusqu’à ce que tu aies traité tous les chiffres (à peu près, vous avez le droit d’utiliser votre propre variation tant que vous obtenez le bon résultat). Cette mécanique est un algorithme. La méthode pour identifier un groupe nominal en français est aussi un algorithme. Pire, c’est un algorithme utilisé également dans certaines branche de l’informatique. L’école, insidieusement, apprend des algorithmes à vos enfants.

S’il n’y avait que l’école. Faites un gâteau avec votre enfant : vous regroupez les ingrédients selon la recette, vous les intégrés selon les étapes décrites et vous faites cuire selon les instructions. Un algorithme. Vous vous souvenez comment on vous a appris à lacer vos chaussures ? Algorithme. Vous êtes, nous sommes tous les monsieur Jourdain de l’algorithmique.

De l’usage à la formalisation

De plus en plus, des enseignants essaient de guider les élèves vers la création de certains de ces algorithmes. De les mettre par exemple face à deux nombres et de les faire formaliser leur démarche pour les additionner. En cela, ils font plus pour faire apprendre l’informatique aux enfants que l’ensemble des gesticulations autour du code à l’école.

Cette capacité à créer un algorithme, qui peut se réduire en primaire à une verbalisation des différentes étapes de l’algorithme ou la création d’une fiche technique avec l’aide de l’enseignant peut être une activité centrale pour réussir à développer son raisonnement. En donner les clés à l’apprenant, ce n’est pas construire un savoir spécifique mais un outil pour apprendre et comprendre.

Le rôle de l’informatique

L’algorithmique est une des matières clés de l’informatique. Réussir à “coder” un algorithme, le retranscrire dans un langage de programmation, est souvent présenter comme le premier obstacle pour un étudiant en informatique. C’est faux. Le premier obstacle est de réussir à décomposer ce qu’on souhaite faire pour comprendre l’algorithme, la retranscription vient ensuite. Tenter d’apprendre simultanément l’algorithmique et un nouveau langage, c’est augmenter la taille de l’obstacle.

L’avantage de l’informatique est de fournir un terrain de jeux immense pour apprendre cette formalisation. Avec des notions d’arithmétique de base et des tableaux de nombres, on peut fournir un tas d’exercice simple pour apprendre à construire des algorithmes.

Toutefois, ce savoir est totalement inutile si on ne réussit pas à faire passer un message épisthémologique simple: ce sont les mêmes mécanismes de base qui sont à l’oeuvre pour construire les algorithmes en mathématiques, en français ou en informatique.

Mais alors tu es pour l’informatique à l’école ?

C’est plus compliqué que cela. Je suis pour une école qui aide les enfants à se construire. Je ne parle pas de cette idée louable mais à l’intérêt discutable à mon sens de “former des citoyens” (apprenons le tri sélectif et les dangers des réseaux sociaux). Je parle de fournir les clés pour pouvoir raisonner. L’informatique, en tant que science, peut aider. Cela n’est pas étonnant quand on sait d’où elle vient. L’informatique, en tant que technique, non. Elle peut être utilisée avec parcimonie et à condition de ne pas jouer un rôle central. Elle doit rester un support à la science, pas plus.

Il y a u véritable problème avec ce que j’espère: cela ne se formalise pas sur une grille d’apprentissage. C’est fournir une aide au raisonnement, simplifier l’acquisition du savoir.

Le discours des informaticiens qui ont l’impression de détenir un savoir qui leur donne une toute puissance sur le reste des mortels, sous-jacent au discours majoritaire est très dangereux. Et faux. Ils n’ont à la disposition qu’un outil que beaucoup d’autres possèdent inconsciemment et qu’eux même utilisent parfois très mal hors de leur domaine.

Image: source Wikipedia, en hommage à Laurent.