Christophe DECLERCQ
Laboratoire d’informatique et de mathématiques, Université de la Réunion
Numéro thématique 3 / 2023 - T3
RÉSUMÉ
Cet article relate une recherche-action menée au premier semestre 2022 avec un groupe de professeurs d’école stagiaires à l’INSPE de l’académie de la Réunion. A l’occasion de leur formation à l’enseignement de la programmation à l’école primaire, nous avons mené une recherche pour identifier l’évolution de leurs représentations concernant différentes notions introduites durant l’enseignement. Nous proposons aussi comme retombée de cette étude, la création d’un environnement permettant aux enseignants de mettre en ligne des activités d’apprentissage pensées initialement en mode débranché.
Mots-clés : Ecole primaire – Programmation - PES
Nous développons tout d’abord la problématique de recherche en la situant à la fois par rapport aux recherches récentes portant sur la programmation à l’école primaire et sur la formation des enseignants et par rapport aux programmes d’enseignement. Puis nous présentons la méthodologie choisie et notre hypothèse de recherche. Nous décrivons ensuite la séquence d’apprentissage originale que nous avons mise en place avec les professeurs d’école stagiaires, leur permettant de concevoir et expérimenter une séquence d’apprentissage de la programmation avec leurs élèves.
Après une analyse, essentiellement qualitative, des résultats obtenus, nous discutons finalement des perspectives de cette recherche.
L’écart important entre les ambitions de l’introduction de l’enseignement de la programmation à l’école primaire en 2016, et les pratiques constatées, interroge la formation des enseignants. La mise en œuvre effective semble liée à l’utilité perçue de cet enseignement par les enseignants (Roche, 2022). La conscience disciplinaire en informatique des enseignants avait été jugée faible en 2016 (Drot-Delange, 2018). Cinq ans plus tard, la formation disciplinaire, curriculaire et didactique des professeurs des écoles stagiaires montre encore des lacunes et des confusions importantes (Drot-Delange et al., 2021).
Nous postulons qu’il s’agit principalement d’une question de formation des enseignants, Haspekian & Gelis (2021) ayant documenté la faiblesse de la genèse instrumentale des enseignants, en particulier avec des artefacts de programmation événementielle. La possibilité de former à la programmation des étudiants en sciences de l’éducation avait été expérimentée dès 2013 par (Baron & Voulgre, 2013). L’engagement important des étudiants avait été souligné ainsi que l’apparition de difficultés liés à la synchronisation des actions en Scratch. Parmentier et Kirchmeyer (2021) ont décrit un dispositif de formation des enseignants au numérique incluant une formation à la programmation basée sur des micro-mondes dédiés à la programmation de déplacements ou de dessins de figures.
Concernant l’apprentissage de la programmation à l’école, de nombreuses recherches ont repris sur ce sujet depuis 2010, d’abord dans le cadre d’expériences locales puis dans celui des programmes de 2016 de l’école et du collège. Ces recherches portent sur trois modalités distinctes : l’informatique débranchée, la robotique pédagogique et l’usage de micro-mondes en programmation visuelle. L’informatique sans ordinateur (ou informatique débranchée) a tout d’abord été popularisée par le jeu de l’enfant robot (Greff, 1998). La robotique pédagogique a donné lieu à de nombreuses expérimentations à l’école maternelle et élémentaire (Grugier, 2022 ; Nogry, 2018 ; Spach, 2019). Concernant la programmation de micro-mondes en programmation visuelle par blocs, outre le très grand nombre de travaux sur Scratch ou Scratch Jr, des études portent sur des environnements plus simples, sans parallélisme ni programmation événementielle, avec des instruments dédiés (Declercq & Tort, 2018 ; Léonard et al., 2022). L’influence de l’usage de plusieurs modalités a été étudiée dans (Sigayret et al., 2021) qui a confirmé l’intérêt d’une progression intégrant au moins deux des trois modalités citées, ainsi que dans (Alvarez et al., 2021) où l’intérêt de la bi-modalité a aussi été mis en évidence sous réserve d’une hypothèse sur la distance.
Nous adoptons le parti-pris d’exclure la programmation événementielle du champ de notre étude et de nous consacrer à la possibilité de former en temps limité (15h dans notre expérience) de futurs enseignants, en concentrant leur formation disciplinaire et didactique sur les notions et capacités inscrites dans les programmes des cycles 1 à 3, à savoir les notions d’instruction, de programme, de séquence d’instructions, et de boucle (bornée), et les capacités associées.
Les programmes d’enseignement s’inscrivent dans le cadre du socle commun de connaissances, de compétences et de culture (Ministère de l’Education Nationale et de la Jeunesse, 2015). En particulier l’apprentissage de la programmation s’inscrit dans l’objectif « comprendre, s’exprimer en utilisant les langages mathématiques, scientifiques et informatiques » au sein du domaine : « les langages pour penser et communiquer ».
Le programme de cycle 1 cite seulement la possibilité d’utiliser des représentations pour « coder des déplacements », sans préciser si cela peut faire référence aux mouvements du corps ou d’un robot.
Le programme de cycle 2 (Ministère de l’Education Nationale et de la Jeunesse, 2020) page 62, prévoit : « programmer les déplacements d’un robot ou ceux d’un personnage sur un écran » dans le cadre de la compétence « (Se) repérer et (se) déplacer en utilisant des repères et des représentations ».
Le cycle 3 permet de prolonger ces apprentissages : « Programmer les déplacements d’un robot ou ceux d’un personnage sur un écran en utilisant un logiciel de programmation. Vocabulaire permettant de définir des positions et des déplacements. Divers modes de représentation de l’espace. » Une nouvelle classe de situations est aussi proposée : « Réaliser, compléter et rédiger un programme de construction. Réaliser une figure simple ou une figure composée de figures simples à l’aide d’un logiciel. »
Nous notons que les notions de programmation événementielle, de conditions et de variable informatique ne sont au programme qu’à partir du cycle 4. Seules les notions de programme, de séquence et de boucle nécessitent d’être introduites au préalable pour permettre le codage de déplacements et la construction de figures aux cycles 2 et 3. Notre hypothèse est d’affirmer qu’une formation disciplinaire, curriculaire et didactique des enseignants pour leur permettre d’enseigner la programmation est possible dans le temps imparti, à condition de limiter les concepts mis en jeu à ceux réellement utiles pour les cycles 1 à 3.
La recherche s’est déroulée en trois phases entre mars et juin 2022 avec un groupe de 24 professeurs d’école stagiaires de l’INSPE de l’académie de la Réunion. Un questionnaire initial [1] a permis de recueillir les représentations des stagiaires sur l’informatique, le numérique et le codage, l’utilité perçue des apprentissages liés au numérique ou à l’informatique figurant au programme du cycle 2, ainsi que leur sentiment de compétence par rapport à la programmation et son enseignement.
La formation a été scénarisée pour permettre aux stagiaires de découvrir d’abord les constituants de base d’un programme, puis des situations d’enseignement typiques : enfant robot, robot programmable et déplacement d’un personnage à l’écran, puis de les analyser. Des groupes projets ont ensuite été constitués avec pour objectif de construire du matériel adapté et d’inventer des activités contextualisées pour le cycle 1 ou le cycle 2. Les situations proposées ont été expérimentées entre stagiaires, puis en classe et finalement ont été restituées devant le groupe.
Un questionnaire final a permis de mesurer l’évolution des représentations et du sentiment de compétence par rapport à cet enseignement.
Présentation de l’enquête
Le protocole de recherche a été axé sur la mesure des évolutions, avant et après la formation, des représentations des stagiaires, de l’utilité perçue d’un tel enseignement et de leur sentiment de compétence.
Pour mesurer l’évolution des connaissances disciplinaires, nous avons choisi d’interroger les stagiaires sur leurs représentations des termes suivants : informatique, numérique, algorithme, codage.
Concernant leurs connaissances curriculaires, nous les avons interrogés sur l’utilité perçue des items figurant au programme du cycle 2 et incluant les termes numérique et/ou informatique, sans indiquer la provenance de ces items.
Concernant leurs connaissances didactiques, nous avons choisi de les interroger indirectement via leur sentiment de compétence par la question : « J’ai le sentiment d’être compétent.e pour enseigner la programmation à l’école primaire », et directement dans le post-test dans la partie consacrée à l’évaluation de la formation : « La formation m’a permis de progresser au niveau didactique (préparation et analyse des activités élèves) ».
Méthode d’analyse des résultats
Nous avons catégorisé manuellement les réponses aux questions ouvertes avec des catégories pré-établies. Vu le faible nombre de réponses, nous n’avons envisagé ni analyse de corrélation, ni test d’indépendance entre les différentes variables.
La première séance d’apprentissage de la programmation a été orchestrée autour de trois activités :
Figure 1 : Tapis de jeu - Un robot à Mafate, IREMI 2022
L’analyse a permis de mettre en évidence les variables didactiques de la situation, distance entre départ et arrivée, orientation dans le sens de l’élève et la variété des activités possibles : « écrire un programme connaissant départ et arrivée », « évaluer un programme donné pour trouver l’arrivée connaissant le départ » ou inversement. L’exploitation de l’erreur, sans représentation du programme en mémoire, a permis de révéler l’intérêt d’une représentation externe du programme sous forme de barre de programmation ou de pile de cartes. Le risque de confusion entre un programme et sa trace d’exécution a été discuté, amenant la précaution suivante : éviter de disposer les cartes instructions sur l’itinéraire que l’exécution du programme permet au robot de parcourir.
Les séances suivantes ont été consacrées aux projets en groupes. L’objectif annoncé était de concevoir par groupes de quatre, des scenarii avec des activités d’apprentissage de la programmation destinées aux cycles 1, 2 ou 3, que les stagiaires se sentent capables d’animer en classe, pour développer la compétence « programmer les déplacements d’un robot ou ceux d’un personnage sur un écran ».
Quelques repères ont été posés par l’enseignant :
Sur les 24 stagiaires, une avait omis de répondre au questionnaire initial et 3 étaient absents lors de la dernière séance et n’ont pas répondu au questionnaire final. Nous n’avons donc conservé que les réponses des 20 ayant répondu aux deux questionnaires. Les réponses ont été anonymisées après rapprochement des deux questionnaires.
Les conceptions des stagiaires relatives à l’informatique
Nous avons catégorisé les réponses à la question : « Décrivez, avec vos propres termes, ce qu’est l’informatique pour vous » en 4 catégories selon que la définition était plutôt centrée sur les aspects matériels, les aspects logiciels, les usages ou approchait l’informatique en tant que science du traitement de l’information par des machines. On constate un passage très net d’une définition centrée sur le matériel ou les usages à une informatique perçue majoritairement comme une science.
Les conceptions relatives au « numérique » ont beaucoup moins évolué et restent incertaines : plusieurs réponses invoquent l’usage d’outils informatiques, mais aussi le langage ou le codage numérique « C’est la partie de l’information qui est codée en nombre ». Nous retrouvons la même ambiguïté dans les tentatives de définition du terme « codage », ce à quoi nous nous attendions évidemment vu la polysémie du terme pouvant faire référence à la représentation de l’information et aussi dans une acception plus récente comme synonyme de programmation.
Concernant la notion d’algorithme, nous avons catégorisé les définitions en quatre catégories : référence à une méthode de calcul, séquence/suite ou enchaînement d’actions/instructions, synonyme de programme ou définition absente ou erronée.
Les définitions initiales erronées les plus courantes définissent l’algorithme comme un code ou une suite de codes ou comme un motif répété, ce qui peut s’expliquer par l’usage du terme pour qualifier des activités d’enfilage de perles en maternelle.
Les définitions, après la formation, invoquent le plus souvent la séquence d’actions. Nous considérons aussi correctes les définitions générales basées sur l’idée de méthode ou celles basées sur la notion de programme, sachant que la distinction programme/algorithme n’est pas au programme de l’école.
Nous déduisons de cette première partie du questionnaire que les conceptions se sont considérablement améliorées au cours de la formation pour les notions d’informatique et d’algorithme, ce qui atteste de l’acquisition de connaissances de la part des stagiaires.
Utilité perçue d’un enseignement de la programmation à l’école
Les stagiaires ont été interrogés avant et après la formation sur l’utilité perçue par la question : « Pour vous, un enseignement d’informatique ou de numérique à l’école primaire est utile aux élèves pour », suivie de l’énumération des 16 items relevant du numérique et de l’informatique dans le programme du cycle 2. Les réponses initiales ont déjà permis à la plupart d’identifier les compétences en jeu, la plupart atteignant ou dépassant un score moyen de 3 correspondant à la modalité « plutôt d’accord ». Après la formation, ce sont les six compétences dont les scores étaient les plus bas qui augmentent le plus, pour rejoindre les autres à un score moyen de 3,5. Il s’agit des 3 compétences mises en jeu dans la programmation de déplacements : « s’exprimer en utilisant le langage informatique », « maîtriser le vocabulaire des positions et des déplacements », et « savoir se repérer sur une carte numérique » ainsi que trois compétences cognitives de plus haut niveau qui avaient auparavant été moins bien identifiées : « apprendre à planifier son action avant de la réaliser », « développer les capacités d’abstraction », et « s’engager dans une démarche de résolution de problèmes ».
Nous concluons de ces résultats que les stagiaires, après la formation, ont mieux identifié comme compétences pouvant être développées par l’apprentissage de la programmation à la fois les compétences liées aux activités étudiées, et les compétences cognitives constitutives de la pensée informatique : anticipation, abstraction et résolution de problèmes (Declercq, 2022 ; Selby & Woollard, 2014).
La programmation à l’école primaire
A la question : « associer 3 à 5 mots à l’expression : la programmation à l’école primaire », les réponses ont beaucoup évolué entre le début et la fin de la formation.
Figure 2 : représentations avant et après de la formation sur « la programmation à l’école primaire »
La prédominance du terme Scratch avant la formation a laissé la place après, aux termes du domaine : programme, algorithme, déplacement, au terme « ludique » qui est le plus cité. Des termes apparaissent liés aux compétences : anticipation, planification, abstraction ou aux artefacts : ordinateur, robot.
Sentiment de compétence pour enseigner la programmation
Le questionnaire initial interrogeait les stagiaires sur leur intérêt, leur confiance en leur capacité d’appendre et leur sentiment de compétence. Les résultats montrent un intérêt unanime, mais une confiance mesurée et un sentiment d’incompétence majoritaire (12/20).
Après formation, 18 stagiaires sur 20 ont le sentiment d’être compétents pour enseigner la programmation à l’école primaire alors qu’ils n’étaient que 7 en début de formation.
Évaluation de la formation par les stagiaires
Lors du questionnaire final, la formation a été évaluée par les stagiaires. Le sentiment d’avoir progressé est important, et il l’est davantage en termes didactiques que disciplinaires. La formation leur a permis de prendre confiance en leurs capacités. Sur les six projets, trois ont été expérimentés en classe, projets concernant dix répondants sur les vingt. Par ailleurs 16 stagiaires sur 20 se disent capables d’utiliser un projet d’un autre groupe pour une activité en classe. Nous pouvons donc en conclure que la formation a eu un impact positif direct, et que les compétences acquises leur semblent transférables pour animer des activités en classe.
Le recueil des travaux des stagiaires et leur mise en ligne
Lors de la troisième séance, les groupes, qui avaient tous choisi pour commencer des activités sans ordinateur, ont préparé du matériel adapté et ont fait des propositions en lien avec des thèmes travaillés dans leurs classes. Les projets ont été expérimentés entre stagiaires puis déposés sur la plate-forme moodle de l’université pour échanger entre stagiaires lors de la quatrième séance. Le temps disponible avant la dernière séance a permis à la moitié des groupes de tester leur activité en classe. Cela nous a aussi permis de proposer une version en ligne de chacune des six activités proposées par les stagiaires, dans le cadre d’un environnement générique de programmation de déplacements d’un personnage sur un écran.
Sur les six projets réalisés, quatre sont destinés au cycle 1 et utilisent un mode de déplacement absolu avec un code couleur pour les 4 directions (Figure 3), et deux sont destinés au cycle 2 et utilisent un mode de déplacement relatif (Figure 4). Les séquences imaginées par les stagiaires incluent toutes une série de défis de difficulté variable commençant par des activités débranchées et complétés par les versions en ligne illustrées ci-dessous.
Figure 3 : « se déplacer dans le quartier », activité pour des élèves en cycle 1.
Figure 4 : « la tisaneuse », activité pour des élèves en cycle 2.
L’environnement auteur nécessite de fournir seulement, l’image de la scène, sa taille, l’image du personnage, la rédaction de la consigne et de choisir le mode de déplacement souhaité, tout ceci dans un formulaire disponible à l’adresse https://iremi974.gitlab.io/blocks4school/. Une URL est alors générée contenant l’ensemble des informations pour démarrer l’activité, URL pouvant être enregistrée dans l’ENT de l’élève.
L’analyse des questionnaires initiaux et finaux a permis de valider l’hypothèse selon laquelle une formation disciplinaire, curriculaire et didactique des enseignants pour leur permettre d’enseigner la programmation, est possible dans le temps imparti, à condition de limiter les concepts mis en jeu à ceux réellement utiles pour les cycles 1 à 3. Nous avons identifié une évolution au niveau des représentations des stagiaires concernant leur compréhension des concepts disciplinaires et des approches didactiques et de l’intérêt d’un tel enseignement et perçu à partir de leur déclaration le développement de leur sentiment de compétence.
Nous devons nuancer ce résultat par rapport à la boucle qui a bien été présentée dans l’apprentissage mais n’a pas été reprise dans les projets construits par les stagiaires. Une des raisons possibles est qu’ils et elles étaient très majoritairement affectés en cycle 1 et 2, mais une autre raison pourrait être liée à une maîtrise insuffisante du concept de boucle pour pouvoir l’enseigner. Le choix d’activités débranchées pourrait aussi expliquer l’absence de besoin ressenti d’introduire la boucle.
Concernant le dispositif permettant de mettre en ligne une activité conçue en mode débranché, nous postulons que ce pourrait être un point décisif dans l’utilisabilité par les enseignants d’un environnement de programmation en ligne. En effet l’appropriation de cet environnement par les stagiaires a été immédiate, car il ne faisait que transposer l’activité conçue de manière contextualisée, activité qui avait donc du sens dans le cadre de la classe et pour leurs élèves. Ceci pourrait par ailleurs confirmer l’hypothèse émise par Saddoug et al. (2022) dans leur étude sur l’adaptabilité des jeux pour l’apprentissage de la programmation préconisant l’intérêt pour l’enseignant de pouvoir « les adapter en fonction, en prenant en compte leur contexte et leurs besoins ». Une perspective de ce travail réside dans la mise à disposition de cet environnement lors de formations continues d’enseignants, pour mesurer sa possibilité d’appropriation.
Alvarez, J., Bellegarde, K., Boyaval, J., Hurez, V., Flahaut, J.-J., & Lafouge, T. (2021). Hypothèse de la « distance » appliquée à la robot-pédagogie pour les enfants en maternelle. Atelier « Apprendre la Pensée Informatique de la Maternelle à l’Université », dans le cadre de la conférence Environnements Informatiques pour l’Apprentissage Humain (EIAH), 46‑56. https://hal.archives-ouvertes.fr/hal-03241690
Baron, G.-L., & Voulgre, E. (2013). Initier à la programmation des étudiants de master de sciences de l’éducation ? Un compte rendu d’expérience. Sciences et technologies de l’information et de la communication (STIC) en milieu éducatif, Clermont-Ferrand, France.
Declercq, C. (2022). Didactique de l’informatique : Une formation nécessaire. Sticef, 28(3). http://sticef.org/num/vol2021/28.3.8.declercq/28.3.8.declercq.htm
Declercq, C., & Tort, F. (2018, avril). Organiser l’apprentissage de la programmation au cycle 3 avec des activités guidées et/ou créatives. RJC EIAH 2018. https://hal.archives-ouvertes.fr/hal-01765408
Declercq, C., & Zeyringer, M. (2018, juin). Analyse de l’activité des élèves dans l’environnement PixelArt pour l’apprentissage de la séquence et de la répétition au cycle 3. ETIC3. https://hal.archives-ouvertes.fr/hal-01826065
Drot-Delange, B. (2018). Reconfiguration de l’enseignement de l’informatique à l’école primaire : Quelle conscience disciplinaire chez les professeurs des écoles stagiaires ? Recherches en Didactiques, 1(25), 27. https://doi.org/10.3917/rdid.025.0027
Drot-Delange, B., Parriaux, G., & Reffay, C. (2021). Futurs enseignants de l’école primaire : Connaissances des stratégies d’enseignement, curriculaires et disciplinaires pour l’enseignement de la programmation. RDST. Recherches en didactique des sciences et des technologies, 23, Article 23. https://doi.org/10.4000/rdst.3685
Greff, É. (1998). Le « jeu de l’enfant-robot » : Une démarche et une réflexion en vue du développement de la pensée algorithmique chez les très jeunes enfants. Sciences et Techniques Educatives, 5(1), 47.
Grugier, O. (2022). Manipulations de robots programmables en classe par des élèves de 9-10 ans. Éducation au numérique et culture technique. Revue STICEF, 28(3). http://sticef.org/num/vol2021/28.3.7.grugier/28.3.7.grugier.htm
Haspekian, M., & Gelis, J.-M. (2021). Informatique, Scratch et robots : De nouvelles pratiques enseignantes en mathématiques ? Revue STICEF, 28(1). http://sticef.org/num/vol2021/28.1.1.haspekian/28.1.1.haspekian.htm
Léonard, M., Secq, Y., Peter, Y., & Fluckiger, C. (2022). Pensée informatique : Approche didactique de l’identification de motifs. L’informatique, objets d’enseignement et d’apprentissage. Quelles nouvelles perspectives pour la recherche ? DIDAPRO 9, Le Mans, France. https://hal.archives-ouvertes.fr/hal-03697950
Ministère de l’Education Nationale et de la Jeunesse. (2015). Socle commun de connaissances, de compétences et de culture. Ministère de l’Education Nationale et de la Jeunesse. https://www.education.gouv.fr/bo/15/Hebdo17/MENE1506516D.htm
Ministère de l’Education Nationale et de la Jeunesse. (2020). Programmes d’enseignement, cycle des apprentissages fondamentaux (cycle 2), cycle de consolidation (cycle 3) et cycle des approfondissements (cycle 4), Bulletin officiel n°31 du 30 juillet 2020. Ministère de l’Education Nationale et de la Jeunesse. https://www.education.gouv.fr/bo/20/Hebdo31/MENE2018714A.htm
Nogry, S. (2018). Comment apprennent les élèves au cours d’une séquence de robotique éducative en classe de CP ? De 0 à 1 ou l’heure de l’informatique à l’école. Didapro 7 – DidaSTIC., Lausanne, Suisse. https://hal.science/hal-01753106
Parmentier, Y., & Kirchmeyer, S. (2021). Donner du sens à l’objet numérique dans la formation des futur·e·s professeur·e·s des écoles. Atelier “ Apprendre la Pensée Informatique de la Maternelle à l’Université ”, dans le cadre de la conférence Environnements Informatiques pour l’Apprentissage Humain (EIAH), 34‑45. https://hal.archives-ouvertes.fr/hal-03241686
Roche, M. (2022). L’initiation à la programmation informatique à l’école primaire : De l’utilité perçue à la mise en œuvre. Carrefours de l’éducation, 54(2), 181‑196. https://doi.org/10.3917/cdle.054.0181
Saddoug, H., Rahimian, A., Marne, B., Muratet, M., Sehaba, K., & Jolivet, S. (2022, mai 18). Analyse de l’adaptabilité de jeux pour l’apprentissage de la pensée informatique ou de la programmation. L’informatique, objets d’enseignement et d’apprentissage. Quelles nouvelles perspectives pour la recherche ? Actes du colloque DIDAPRO 9. https://hal.archives-ouvertes.fr/hal-03697961
Selby, C., & Woollard, J. (2014). Computational thinking : The developing definition. SIGCSE.
Sigayret, K., Blanc, N., & Tricot, A. (2021). Pensée informatique et activités de programmation : Quels outils pour enseigner et évaluer ? Atelier “ Apprendre la Pensée Informatique de la Maternelle à l’Université ”, dans le cadre de la conférence Environnements Informatiques pour l’Apprentissage Humain (EIAH), 68‑75. https://hal.archives-ouvertes.fr/hal-03241689
Spach, M. (2019). Activités robotiques à l’école : Approches de pratiques d’enseignement et effets sur les apprentissages. Recherches en didactiques, 28(2), 68‑87.
[1] Nous remercions Béatrice Drot-Delange pour son autorisation de réutiliser partiellement le questionnaire de son enquête de 2016 (Drot-Delange, 2018).