La place de l’erreur en programmation à l’école primaire

Dans le cadre de mon mémoire de deuxième année de master de l’enseignement, de l’éducation et de la formation, j’ai décidé d’aborder le thème de la programmation et du codage au cycle 2. L’informatique est un outil et un objet d’apprentissage qui fait sa première apparition dans les programmes de l’Education Nationale en 1985 en réponse au développement de l’informatique. La loi d’orientation et de programmation pour la refondation de l’école de la République, du 8 juillet 2013, réaffirme l’importance de l’utilisation du numérique à l’école primaire et en 2016, les nouveaux programmes font référence au langage informatique. La programmation et le code informatique font maintenant partie intégrante des attendus de fin de cycle, de la maternelle au lycée. Le domaine 1 du Socle commun intègre le langage informatique au même titre que les langages scientifiques et mathématiques. Cette importance donnée à l’informatique dans le cursus scolaire et le développement de compétences en programmation, transférables aux autres apprentissages, me donne envie d’approfondir mes connaissances et c’est dans ce cadre que j’ai choisi d’écrire un mémoire sur ce thème.

Je réalise cette année mon stage de professionnalisation à l’école Théodore Monod, à Saint-Sébastien-sur-Loire (44) dans une classe de CE1. Il s’agit d’une classe de 22 élèves ayant tous des profils différents avec une hétérogénéité des connaissances et des comportements importante. La mise en place de séquences nécessite donc une situation motivante qui leur permet d’entrer dans les apprentissages. L’utilisation du numérique comme objet d’apprentissage permet de développer de nombreuses connaissances transférables à d’autres disciplines. De nombreuses recherches montrent l’importance du numérique dans la résolution de problème et le développement de la pensée et c’est ce qui me permet de me poser de nombreuses questions. Steve Jobs affirmait que « chacun devrait savoir comment programmer un ordinateur parce que ça apprend à penser ».

Recherches scientifiques 

L’informatique prend une part importante dans l’évolution de notre société et donc dans l’évolution des apprentissages en classe : on parle des technologies de l’information et de la communication (TIC). Il s’agit de sensibiliser les élèves à l’utilisation de ces nouvelles technologies ainsi qu’à l’usage qu’ils peuvent en faire. Le monde évoluant, l’école a pour but de préparer les élèves aux métiers de demain en favorisant la connaissance des outils numériques et leurs limites. J’ai choisi dans ce mémoire de me concentrer sur l’apprentissage d’un langage propre à l’outil numérique : la programmation. Il convient donc de définir les termes afférents à l’informatique avant d’aborder la place que prennent les TIC dans les ressources institutionnelles. J’aborderai ensuite dans cette partie ce qui est au cœur de mon sujet : la programmation et la place de l’erreur dans son apprentissage.

Pensée informatique et algorithme

Dans son article « Camputational Thinking » publié en 2006 dans sa version originale et traduit en Français par Pierre Lescanne en 2008, Jeannette M. Wing marque l’importance de la pensée informatique dans la résolution de problèmes, transférable à d’autres disciplines. Pour ce professeur d’informatique à l’université de Carnegie-Mellon (USA), la pratique de la pensée informatique devrait être intégrée aux apprentissages de tous les écoliers et ce dès la maternelle. Elle énonce qu’ « adopter un mode de pensée informatique conduit à résoudre des problèmes, à concevoir des systèmes et à comprendre le comportement humain différemment, en s’appuyant sur les concepts fondamentaux de la discipline informatique ». La connaissance de la pensée informatique est pour elle une compétence nécessaire dans la compréhension du monde en particulier dans la compréhension de la différence entre l’intelligence humaine et l’intelligence des machines : l’homme réfléchit et conçoit, la machine exécute. C’est dans ce sens que la part de l’erreur est importante puisque l’ordinateur ne peut pas déceler un bogue, seul l’humain peut le repérer après exécution par la machine et ainsi le réparer. J. Wing différencie donc l’intelligence mécanique et l’intelligence humaine par la réflexion et l’exécution qui s’en suit.

