C’est officiel, à partir de cette rentrée 2018, enseigner le codage est plus que jamais au programme de l’Éducation Nationale dès l’école primaire. Mais pourquoi enseigner une discipline si complexe et obscure à nos enfants ?
Mettons-nous d’accord, malgré l’engouement que l’on constate pour le codage aujourd’hui en France, la programmation n’est pas encore considérée comme une compétence primordiale. Beaucoup de compétences que le codage permet d’acquérir peuvent être acquises autrement. Par exemple en jouant aux échecs, en faisant de la musique ou encore du sport.
Mais alors, pourquoi le codage est devenu incontournable au point qu’il est introduit dans les cursus scolaires dès l’école primaire ? Pour répondre à cette question, il est nécessaire de comprendre le phénomène dans son ensemble !
Qu’est-ce que le codage au juste ?
Concrètement, la programmation (ou codage) est une manifestation de la pensée informatique, un processus de résolution de problèmes qui fait intervenir plusieurs aptitudes intellectuelles telles que l’analyse logique de données, la représentation visuelle des problèmes et la création de solutions à l’aide de séries d’instructions ou algorithmes.
Comprendre comment fonctionne un ordinateur est essentiel pour développer des applications informatiques. Mais cette capacité peut aussi être exploitée pour soutenir la résolution de problèmes dans d’autres disciplines comme les mathématiques, les sciences de l’ingénieur ou les sciences humaines.
#1. Apprendre à coder confère les mêmes effets cognitifs qu’apprendre une langue
Lorsque l’on apprend une nouvelle langue, nous l’utilisons pour nous exprimer. C’est la même chose avec le code. Le codage permet aux enfants non seulement de consommer des médias numériques et des technologies, mais surtout de les créer. Au lieu de simplement jouer à un jeu vidéo ou utiliser une application, ils peuvent créer leur propre jeu vidéo ou imaginer leur propre site web ou application.
#2. Apprendre à coder c’est acquérir de la rigueur dans l’écriture
Comme le langage informatique est un langage formel (qui ne supporte pas les ambiguïtés), écrire du code impose une certaine rigueur syntaxique. Par exemple, si on oublie de fermer une parenthèse dans un programme, c’est tout le programme qui ne fonctionne plus. Dans le cas des langages compilés, la détection des anomalies est plus compliquée parce qu’elle n’a lieu que lorsque le code en entier est compilé. D’un autre côté, les langages interprétés permettent de signaler les erreurs instantanément au même moment que le programmeur écrit le code.
#3. Apprendre à coder permet de surpasser la peur de se tromper
La programmation est un processus expérimental par essence, elle est une discipline où l’apprentissage par l’erreur est primordial. Même le plus grand surdoué de la planète doit tester son code, peut se tromper et doit recommencer. Ainsi, on entend beaucoup parler du terme anglais “débugger”. C’est suivre l’exécution du code pas à pas afin de déceler une erreur ou un “bug”.
#4. Apprendre à coder développe la pensée visuelle
La programmation permet de développer l’intelligence visuelle en stimulant la reconnaissance de motifs (pattern recognition) qui reviennent partout dans le code. Par exemple, un code bien écrit est organisé en fonctions qui sont des blocs d’instructions que l’on isole à un seul endroit (la définition de la fonction) et que l’on invoque à divers endroits (appels de fonctions). La reconnaissance de motifs n’est pas utile que dans le code. Cette faculté est utile pour chercher son chemin, reconnaître les mots et les structures dans un texte, associer une signification à un panneau de signalisation, etc.
#5. Apprendre à coder c’est être en phase avec son époque
Vous avez sans doute vu et revu cette statistique curieuse qui prédit que 65% des métiers qui seront exercés en 2030 n’existent pas encore. Les transformations que vit le monde aujourd’hui grâce et à cause du numérique, sont aussi culturelles et dans les modes de vie. Enseigner la programmation permet aux enfants de prendre conscience de ce qui les entoure. Il s’agit de comprendre ce qu’est un ordinateur, une tablette, ou un smartphone et surtout de savoir comment utiliser ces nouveaux objets de manière constructive et sécurisée.
#6. Apprendre à coder développe la créativité
Quelle que soit la raison pour laquelle on code, le processus requiert toujours une bonne dose d’imagination et d’ingéniosité. Pour mettre en œuvre une solution à un problème, pour améliorer un rendu ou pour faire faire à un ordinateur des tâches précises. Un programme informatique est comme une invention de l’esprit. Mais contrairement à un artisan qui a besoin de matière première pour créer une œuvre, un programmeur a juste besoin de neurones et d’inspiration.
#7. Apprendre à coder augmente les chances de trouver un travail
Un argument qu’on entend souvent, surtout outre-atlantique, est que les gens devraient apprendre à coder pour trouver un emploi. L’explication est simple : comme le marché de l’emploi est de plus en plus demandeur de compétences en développement de logiciels (on estime à 2 millions le nombre de postes en rapport avec l’informatique aux USA en 2020), l’apprentissage du code reste l’un des meilleurs moyens d’acquérir ces compétences.
#8. Le codage aide à comprendre notre monde de plus en plus digitalisé
Il est essentiel de comprendre comment les logiciels et les concepteurs de logiciels peuvent manipuler notre comportement, violer notre vie privée et porter atteinte à nos droits. Le consortium CSForAll, issu de l’appel d’Obama en 2016, avance un argument similaire en cherchant à donner aux jeunes les moyens «de créer des entreprises dans l’économie numérique”, de ne pas rester seulement consommateur, mais plutôt d’être des citoyens actifs dans un monde de plus en plus technologique.
#9. Les pratiques du codage valorisent le travail en équipe
En plus de développer des compétences techniques, le codage développe également des compétences non techniques telles que s’entendre avec des collègues, car la plupart des projets sont extrêmement collaboratifs. Que l’on interagisse avec des patrons, des subordonnés ou avec des intervenants externes, de bonnes compétences en relations humaines sont essentielles pour prospérer dans n’importe quel environnement. Aussi bien sur le plan professionnel que personnel, car ces mêmes compétences peuvent également vous aider dans votre vie personnelle en vous apprenant comment mieux vous entendre avec vos amis et votre famille.
#10. Coder ouvre le champ des possibles
Que ce soit pour le développement personnel, l’avancement professionnel, le changement de carrière ou simplement pour le désir d’améliorer sa culture numérique, la connaissance du fonctionnement des logiciels et de la capacité de contribuer au développement de nouveaux logiciels est une forme d’expression qui procure une satisfaction intérieure. Tel le sentiment d’un artiste qui achève son œuvre, le sentiment d’avoir codé quelque chose étant susceptible de rendre le monde meilleur, est tout simplement gratifiant !
En résumé
Avant de lancer votre enfant dans l’aventure du codage, assurez-vous d’abord qu’il aime cette activité. Cela doit être un plaisir avant tout, sinon ne perdez pas votre temps et choisissez une activité où il se sent à l’aise. Aussi, rappelez-vous que la finalité de l’enseignement du codage à l’école n’est pas de faire de votre enfant un futur développeur informaticien ou “codeur”. L’objectif est de lui donner une certaine curiosité de comprendre ce nouveau monde qui l’entoure, un monde de plus en plus informatisé.
Si vous avez fait le tour du logiciel Scratch, vous envisagez peut-être de passer à un vrai langage de programmation. Mais, vous vous êtes surement posé la question « quel langage choisir et pourquoi ». Il existe plus de 400 langages de programmation, plus ou moins généralistes. Certains sont interprétés, d’autres compilés, chacun avec sa propre syntaxe et sémantique, avec des domaines d’application divers et variés. Le choix de tel ou tel langage est une sorte de spécialisation avant l’heure.
Chez Coding Park, nous proposons de prolonger le tronc commun avec un langage intermédiaire juste avant la spécialisation baptisé Play, un pendant textuel des blocks de Scratch. Play permet d’écrire les instructions du robot Cody pour résoudre des challenges. Il a une syntaxe minimaliste, il permet de découvrir les concepts algorithmiques que l’on retrouve dans la plupart des langages de programmation, comme les boucles, les expressions conditionnelles, les variables, les fonctions, etc. C’est est un langage interprété, cela veut dire que le code est analysé instantanément lors de l’écriture. L’éditeur renvoie ainsi des erreurs, des warnings, et des propositions qui guident l’enfant dans l’écriture. Essayez Play dans Golden Quest !