Les compétences travaillées en programmation
L’initiation à la programmation permet, si elle est menée régulièrement avec les élèves, de travailler des compétences de chaque domaine du socle commun de connaissances, de compétences et de culture : « Les langages pour penser et communiquer », « Les méthodes et outils pour apprendre », « La formation de la personne et du citoyen », « Les systèmes naturels et les systèmes techniques » et « Les représentations du monde et de l’activité humaine ».
La programmation permet en effet de pratiquer des langages spécifiques et des langages adaptés à des situations. C’est un domaine qui nécessite un lexique spécifique, parfois difficile à assimiler dès le CM1. Les élèves sont d’abord sensibilisés par l’enseignant qui se doit d’utiliser, à l’oral puis à l’écrit, le lexique adapté pour chaque élément de programmation. Les élèves peuvent ensuite progressivement emprunter ce bagage lexical qui leur est de plus en plus familier. Le langage est ensuite un élément clé pour rendre compte de ce qui est fait en programmation, les phénomènes vécus en situation doivent pouvoir être expliqués l’oral – ou à l’écrit, pour pouvoir débloquer certaines situations ayant mis les élèves en difficulté ou au contraire pour partager les réussites réalisées.
En outre, la programmation permet également aux élèves de s’emparer de méthodes et d’outils nouveaux. La connaissance et la maîtrise des outils numériques se construisent en technologie, notamment avec l’appropriation d’un environnement numérique propre à chaque élève, puis à la classe, mais aussi en utilisant différents logiciels de traitement de données numériques. Les outils numériques sont également à intégrer dans différentes disciplines, telles que les mathématiques comme cela a été précédemment évoqué, en français pour l’utilisation des outils numériques d’écriture, en langues vivantes ou encore dans le domaine des arts à travers des logiciels de 4D par exemple. Les élèves apprennent aussi, à travers la programmation, à coopérer et collaborer dans l’élaboration de projets de groupe.
L’enseignement de la programmation permet de développer chez les élèves des compétences précises et pourtant transposables dans différentes situations, telles que:
– L’investigation : les élèves mènent une activité avec des temps d’observation et de réflexion, ce qui répond à une démarche scientifique.
– La décomposition : les élèves sont d’abord confrontés à un problème complexe, qu’ils découpent en sous-problèmes, en sous-tâches selon les stratégies qu’ils décident d’adopter.
– La reconnaissance de schéma : les élèves reconnaissent des schémas, des configurations, des invariants, des répétitions et mettent en évidence des interactions.
– La généralisation et l’abstraction : les élèves doivent réussir à repérer les enchaînements logiques et les traduire en instructions conditionnelles, traduire les schémas récurrents en boucles, concevoir des méthodes liées à des objets qui traduisent le comportement attendu.
– La conception algorithmique : les élèves savent comment écrire des solutions à un problème donné, réutiliser des algorithmes déjà programmés, programmer des instructions déclenchées par des événements, concevoir des algorithmes.
L’enseignement de la programmation permet d’accompagner différemment certains principes mathématiques, mais participe également à varier les modalités de résolution de problèmes.
La programmation est donc établie comme un enseignement obligatoire dans les instructions officielles, à l’état d’initiation, mais permet de travailler de nombreus es compétences si elle est pratiquée davantage dans les classes. Cet enseignement est mis en avant en France car de nombreuses études ont montré l’importance de l’enseignement de la logique informatique pour la formation des futurs citoyens. En effet, cela permet aux élèves de mieux comprendre le monde technologique dans lequel ils évolueront, mais aussi d’être préparés aux nombreux métiers actuels et futurs qui continueront d’être influencés par le numérique.
Quels outils pour programmer ?
La programmation peut être enseignée sous diverses formes et à l’aide de nombreux outils. Il s’agit d’un domaine qui se développe énormément ces dernières années, en démontrent les nouveaux matériaux de programmation et de robotique programmée commercialisés et accessibles à tous. Cependant, la programmation ne se fait pas systématiquement par le biais d’ordinateur, tablette ou robot. On parle alors d’activités débranchées, lorsqu’il n’y a pas d’utilisation de dispositif informatique, ou de travail branché . Les activités débranchées sont très variées (labyrinthe, rôle de robot, codage de déplacements…), nous allons cependant nous intéresser aux logiciels et aux robots pouvant être utilisés en cycle 3 lors d’activités de programmation branchées.
Les logiciels d’apprentissage de programmation
Tout d’abord, de multiples outils informatiques peuvent être utilisés en programmation, comme les ordinateurs portables, les ordinateurs fixes, les tablettes…
Ensuite, les outils de programmation sont très nombreux. Il existe plusieurs manuels, sites, défis, concours, projets accessibles à tous les enseignants, dans chaque académie. Cependant, peu sont utilisés massivement, puisque les nombres de participants, d’inscrits ou les taux d’engagement sont faibles. Les enseignants semblent souvent préférer se lancer dans des projets recommandés par l’académie dans laquelle ils exercent. Cela permet d’avoir des contacts plus faciles avec les référents des projets. Les outils adaptés sont de plus en plus nombreux et peu vent être intégrés progressivement dans le cursus scolaire des élèves. Il existe des manuels, comme « 1, 2, 3 Codez» de la fondation La main à la pâte, qui permet d’enseigner la programmation à tous les niveaux avec des séances clés en main, ou des concours qui permettent également de travailler en programmation tout en suivant un parcours déjà établi (« concours Castor», du CM1 à la terminale).
Les élèves qui utilisent des logiciels d’apprentissage de la programmation comprennent davantage les concepts et la logique de programmation après leur utilisation, il s’agit de logiciels simples et adaptés à l’âge des élèves. Scratch , logiciel gratuit, a par exemple une extension pour les plus jeunes, Scratch Junior, un logiciel de programmation visuel permettant d’introduire des compétences de codage dès l’âge de 5 ans. Ces logiciels adaptés permettent l’engagement des élèves dans les tâches demandées, ils sont davantage motivés et prennent du plaisir à progress er en programmation.
Transversalité des compétences en programmation
La plupart des compétences acquises à l’école sont transversales, puisque réutilisées dans des situations relevant d’autres disciplines. Certaines compétences sont acquises dans telle matière et sont réutilisables dans telle autre, mais l’inverse peut également être possible. Dans le développement de cette seconde partie sur la transversalité des compétences, nous découvrirons que l’acquisition de compétences transversales peut être faite en programmation ou dans une autre discipline.
Apprentissages transposables en programmation
Comme cela a été développé dans la première partie, la programmation fait appel à des compétences de français, notamment le langage écrit pour réaliser le codage, et le langage oral pour progresser en verbalisant les procédures, en nommant les difficultés et les réussites. En mathématiques, les apprentissages de repérage dans l’espace sont utiles pour avoir une meilleure appréhension lors de l’entrée dans l’enseignement de la programmation (quadrillage, plan, déplacement dans l’espace, description de parcours…). Les notions de géométrie facilitent l’utilisation de logiciels tels qu’AlgoBlocs qui permettent de créer des figures géométriques en codant leurs tracés, ce qui nécessite une connaissance préalable des propriétés. Des compétences de numération sont également engagées, pour se repérer plus facilement dans ces logiciels incluant beaucoup de données numériques. Enfin, la notion d’angle abordée en Grandeurs et Mesures est également importante sur l’interface Scratch, puisque les rotations des personnages sont exprimées en degrés dans les blocs de déplacement.
Compétences travaillées en programmation transposables
La programmation est un enseignement riche et varié qui permet de travailler différents domaines. Tout d’abord, le travail effectué avec les élèves en programmation permet de mieux illustrer certaines notions de technologie. Dans le thème « Matériaux et objets techniques », les élèves doivent approfondir leur connaissance de l’environnement numérique de travail, en comprenant les notions d’algorithme et d’objets programmables, ce qui est facilité par les manipulations faites en programmation. Dans un autre thème de technologie, intitulé « Signal et information », les élèves doivent savoir identifier un signal et une information en découvrant plusieurs types de codage d’information. Les activités faites en programmation peuvent déjà leur donner des exemples concrets d’application de code pour une utilité précise, ici le codage de mouvement pour animer un personnage sur un écran ou un robot. Le code peut être réutilisable dans de nombreuses situations scolaires, mais aussi dans la vie quotidienne de l’élève. Les algorithmes peuvent également être pris comme modèle pour mettre en œuvre des algorithmes de calcul posé pour les différentes opérations apprises à l’école élémentaire . La programmation, toujours grâce à la notion algorithmique, a un rôle essentiel pour la logique de l’élève et sa mise en œuvre dans différentes situations. Pour Piaget (1981), l’algorithme est un outil constitutif de la logique, c’est un langage précis et un outil d’analyse et de codage qui permet de travailler ses compétences d’abstraction et de cohérence dans des situations problématiques. La programmation a, grâce à ce développement de l’esprit logique chez les élèves, des bénéfices en mathématiques, principalement dans la résolution de problèmes. Le codage et l’algorithme peuvent également être des connaissances utiles en éducation musicale, pour aborder les notions de rythmes, de boucles, de carrures, ce que l’on peut observer en mettant en lien des notes combinées ensemble et des algorithmes.
Tout ce que les élèves apprennent en programmation peut probablement être transposable dans toutes les autres disciplines, la programmation n’est d’ailleurs pas une discipline enseignée comme telle. Il s’agit donc bien d’un outil pour réinvestir des compétences relevant des disciplines scolaires, ou au contraire de développer des compétences nouvelles.
Conscientisation de cette transversalité
Pour qu’un élève soit conscient des compétences qu’il acquière, il faut qu’il soit entièrement acteur de ses apprentissages. Les enseignants doivent essayer de rendre les élèves conscients de leur propre processus cognitif, c’est-à-dire d’avoir un recul sur ce qu’il sait, en être conscient. L’enseignant cherche à développer sa capacité de gérer de manière autonome les différentes fonctions métacognitives : savoir comment on mémorise, comment on peut résoudre un problème, comment on contrôle ses émotions.
… Une fois que l’élève sait quelles compétences lui sont acquises, il peut faire appel à ce savoir pour déterminer quelles compétences utiliser dans différentes situations. L’enseignant peut participer à cette conscientisation des savoirs en explicitant bien avec les élèves tout ce qui est appris au cours d’une activité, d’une séance, d’une séquence… Les compétences doivent être explicitées par les élèves eux-mêmes, il faut qu’il y ait une verbalisation. Vergnaud (2011) montre l’importance de la mise en mots pour les élèves. C’est en mettant des mots sur des compétences que les élèves peuvent conscientiser ce qu’ils savent. Ainsi, les élèves auront davantage de facilité à réinvestir leurs savoirs.
PROBLEMATIQUE
Au vu des éléments apportés dans le cadre théorique, nous nous sommes donc questionnés sur comment vérifier la conscientisation des compétences travaillées en programmation et de leur transversalité par les élèves.
La programmation est un enseignement obligatoire de l’école primaire mais elle s’inscrit de façon peu lisible dans un champ disciplinaire défini. Les programmes officiels inscrivent cet enseignement dans le thème « Espace et Géométrie », et en technologie, mais développent très peu les exemples de pratiques en classe.
Cependant, c’est un enseignement qui se développe et paraît être de plus en plus présent dans les pratiques professionnelles puisque des formations pour les professeurs des écoles sont menées, des initiations pour les futurs professeurs des écoles dans les ESPE sont menées également, des intervenants spécialisés pour certains projets de programmation sont appelés dans les écoles, des ouvrages pédagogiques et articles sur la programmation commencent à être de plus en plus disponibles et connus, les outils pratiques et le matériel pour mettre en œuvre en classe cet enseignement se développement également énormément… Nous sommes donc face à un enseignement, la programmation, ayant un cadre institutionnel concernant les attendus et compétences peu défini, qui toutefois semble progresser dans les pratiques enseignantes et tend à l’être de plus en plus dans les années à venir.
Nous avons questionné une vingtaine d’enseignants sur leur façon d’aborder la programmation avec les élèves de cycle 3. Une grande majorité de ces enseignants incluent l’enseignement de la programmation dans leur programmation de géométrie, souvent en fin d’année, durant quelques séances branchées ou débranchées.
Plusieurs enseignants ont admis ne pas faire de programmation dans l’année avec leurs élèves, en estimant ne pas avoir le temps, le matériel , les compétences ou les ressources nécessaires. Trois enseignants font de la programmation avec les élèves de façon détachée des autres matières, avec des activités branchées dédiées à cet enseignement. Lorsque nous leur avons demandé sur quel temps disciplinaire était décompté le temps passé sur ces activités de programmation, ils ont admis ne pas ancrer ce temps dans une discipline précise car il s’agit pour eux d’une initiation, mais qu’ils pourraient justifier ce temps en l’associant à des compétences présentes en « Espace et géométrie ».
Ces échanges avec les enseignants nous ont permis de constater que la programmation peut être un outil au service de compétences mathématiques, mais il s’agit d’un outil qui peut prendre beaucoup de temps. En effet, la familiarisation des élèves, dans un premier temps, aux ordinateurs peut parfois se faire très progressivement dans certains cas où les pratiques des écoles n’y sont pas habituées.
Dans un second temps, la familiarisation au principe même de programmation peut être compliquée pour certains élèves. Il s’agit d’un enseignement qui requière des connaissances lexicales précises (bloc, boucle, code, lutin , script…), des compétences complexes (anticipation, repérage dans l’espace, stratégie…) et une aisance avec l’espace numérique. Les logiciels de programmation sont parfois très riches, à l’instar de Scratch qui présente de nombreuses informations dès l’arrivée sur l’interface initiale, et énormément de possibilités d’action que les élèves découvrent petit à petit. Cependant, il est nécessaire que plusieurs temps d’explication soient faits progressivement avec les élèves sur toutes les possibilités que proposent Scratch pour créer des programmes (lutins, évènements, contrôles, déplacements, sons, paroles, arrière plans…). Durant notre travail de recherche, nous avons remarqué que les élèves jouant aux jeux vidéo chez eux étaient remarquablement à l’aise avec toutes ces possibilités, l’interface semblait leur être plus ergonomique, ils avaient davantage de facilité à naviguer entre tous les onglets des propositions d’actions. Cependant, pour la plupart des élèves, plusieurs séances ont été nécessaires pour découvrir la quasi-intégralité des possibilités de programmation sur Scratch. De ce fait, il est possible qu’une séquence de programmation de quelques séances ne suffise pas aux enseignants pour explorer avec les élèves toutes les offres de Scratch ou d’un autre logiciel. Il existe toutefois plusieurs projets à disposition des professeurs des écoles pour enseigner la programmation avec des outils clés en main. Nous avons choisi d’inscrire notre classe, sur laquelle sera menée l’étude de ce mémoire, à un projet de programmation se tenant sur sept mois. Ce projet est conséquent en termes de temps, puisqu’il dure plusieurs mois et nécessite approximativement une séance de quarantecinq minutes par semaine. Il s’agit donc d’un projet longitudinal qui permet une bonne familiarisation d’un logiciel de programmation pour ensuite développer plusieurs compétences chez les élèves.
La question des compétences peut ainsi être entièrement mise au cœur du questionnement professionnel de l’enseignant, puisque le projet offre des séances clés en main et des objectifs déjà prédéfinis. À travers cette recherche, nous nous intéresserons donc aux compétences travaillées en programmation, mais surtout à la conscientisation de ces dernières par les élèves. Nous souhaiterions savoir ce que les élèves connaissent de leur propre processus cognitif concernant les compétences travaillées dans le cadre des séances de programmation. En outre, nous nous questionnons également sur la capacité des élèves à être conscients que la programmation nécessite l’acquisition de compétences propres à d’autres disciplines, telles que le français ou les mathématiques par exemple. Nous questionnons ainsi les capacités des élèves à conscientiser et transposer leurs compétences. Nous allons donc tenter, à travers cette étude, de répondre à la problématique suivante :
De quelles façons, dans le cadre d’un projet de programmation, rendre conscients les élèves des compétences travaillées et développées et de leur transversalité ?
METHODOLOGIE
Cadre de la recherche
Population
Nous menons notre étude dans l’école primaire publique de Saint Pavace, villagepériurbain appartenant à la circonscription de Le Mans-Coulaines. La municipalité est très investie dans la vie scolaire et beaucoup de moyens sont donnés à l’école. Il s’agit d’une école dans laquelle les enseignants travaillent fortement en équipe, avec de nombreux décloisonnements.
Le numérique est au cœur de l’école, la très grande majorité des enseignants y utilisent énormément les outils numériques à disposition. Ces pratiques se sont intensifiées il y a cinq ans avec l’arrivée d’un ERUN (Enseignant Référent pour les Usages du Numérique) présent un ou deux jours par semaine dans l’école qui apporte de nombreux conseils et outils aux enseignants. L’école a eu plusieurs blogs informatiques, et utilise beaucoup l’interface e-primo , anciennement One. Les enseignants communiquent avec les élèves et les parents dessus, les élèves peuvent également communiquer entre eux et les classes entre elles. Les fonctionnalités pédagogiques y sont nombreuses et sont exploitées dans la majorité des classes (cahiers numériques, blog, pad , cahier de texte…). Plusieurs outils numériques sont à disposition : malles d’ordinateurs, des micros, un robot Thymio…
Nous avons récolté les données de cette recherche dans une classe de CM1 composée de 26 élèves, 13 garçons et 13 filles. Deux professeures se partagent la classe à temps égal. Le niveau de la classe est, comme toutes les classes, hétérogène puisqu’il y a des différences de capacités, connaissances, compétences entre chaque élève. Quelques élèves sont en difficulté en termes d’apprentissages, des aménagements au sein de la classe et en décloisonnement sont effectués.
Tous les élèves de cette classe ont eu, hormis une élève arrivée cette année dans l’école, une initiation à la programmation durant leur parcours scolaire. Depuis la grande section, ces élèves de CM1 ont eu des enseignants effectuant des activités de programmation, branchées ou débranchées au sein de leur classe. Les élèves
n’étaient pas tous dans la même classe l’année dernière, en classe de CE2. Un tiers des élèves se trouvait dans une classe de CE2-CM1 avec l’enseignante titulaire actuelle et ont eu quelques séances de programmation en fin d’année. Les deux autres tiers des élèves étaient avec deux enseignants très proches du numérique dans leur pratique, avec une forte appropriation de l’espace de travail numérique, des expériences sur plusieurs logiciels (Tuxbot, Géotortue, Scratch…) de programmation et des activités effectuées avec le robot. Les élèves ont déjà de fortes affinités avec le logiciel de programmation Scratch et connaissent beaucoup de ses fonctionnalités.
Défi 2+4h kids
Concept
Nous avons inscrit cette classe au défi « 2+4h kids – Chronocode » en début d’année. Ce défi est proposé aux classes de CM1-CM2 de la Sarthe depuis trois ans.
Il est organisé par la DSDEN de la Sarthe, l’ESPE de l’académie de Nantes et le réseau CANOPE. L’objectif général de ce défi, pour les élèves, est de réaliser « un support de communication par l’intermédiaire d’un logiciel de programmation, valorisant le patrimoine historique local et rendant compte des apprentissages réalisés en histoire tout au long de la scolarité » . Il s’agit d’un projet d’initiation à la programmation et à la pensée informatique. Le choix du logiciel de programmation est libre, nous avons choisi d’utiliser Scratch qui était déjà connu des élèves et qui semblait être un logiciel complet et adapté pour effectuer ce défi. Les enseignants sont accompagnés pour mener ce défi en classe par le biais d’animations pédagogiques et d’un espace de mutualisation sur la plateforme de formation continue de l’Education nationale M@gistère.
Les élèves ont pour défi de créer un support de communication valorisant le patrimoine local à l’aide de Scratch. Cette année, le défi a pour thème : « Itinéraire d’un poilu durant la Grande Guerre », les classes devront alors retracer l’itinéraire d’un poilu de leur commune durant la Première Guerre mondiale. Les productions des élèves seront valorisées en étant projetées à l’évènement rencontre 2+4h kids organisé à la CCI du Mans par les organisateurs du défi. Cependant, pour réaliser ce défi final, les élèves vont devoir réaliser en amont différentes missions reçues tout au long de l’année permettant de travailler progressivement différentes compétences en programmation. La production finale fera appel à toutes ces compétences acquises lors des missions.
Technologie
Nous avons mené une séquence de technologie sur le thème « Signal et information » durant la troisième période scolaire. Nous avons défini avec les élèves le signal comme étant un message codé permettant la communication. Les codes communs de communication de la classe étant l’alphabet et la langue française. Dès la première séance, les élèves étaient à l’aise avec la notion de signal et de codage d’informations, certains ont d’ailleurs fait remarquer spontanément le lien avec la programmation à l’oral. Nous avons proposé des situations de codage et d’encodage d’informations (annexe 3) en nous appuyant successivement sur le code binaire, le code morse, le braille ou des codes créés par les élèves. Les élèves ont été nombreux à verbaliser des ressemblances avec des activités de programmation.
Géométrie
Nous avons également proposé des situations d’apprentissage en géométrie pouvant demander une remobilisation de ce qui a été appris en programmation. Il est important de préciser que nous utilisons en classe le terme « coder » pour faire figurer les propriétés des figures par des notations Nous « codons » les angles droits par des carrés rouges, nous « codons » les côtés égaux par deux traits parallèles… Le lexique de la programmation reste donc présent dans cette discipline. Les élèves se sont ensuite vus proposer plusieurs situations d’apprentissages où nous leur avons proposé de réaliser, compléter ou rédiger des programmes de constructions complexes. Les programmes de construction font partie des compétences à acquérir par les élèves, toutefois nous avons pu observer une certaine aisance de la part des élèves pour rédiger ou énoncer ces programmes.
|
Table des matières
INTRODUCTION
CADRE THEORIQUE
I. La programmation au cycle 3
A. Les instructions officielles et la programmation
B. Quels outils pour programmer ?
II. Transversalité des compétences en programmation
A. Apprentissages transposables en programmation
B. Compétences travaillées en programmation transposables
C. Conscientisation de cette transversalité
PROBLEMATIQUE
METHODOLOGIE
I – Cadre de la recherche
A. Population
B. Défi 2+4h kids
C. Transposition
II – Protocole de recueil de données
A. Cadre des entretiens
B. Sélection des participants
RESULTATS
I. Conscientisation des compétences de programmation
A. La verbalisation des compétences
B. La programmation en tant qu’enseignement
II. Transversalité de ces compétences
A. Compétences réinvesties en programmation
B. Réinvestissement des compétences de programmation
C. Prendre conscience d’une possible transposition
DISCUSSION
I. Interprétation et analyse des résultats
A. Transposition
B. Conscientisation
C. Verbalisation
II. Limites de la recherche
CONCLUSION
BIBLIOGRAPHIE
ANNEXES
Télécharger le rapport complet