Didier Roy, chercheur membre de l’équipe Flowers d’Inria Bordeaux SudOuest, traite la question de la pensée informatique à l’école et son importance dans la compréhension de comportements humains. Dans son chapitre « la robotique éducative au service du développement de la pensée informatique – exemple de deux dispositifs open source », D. Roy met en évidence l’importance de la robotique dans le développement de la pensée informatique en prenant en exemple deux robots. Celui-ci a travaillé avec de nombreux chercheurs et enseignants pour mettre en évidence le rôle du robot dans le développement de nombreuses compétences telles que l’apprentissage de la démarche scientifique, la capacité à débattre et exprimer son point de vue, la compréhension… L’usage de la robotique permettrait selon lui de construire des attitudes et des connaissances universelles nécessaires à la résolution de problème. Il évoque d’une part le rôle de l’erreur dans le travail de recherche qui met l’élève en position de chercheur. En effet l’élève observe directement l’effet de sa programmation sur le robot et peut ainsi réajuster son travail sans peur de l’échec. Les apprentissages sont alors impactés positivement puisque les élèves sont acteurs de leur réussite, ce qui induit une plus grande motivation. D’autre part, il relate la coopération des élèves dans le travail de recherche qui développe des compétences d’argumentation et l’emploi des débats.

Par ailleurs, la recherche de programmation à l’aide de robot fait intervenir des compétences scientifiques en mettant en avant la démarche d’investigation. Selon Didier Roy, « la robotique paraît être un formidable champ de découverte et d’application de la pensée informatique ».

La pensée algorithmique est définie par Alexander Repenning (2014) comme une étape de la pensée informatique qui permet de diviser en tâches simples un programme que l’on souhaite faire exécuter par une machine. Il s’agit de décrire le processus utilisé dans la réalisation d’un programme pour permettre à une machine ou un humain de le réaliser. Cette étape à la pensée informatique est donc nécessaire dans la compréhension du processus de création du programme et également dans sa réalisation par une machine ou un humain. Pierre Tchounikine précise qu’il ne faut pas réduire la pensée informatique à l’algorithmique mais l’aborder comme la résolution d’un problème conduisant à l’écriture d’un algorithme amenant parfois à un programme exécutable par une machine : « la pensée informatique ne se réduit donc pas à l’algorithmique mais le concept d’algorithme est au cœur de la pensée informatique ». Le schéma ci-après résume la pensée informatique et l’implication de la pensée algorithmique (Peggy Delarbre, 2017).

D’après Gilles Dowek, informaticien et logicien français, « un algorithme est une recette qui permet de résoudre un certain problème de manière systématique. » Il explique que cette notion n’est pas propre à l’informatique puisqu’elle est développée depuis longtemps dans les mathématiques pour résoudre des problèmes. La création d’un algorithme ne suffit pas à une machine pour réaliser ce qui lui est demandé, seule l’écriture de cet algorithme, appelé langage de programmation permet de réaliser cette tâche.

Langage de programmation 

La programmation est l’utilisation d’un langage permettant de coder un algorithme compréhensible par un ordinateur ou un humain dans le but de le réaliser. Ce langage doit donc être connu par tous pour pouvoir être décrypté par une machine programmable. Dans la programmation de robot, le langage utilisé correspond à un déplacement représenté par des flèches. Ces flèches permettent de donner les indications suivantes : avancer, tourner à droite, tourner à gauche, reculer. Un programme ainsi écrit sur la machine permet au robot de se déplacer en ayant connaissance de ce qui lui est demandé. Les notions d’algorithmes et de programmation sont comparées par Gilles Dowek à une recette, comme énoncé plus haut : « Une recette peut être exécutée et même être transmise de génération en génération, sans être écrite, ni même verbalisée. C’est cette seconde notion qui correspond à la notion d’algorithme. Dès que la recette est écrite ou verbalisée, elle doit être comparée, non à la notion d’algorithme, mais à celle de programme.

Le langage de programmation est donc un langage qui permet de rendre reproductible et stable un algorithme.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

1. Introduction
2. Cadrage de la recherche
2.1 Recherches scientifiques
2.1.1 Pensée informatique et algorithme
2.1.2 Langage de programmation
2.1.3 De nombreuses compétences en jeu
2.2 Place de la programmation dans les ressources institutionnelles
2.2.1 L’évolution des programmes
2.2.2 Socle commun de connaissances, de compétences et de culture
2.3 La place de l’erreur dans les apprentissages
2.4 Diverses modalités d’enseignement de la programmation
2.5 Questions professionnelles de recherche
3. Dispositif empirique de recueil de données
3.1 Ma séquence de programmation
3.2 L’observation de la place de l’erreur
4. Analyse de données
4.1 Le robot Bluebot
4.2 L’application Tuxbot
4.3 La productivité du retour sur l’erreur
5. Conclusion
Bibliographie
Annexe

Lire le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *