Vous êtes ici  :   Accueil > Ressources par cycle ou p... > Cycle 4
Connectez-vous

Cycle 4

Publié le 12 mai 2019 Modifié le : 14 sept. 2023

Écrire à l'auteur

Le  dimanche 12 mai 2019

De la programmation en Physique-Chimie au collège

Expérimentations de Marjorie Diana, professeure au collège Alphonse Daudet à Istres

  • Programmation au collège

    De la programmation en Physique-Chimie au collège

     

    Propos introductifs

     

    La réforme du collège de 2016 a permis l’essor de l’enseignement de l’algorithmique et de (l’initiation à) la programmation pour les élèves de cycles 3 et 4 en démocratisant essentiellement la programmation dite par blocs. Les domaines transversaux du socle et la dynamique de projets (EPI etc…) a rendu totalement perméable l’appropriation de ces outils dans de nombreuses disciplines notamment la Physique-Chimie. Sur le plan de l’apprentissage, cette dernière présente majoritairement deux entrées : l’une est qualitative, basée sur la compréhension de faits expérimentaux ; l’autre est quantitative, articulée sur l’exploitation des mesures et des calculs liés aux phénomènes observés. Cet aspect bilatéral peut ainsi tirer profit de l’apport de l’algorithmique et de la programmation dans lesquels les procédés mis en œuvre occupent un espace pédagogique intéressant à exploiter en gardant tout de même à l’esprit les difficultés de nature didactique possibles...

     

    Depuis plusieurs années, on peut observer l’avènement des cartes à microcontrôleur qui sont facilement programmables, peu coûteuses et qui possèdent des entrées-sorties ouvrant de nombreuses perspectives dans l’enseignement de la Physique-Chimie. Il faut souligner que la diversité des kits de prototypage hardware disponibles engendre, en amont, une réflexion approfondie de l’utilisateur quant au choix de la solution à adopter.

    Parallèlement, lorsqu’on se penche sur les outils numériques utilisés par les élèves, force est de constater que la programmation par blocs, comme celle déployée avec le logiciel Scratch©, est simple à appréhender et son utilisation, assez répandue, permet une rapide appropriation pour un bon nombre de personnes (enseignants compris). Ce type de programmation constitue une bonne approche (syntaxe facile, vision globale…) et il est même possible de l’exploiter avec les cartes à μcontrôleur évoquées précédemment.

    Toutefois, les « blocs dans les blocs » complexifient rapidement certaines applications, pourtant rudimentaires, alors que quelques lignes de codes pourraient simplifier efficacement leur compréhension. De plus, lorsque l’on regarde les nouveaux programmes de Physique-Chimie au lycée général et au lycée professionnel, on constate l’arrivée de l’utilisation d’un langage de programmation (Python© étant « conseillé ») dès la Seconde ce qui amène à une attention particulière sur la continuité du parcours de l'élève. La voie professionnelle n’est pas en reste avec des nouveautés pour la rentrée 2019 où le module électricité est abordé de manière transversale avec une entrée par les capteurs ce qui laisse envisager l'utilisation de cartes à μcontrôleur.

    Marjo01

     

    Il semble donc intéressant de préparer au mieux les élèves du collège à cette évolution de façon à ce qu’il n’y ait pas une « marche » trop importante à franchir lors de leur accès au lycée.

    Partant de ce constat, j’ai tenté de mener, à une très petite échelle, quelques recherches pour intégrer au mieux la pensée algorithmique et surtout la programmation dans des séquences spécifiques tout en étant, bien sûr, en accord avec le respect des textes en vigueur. Les programmes du collège en Physique-Chimie et les domaines du socle offrent des opportunités pour les élèves dans le développement de la démarche scientifique et dans l’acquisition de compétences. La création d'applications numériques peut ainsi donner un sens entre la dimension langagière et la validation en algorithmique.

    En y regardant de plus près, certaines thématiques comme « des signaux pour observer et communiquer » sont même propices pour mener les élèves à une pensée algorithmique construite en adéquation avec les étapes mêmes de la démarche scientifique. Ceci est d’autant plus intéressant qu’elle s’éloigne d’une utilisation « presse-bouton » et/ou trop protocolaire comme l’on peut parfois le rencontrer lors de l’emploi de l’ExAO.

     

     

    Le cadre

     

    Gardant à l’esprit que le numérique modifie la manière d’apprendre, de comprendre mais aussi l’activité des élèves (sans oublier la posture que l’on peut avoir en tant qu’enseignant(e)), j’ai décidé de porter une attention particulière sur l’accompagnement des élèves dans la compréhension des mécanismes fondamentaux liés à la programmation et notamment le code. Si ce dernier permet de représenter l’information sous différentes formes (des nombres, des caractères, des données multimédia, etc…), il est fondamental de comprendre son intérêt dans les mécanismes permettant la production de l'information, son stockage, son transport, son traitement, son exploitation et son utilité dans l’enseignement de la Physique-Chimie. Pour des élèves de collège, il est également essentiel de travailler avec un environnement accessible qui, au passage, puisse rester en concordance avec l’attendu de fin de cycle 4 du thème « Algorithmique et programmation » qui est : écrire, mettre au point et exécuter un programme simple…

    Ainsi, en premier lieu, j’ai fait le choix de travailler avec du matériel de prêt mis à disposition par la société TI qui présente des particularités intéressantes. Le TI-Innovator© (carte à microcontrôleurs), entouré d’un boîtier de protection durable pour un usage facilité en classe, comporte nativement différents capteurs inclus (une DEL RVB, une DEL rouge, un capteur de niveau de lumière et un haut-parleur intégré) mais aussi de multiples ports (grove, I2C, ...) et connecteurs.

    Marjo02

     

    Couplée à une unité nomade TI-83CE, la solution est autonome sur bien des points à commencer par son absence de branchement à une prise électrique et elle reste peu encombrante ce qui est très utile lors d’expérimentations en Physique-Chimie.

    De plus, cela me permet de travailler sur un langage très facile (le TI-BASIC) et conciliant (souplesse de la gestion des erreurs) tout en gardant en vue l’idée de réaliser un lexique transposable à un autre langage en l’occurrence Python (If, else, for, while, etc.). Le but est de mener une réflexion sur l’acquisition d’un lexique utile articulé autour de la démarche scientifique et de donner une dimension applicative notamment lors de la réalisation d’expériences.

     

    Anaconda

     

    Dans un second temps, pour compléter cette idée de lexique, j’ai amené les élèves à faire le parallèle en utilisant directement le langage Python. Pour être exploité et développé aisément, celui-ci nécessite un environnement (interpéteur, éditeur…) et il en existe beaucoup ! J’ai porté mon choix sur la distribution libre Anaconda© qui a la particularité d’être très complète. Il a fallu, bien entendu, faire une demande pour que la suite soit installée sur les postes.

    Au passage, il faut souligner l’intérêt pour l'enseignant(e) de profiter de Jupyter Notebook (ou lab), inclus dans la suite Anaconda permettant de créer des documents interactifs composés de codes Python exécutables, de textes formatés (Markdown, HTML et LaTeX) et de graphiques. 

    Quoi qu’il en soit, avec les diverses solutions (TI, Anaconda…), les situations proposées doivent permettre aux élèves de construire des compétences d’analyse, de raisonnement et de regard critique sans oublier la prise d’initiative, d’autonomie et de créativité.

    Lorsque l’on consulte les résultats aux tests PISA, on apprend que nos élèves ont peur de mal faire et il est donc essentiel de briser ce rapport à l’erreur. Fort heureusement la discipline Physique-Chimie permet de travailler en ce sens. La pratique des essais-erreurs contribue à développer l’autonomie et l’inventivité des élèves dans le cadre des démarches d’investigation. 

    Dans cette optique, il faut différencier au maximum les contenus, les usages et les processus pour permettre aux élèves de se situer dans la zone proximale de développement (ZPD). La démarche doit tirer parti de l’évolution du développement des compétences des élèves au travers du fil des connaissances acquises.

    Pour cela, une progression avec un niveau croissant a été élaborée s’appuyant essentiellement sur des démarches diversifiées basées sur le socioconstructivisme en ne perdant pas de vue les objectifs d’apprentissages visés. 

     

     

    Expérimentations

     

    Comme j’ai pu l’évoquer précédemment, la partie « des signaux pour observer et communiquer » peut constituer une bonne entrée en matière, c’est pourquoi j’ai choisi de commencer par cette thématique. Tout d’abord, j’ai souhaité introduire qualitativement certaines caractéristiques des sons (notion d’aigu ou de grave…) avec une approche réfléchie autour de la compétence « passer d’une forme de langage scientifique à une autre ». L’activité propose aux élèves de produire un son à partir du matériel à disposition et d’une commande dédiée. Ladite commande comporte une syntaxe qui permet de fixer la fréquence du son à émettre et sa durée.

     

    En voici un exemple : Send("SET SOUND 988 TIME 2")

     

    Dans ce cas-là, il s’agit de produire un « Si4 » (arrondi au hertz près) pour une durée de 2 secondes.

    J’évoquais précédemment la facilité du langage TI-BASIC qui permet d’«accepter» quelques libertés d’écriture puisque l’on obtient la même chose avec les commandes suivantes :

     

    Send("SET SOUND 988 2")

    Send("SET SOUND 988 TIME 2

     

    Cette particularité permet aux élèves d’avoir un rendu immédiat, ce qui est appréciable et donne de la fluidité dans la séquence de cours mais il est tout de même nécessaire de revenir sur les erreurs en question pour travailler la rigueur de l’écriture avec eux.

    Ensuite, les élèves sont amenés à modifier les paramètres avec des valeurs de leur choix et à observer les résultats obtenus. On décide alors de s’intéresser au son produit pour une fréquence donnée et de fixer la durée. La répétition systématique de l’opération entraine les élèves à se poser la question sur la possibilité de la simplifier ou même de l’automatiser. Cette petite activité permet de définir une variable d’entrée (ici la fréquence) puis une boucle (While) pour aboutir à l’élaboration d’un programme simple. J’accompagne les élèves dans leur utilisation de l’outil en jouant le rôle de traductrice (« tant que… » <-> « While… ») en sachant que l’étayage ne doit pas se faire trop rapidement sous peine de devenir un désétayage !

     

    On obtient ainsi un programme tout simple :

     

    While 1               : engendre une boucle infinie

    Prompt F            : permet de choisir une valeur

     

    Marjo03 

    Marjo21 

     

    Les différents essais permettent aux élèves de proposer certaines conclusions comme le fait qu’un son aigu se caractérise par une fréquence « élevée » ou qu’un son grave se caractérise par une fréquence « faible » et que les sons audibles semblent avoir une plage de fréquences définie. À noter que la conception de ce type d’application rudimentaire révèle un phénomène étonnant qui réside dans la satisfaction des élèves de produire un objet (numérique !).

    Cet objet pourra même être adapté voir personnalisé selon les remarques et les propositions des élèves. Ceux-ci peuvent demander spontanément des ajouts permettant d’agrémenter leur programme. Par exemple, il est alors possible de substituer la commande « Prompt », permettant le choix de la valeur à entrer, par « Input ».

     

    En utilisant :  Input "FREQUENCE:",F

     

    On obtient :

     

     Marjo04

     

    Ce genre de maniement contribue à vulgariser le langage employé. On remarquera ici la correspondance aisée avec le langage Python…

     

    D’un point de vue de l’apprentissage à la programmation, j’ai pu apprécier tout l’intérêt d’articuler le « langage » comme vecteur de communication autour des objectifs à atteindre d’autant plus que la différenciation s’orchestre très naturellement.

     

    Ensuite, pour asseoir la compréhension de la boucle « While » qui permet de répéter les mêmes instructions plusieurs fois, les élèves sont amenés, dans le cadre d’un EPI (Enseignement Pratique Interdisciplinaire) lié à l’art interactif, à créer un télémètre.

    Marjo05

    Ranger avec connectique grove

     

    L’intérêt est aussi de favoriser une pédagogie active en apportant une réponse à la situation problème sans occulter les différentes étapes qui conduisent à sa compréhension. Un focus sur l’acquisition de la compétence « Concevoir et réaliser un dispositif de mesure ou d’observation » (domaine 4 & 5) est clairement visé.

    Du point de vue de la programmation, on affiche cette fois-ci une variable en sortie (valeur de la distance mesurée) ce qui permet de distinguer les variables d’entrée et de sortie ainsi que celles qu’il est possible de déclarer.

    Il est à noter que cela s’inscrit dans une progression spiralaire et le télémètre réalisé sera notamment réutilisé dans la partie « mouvements et interactions ».

    Une phase d’institutionnalisation spécifique au domaine numérique semble pertinente. Elle permet pour les élèves de garder une trace et un suivi du travail effectué en mettant en relief ce qu’ils ont appris. De plus, cette phase est nécessaire pour que les élèves soient « outillés » pour les futures séances. Attention toutefois, il est nécessaire de veiller à structurer rigoureusement l’organisation et l’exploitation de ce domaine pour ne pas parasiter la structure propre du cours de Physique-Chimie.

    Par la suite, et toujours dans une optique de continuité, je propose une tâche complexe dont une partie amène les élèves à créer un « mini-piano ». Avant toutes choses, il est légitime de se poser la question de l’intérêt de cette réalisation par rapport au programme en place et à ses objectifs de fin de cycle. En fait, en plus de produire un objet scientifique ludique utile à une expérience dont l’acquisition permet d’atteindre lesdits objectifs, il est intéressant de se pencher sur la mobilisation des compétences développées chez les élèves telles que : « mobiliser des outils numériques (domaine 2) » et « s’approprier des outils et des méthodes (domaine 2) » dont un des items est d’ailleurs : « utiliser des outils numériques pour mutualiser des informations sur un sujet scientifique ».

    Bien sûr, en toile de fond, il y a aussi l’idée de donner une construction progressive à l’action de l’apprentissage à la programmation qui constitue justement un élément de l’étude que je mène.

    Pour ce qui est du déroulement, il s’agit d’attribuer à chaque touche de la machine à calculer une note de musique pour obtenir un clavier rudimentaire. En voici une illustration sommaire :

     

    Marjo06             Marjo07

     

    On le dit souvent : « complexe ne veut pas dire difficile » et la tâche complexe, qui va mobiliser diverses ressources (internes et externes), prend tout son sens en favorisant efficacement l’autonomie des élèves mais aussi en mobilisant le travail sur la différenciation à mettre en place. Dans cette optique-là, la démarche réflexive concernant la préparation du cours entraine une gymnastique de l’esprit sur les différentes approches possibles.

    Pour évoquer l’une d’entre elles, j’ai mis à disposition une ressource comprenant le programme complet permettant de jouer une seule note de musique. L’élève peut ainsi agir sur le programme en lui-même pour changer les paramètres qui lui semblent utiles et nécessaires de modifier.

    D’aucuns pourraient dire qu’il peut s’agir de « bidouiller » un programme existant ; pour ma part, j’y vois une appropriation par l’essai d’éléments pourtant peu faciles à conceptualiser. À cela, cette approche peut aussi éviter la leucosélophobie dont souffrent certains élèves…

     

    Pour la note « Do », on peut proposer :

    Marjo08

      

    Du point de vue du code, on introduit intuitivement les structures conditionnelles avec « if…then ». Même si le TI-BASIC offre certaines libertés, un point sur la rigueur de l’écriture est fortement recommandé pour préparer au mieux les élèves à la maitrise des langages informatiques notamment en termes de syntaxe (Python oblige). Si l’on fait un parallèle avec les idiomes de Python, on comprendra l’importance de cette précision avec l’obligation de l’indentation lorsque la ligne précédente se termine par le symbole ":" (c’est le cas pour toutes les structures du même type) en sachant que toutes les lignes indentées ne seront exécutées que si la condition du « if » est vérifiée. Je reviendrai sur ces points par la suite lorsque j’évoquerai la partie traitant du langage Python…

     

    Une fois notre instrument réalisé, à l’aide d’un système de type ExAO, les élèves doivent faire l’acquisition du son généré par une note de leur choix pour visualiser la représentation du signal afin d’en mesurer la période et d’en déduire la formule permettant de retrouver la fréquence (définie initialement par l’élève).

     

    Marjo09

     

    L’intérêt est double car il permet de travailler sur différentes caractéristiques d’un son et de confronter la fréquence « rentrée » dans le programme avec celle mesurée à partir de la sinusoïde relevée. Le degré de maitrise est évalué sur la compétence intitulée « mesurer des grandeurs physiques de manière directe ou indirecte » (pratiquer des démarches scientifiques/domaine 4).

    Avec les classes de SEGPA, j’ai pu proposer cette séance sous forme de « challenge » : des groupes devaient retrouver le plus rapidement possible les fréquences choisies par les autres groupes et vice-versa.

     Marjo10

     

    On pourra soulever la facilité d’utilisation de ces outils numériques qui demeurent fiables et couplés directement à la présentation des résultats issus d’expériences dont le suivi de la mesure pourrait, pourtant, s’avérer difficile.

     

    Une bascule sur une autre séance autour de l’usage de l’ExAO (mais n’utilisant pas l’algorithmique) s’ensuit. Une situation déclenchante mettant en scène le phénomène d’écho aboutira à une mesure de la vitesse du son dans l’air.

     

    En effet, les élèves reproduisent les conditions qui vont permettre de comprendre ce phénomène en établissant directement une relation de cause à effet entre des faits observables et une explication.

     

    Sans rentrer dans le contenu détaillé de cette séance, voici quelques illustrations qui s’y rapportent : 

     Marjo11

    Marjo12

       

    Cette séance a pu générer du feedback de la part des élèves sur ce qui a été fait précédemment sur l’initiation à la programmation. En effet, sans remettre en question l’intérêt de l’ExAO et sa facilité d’utilisation, certains ont émis la volonté de pouvoir agir sur les actions à mener et être davantage acteur dans la construction des manipulations ce qui m’a encouragée à remodeler quelques situations à venir pour y introduire du code. J’en profite pour stipuler que cette action de régulation a pu se faire à plusieurs (nombreuses) reprises sur l’ensemble des situations et en fonction des spécificités des diverses classes.

     

    La dernière partie testée se situe de nouveau dans le cadre de l’EPI lié à l’art interactif en ayant pour but de réaliser une mini-station ludique « sons et lumières » fortement inspirée de ce qui se faisait lors des concerts de Jean-Michel Jarre pour ne pas le citer.

     

    Là encore la présentation est sous la forme d’une tâche complexe. À ce stade, la difficulté réside sur une différenciation réfléchie visant la ZPD des élèves pour éviter qu’ils se retrouvent soit dans une zone trop difficile ne leur permettant pas de se mobiliser ou soit dans une zone trop facile n’engendrant pas d’apprentissage.

     

    Pour revenir sur le contenu même, un des objectifs pour les élèves est de produire des notes de musique différentes selon la distance où se situent les mains au-dessus des capteurs « ranger » mais aussi d’émettre un signal lumineux de couleur différente selon les notes jouées.

    En s’inspirant de la pratique des essais-erreurs et conformément à l’approche soulevée dans les séances précédentes, les élèves disposent, parmi les ressources, de programmes d’appui.

    Par exemple, ils peuvent disposer de celui-ci :

    Marjo13 

     

    Petite précision qui peut sembler évidente mais, lorsque la ressource utilisée par les élèves est un programme, ils disposent du fichier numérique sans le descriptif présent dans l’illustration ci-dessus. C’est à eux de modifier, changer, effacer, transformer, rechercher les éléments de leur choix et de découvrir les conséquences qui s’y rapportent.

    Cette partie qui regroupe les points abordés précédemment m’a également servi à évaluer l’acquisition des notions faite par les élèves pour proposer entre autres des modules de remédiation ou d’approfondissement.

     

    Il faut noter que cette partie, par son côté ludique, a vraiment plu à la majorité des classes notamment par la richesse des possibilités offertes ainsi que leur prolongement. Cependant, il est fondamental de ne pas perdre en compte la question qui est : « qu’est-ce que les élèves ont retenus ? » et qui pourrait être occultée par celle qui est : « qu’est-ce que les élèves ont fait ? » (Propice à ce type de séance). La restitution doit forcément être mise en relief et clarifiée pour les élèves.

     

    QUID du passage à Python ?

     

    Comme cela a été mentionné précédemment, la conception d’un lexique avec son interprétation a été construit au fil des séquences avec les élèves. Dans les faits, contrairement à ce que l’on pourrait croire de manière intuitive, cela est très facile à développer avec eux notamment en ce qui concerne la compréhension associée aux différents éléments utilisés.

    La difficulté réside plutôt dans la conception du programme en lui-même et aux syntaxes propres avec les spécificités du langage en l’occurrence Python (indentation…). Selon moi, les pratiques en Physique-Chimie permettent justement de travailler sur cette difficulté car elles démystifient les idées préconçues rapportées au code lui-même toujours en déployant ces notions d’essais-erreurs.

    À cela, il est important de signaler que Python s’inscrit complètement dans cet esprit-là puisqu’il s’agit d’un langage interprété. Pour faire simple, cela signifie que les lignes du code sont exécutées successivement sans tenir compte des suivantes ce qui présente l’avantage de repérer une erreur et surtout de facilement la situer.

     

    Toujours dans l’idée d’être au mieux dans la continuité du parcours de l’élève, il est intéressant de se tourner vers les mathématiques, qui mobilisent l’algorithmique et la programmation de manière conséquente, pour proposer aux élèves des éléments de langage commun.

    Attention, cela n’a pas pour but d’uniformiser les démarches et il faut bien garder à l’esprit que la didactique des mathématiques n’est pas celle de la Physique-Chimie ni même celle de l’algorithmique.

    D’ailleurs, en lisant le document sur Eduscol « Ressources pour le lycée en Mathématiques – Algorithmique et programmation » de juin 2017, on découvre que l’utilisation des fonctions est mise en avant et que les notions d’entrées-sorties ne sont pas développées car, je cite, elles ne relèvent pas de la pensée algorithmique.

    Pour comprendre cette démarche, utilisons un exemple simpliste en considérant un programme qui calcule le poids P défini par la relation : avec P en newtons (N), m la masse en kilogrammes (kg) et g l’intensité de pesanteur en newtons par kilogramme (N/kg).

     

    Avec la notion d’entrée-sortie, on pourrait écrire :

    Marjo14 

    En utilisant une fonction, on pourrait écrire :

     Marjo15

     

    À la deuxième ligne, on n’a pas commencé à écrire au début de la ligne : il s’agit de l’indentation. En règle générale, le bloc d’instructions qui dépend d’une ligne terminée par « : » doit être indenté.

    À noter que, comme son nom l’indique, return permet de renvoyer le résultat d’une fonction. On pourrait très bien remplacer return par print dans ce programme mais on n’obtiendrait qu’un affichage du résultat. Dans ce cas précis, j’expliciterai la différence par la suite.

     

    En exécutant le programme et en tapant sur la console poids(58) :

     

    Marjo16

     

     

    En faisant un léger descriptif, le premier programme restera bloqué en attendant l'entrée de la masse pour continuer ce qui correspond à un usage unique (même s’il est, bien sûr, possible de le relancer). Généralement les élèves arrivent à trouver une parade à cela, par exemple, en utilisant la boucle while.

    Le deuxième, lui, étant défini comme une fonction, pourra calculer le poids, dans la console interactive, autant de fois que nécessaire. De même, il sera possible de faire des statistiques sur les valeurs du poids calculées, de représenter graphiquement la fonction « poids(masse) » et bien d’autres choses à vocation essentiellement mathématiques. Là où le bât blesse c’est que l’on perd souvent la notion des unités utilisées mais aussi l’intérêt même des entrées-sorties qui permettent, pour les élèves, suivant les situations, de clairement identifier les grandeurs physiques voire même tout simplement les afficher. 

     

    C’est pourquoi, et cela n’engage que moi, les deux pistes doivent cohabiter en Physique-Chimie ! (et puis, ne privons pas nos élèves du célèbre print("Hello World")).

    Il suffira donc de faire comprendre aux élèves la distinction entre la valeur renvoyée par un algorithme (la sortie de l'algorithme) et un résultat (ou un message) affiché par un programme informatique dans un but de faire le choix le plus judicieux.

     

    Ceci étant dit, revenons aux expérimentations menées avec les élèves. Comme précédemment, la pédagogie employée est basée sur le socioconstructivisme en alternant les phases individuelles et collectives mais un ajustement a dû être opéré sur certaines situations déclenchantes pour satisfaire un suivi cohérent de l’apprentissage de l’algorithmique et de la programmation (sans occulter les prérogatives du programme de Physique-Chimie).

    Sans rentrer dans le contenu détaillé, je ne présenterai qu’une de ces situations qui vise clairement cet apprentissage. La progression annuelle donnant la cadence, les élèves ont abordé à nouveau la partie sur l’énergie et ses conversions mais aussi un travail mené au collège sur l’ASSR mettant en avant la sécurité routière.

    Les compétences visées sont essentiellement axées autour de « Pratiquer des démarches scientifiques », « S’approprier des outils et des méthodes », « Pratiquer des langages » et « Mobiliser des outils numériques » mais ne sont pas forcément évaluées au même moment. En effet, pour plus de transparence, les élèves sont informés des critères d’évaluation et des observables liés à une (ou plus) compétence détaillée de la grille des programmes afin de travailler avec eux sur leur progression.

     

    Voici donc une illustration d’une partie qui correspond à la thématique évoquée :

     Marjo17

     

    L’articulation est faite encore sous forme d’une tâche complexe où les élèves s’approprient dans un premier temps les informations utiles (distance d’arrêt, de freinage etc…) pour ensuite proposer un protocole en vue de répondre à la problématique.

     

    Pour les échanges, il leur est demandé d’expliquer les différences à prendre en compte selon l'état de la route (mouillée ou non). Cette étape permet aux élèves de travailler la pensée algorithmique et peut aboutir à l’élaboration d’une représentation quelconque (langage naturel, algorigrammes…) en accord avec la situation de départ. Pour ce qui est des algorigrammes, je tiens à préciser que j’accepte (et valide) tout type de schématisation permettant de comprendre la démarche même si, de mon côté, je leur présente des modèles conforme à la norme ISO 5807.

     

    La mutualisation étant faite, les élèves peuvent alors disposer d’un fichier (ici .py) regroupant différentes fonctions permettant de répondre, ou pas, à la problématique. C’est un autre avantage de travailler avec la programmation fonctionnelle en offrant la possibilité de proposer différentes fonctions dans un même fichier. Ils font des tests afin de faire correspondre leur démarche à une fonction qu’ils auront choisie.

     Marjo18

      

     Bien entendu, les essais sont effectués dans la console interactive avec diverses vitesses (en km/h).

     Marjo19

    Cette approche leur permet de confronter les résultats entre eux, de valoriser différentes méthodes et même de modifier les diverses fonctions à disposition à partir de l’éditeur s’ils le souhaitent.

    Du côté de l’enseignant(e), la différenciation peut se faire facilement et naturellement au regard des possibilités disponibles. 

    Par la suite, lors d’une phase individuelle, les élèves doivent commenter et décrire leur choix à partir du lexique pour ensuite faire une mutualisation avec l’ensemble de la classe.

    Il est intéressant de leur montrer qu’en programmation divers chemins peuvent être exploités et qu’ils relèvent d’une démarche en particulier.

     

    D’ailleurs, dans l’exemple, on remarquera que la fonction Da2(vitesse) est peu probable d’être proposée en amont par nos collégiens. En effet, la tâche complexe du départ et ses grains de contenu influencent fortement le mécanisme même de la pensée algorithmique. Le fait de donner la formule de la distance de freinage en fonction de la vitesse, sur route mouillée ou non, « cloisonne » quelque peu l’information et orientera donc les élèves.

     

    Marjo20

     

    Il est par conséquent fondamental de leur donner la possibilité de revenir sur la construction de l’algorithme de départ en donnant la possibilité d’ouvrir le champ des possibles.

     

    Quoiqu’il en soit, il ne s’agit que d’une illustration parmi d’autres qui offre, certes, la possibilité aux élèves de ne pas partir de la « feuille banche » et qui rend très accessible l’utilisation et la mobilisation de l’outil mis à disposition.

     

    Cependant, il faut veiller à ne pas généraliser cette démarche qui est, somme toute, très intéressante pour diversifier au maximum les approches qui seront pensées en fonction des objectifs à atteindre des séquences d’enseignement.

     

    Pour finir

     

    Cette petite expérimentation m’a permis d’avoir un regard réflexif sur la démarche engagée et de m’interroger sur les points qui pouvaient être saillants. Ces mêmes points constituent des indicateurs variés tels que peuvent être les effets sur les élèves, l’adéquation des outils mobilisés, les conséquences sur les pratiques, la pérennité et bien d’autres !

     

    Même si l'échantillon de l’expérience n’est pas suffisant pour en faire une vraie évaluation et une étude poussée, les différents retours et échanges générés me permettent de faire d’ores et déjà une régulation de mes pratiques et de prendre du recul en termes d’apprentissage pour tous les élèves dont j’ai la responsabilité. Quoi qu’il en soit, tout ce que j’ai pu mener m’encourage à continuer dans ce sens pour passer au crible les possibilités offertes par l’abord de l’algorithmique et surtout de la programmation en Physique-Chimie au collège. Actuellement, beaucoup pensent que l’entrée par la pensée algorithmique constitue la direction à adopter mais, même si cela reste pertinent, je ne suis pas sûre que cela soit la seule à prendre et il faut être vigilant à ce que cette voie n’occulte pas les autres…

    L’appropriation des notions de programmation par la pratique d’essais-erreurs à partir de séquences de code préétablies, notamment par des élèves à Besoins Éducatifs Particuliers (BEP), m’amène à me pencher plus en détail sur les « manipulations numériques » à proposer aux collégiens. 

     

    Enfin, selon moi, l’idéal serait de pousser la réflexion en réalisant une étude plus approfondie sur la didactique associée. Évidemment, il faudrait la mettre en lien avec un appui sur des travaux de recherche pour se baser sur des références (et non des préférences !). Malheureusement, même s’il existe de nombreux retours d’expériences concernant les usages du numérique (et ceci, avec un spectre large !), les travaux sur les didactiques adaptées à ces usages ne sont pas légion…

     

     

    MD