Les nouvelles technologies pour l’enseignement des mathématiques
Intégration des TICE dans l’enseignement des mathématiques

MathémaTICE, première revue en ligne destinée à promouvoir les TICE à travers l’enseignement des mathématiques.

Série d’introduction à l’algorithmique pour le Lycée

Pour essayer de répondre aux difficultés des éléves durant les confinements, j’ai mis en place une série d’introduction à la programmation Python pour le Lycée qui couvre, à travers 6 épisodes, les principes de programmation au programme du Lycée (hors spécialité NSI).

Article mis en ligne le 7 juillet 2021
dernière modification le 1er octobre 2021

par Adib BA

N.D.L.R L’auteur de l’article, Adib BA. (c’est un pseudonyme), professeur dans un Lycée à l’étranger, a demandé à la revue de ne pas publier son identité afin de cloisonner ses vies personnelle, sociale et professionnelle.
La revue lui fera suivre d’éventuels courriers arrivés à la suite de la lecture de son article (la rubrique « Réagir à cet article », au bas de la page y suffit pleinement).

Anne Héam a mis l’article sous SPIP.

1. Présentation de la série

Pendant le confinement de mars 2020, les élèves m’ont fait part de leurs difficultés d’apprentissage de l’algorithmique et de la programmation Python ; difficultés accentuées pour certains non seulement par l’enseignement à distance, mais aussi par la discontinuité des moments d’apprentissage, les différences de parcours, la diversité des matières et des approches…

Pour essayer de répondre à ces difficultés, j’ai mis en place une série d’introduction à la programmation Python pour le Lycée qui couvre, à travers 6 épisodes, les principes de programmation au programme du Lycée (hors spécialité NSI).

Chaque épisode introduit une nouvelle notion tout en réinvestissant celles des précédents épisodes et est structuré autour :

  • d’une introduction de la notion
  • d’exemples de mise en œuvre
  • de missions à réaliser par les élèves
  • d’une vidéo avec des explications additionnelles et les corrections

L’ensemble de ces ressources sont accessibles sur le site siteMatheXien

2. Usage avec les différentes classes

J’ai utilisé ces ressources cette année avec mes différentes classes pour :

  • introduire progressivement l’algorithmique et Python aux élèves de seconde ( en mathématiques et en SNT)
  • reprendre les bases avec les élèves de première spécialité mathématiques et les compléter
  • asseoir les fondamentaux de l’algorithmique avec les élèves de 1ère spécialité NSI au début de l’année

Pour mes secondes et ma première spécialité mathématiques, des devoirs, en mode classe inversée, sont planifiés tout au long de l’année.

Les élèves réalisent les activités à la maison et/ou en classe (en demi-groupe), selon les instructions suivantes :

  1. Lire l’activité
  2. Réaliser les missions en programmant sur un environnement de développement :
    • en ligne (notebook fourni, repl.it, pythontutor...)
    • installé sur votre ordinateur (idle de Python, Thonny, Pycharm Community …)
  3. Visionner la vidéo de l’épisode pour plus d’explications et pour la correction

Les devoirs sont aussi accompagnés d’une base de connaissances qui s’enrichit au fur et à mesure par les questions posées par les élèves des différentes classes.

Des séances d’explication/remédiation/approfondissement sont tenues en classe, notamment sur la base des questions posées et de l’analyse des réalisations des élèves.

En parallèle, l’algorithmique au programme des matières est traité en tenant compte de l’avancement de la série de manière à asseoir les bases de la programmation avant d’ utiliser ces compétences pour une finalité purement mathématiques.

Pour mes premières spécialité NSI, l’ensemble des épisodes sont traités en début d’année dans le cadre du premier thème de l’année sur les bases de la programmation.

La série se termine sur un projet : les élèves de NSI doivent programmer un moteur de génération de zellige. Ci-dessous une vidéo compilant les productions des élèves :

3. Outils utilisés

La série peut être traité de manière très souple en fonction des environnements à disposition, et même de manière déconnectée à travers l’impression du pdf.

J’ai utilisé cette année le format notebook en liaison avec une plateforme de gestion de devoirs en ligne.

La format notebook permet d’intégrer à travers un seul document du texte mis en forme, du code, l’exécution d’une cellule de code et le résultat de cette exécution :

Pour chaque épisode :

  • Je crée un devoir sur classroom en y joignant un notebook colaboratory de l’épisode ( avec en rappel les épisodes précédents) et un document partagé « questions ».
  • Chaque élève reçoit sa propre version du notebook et y réalise ses missions.
  • Nous échangeons à travers le document partagé « questions », mais aussi des messages privés du devoir, voir des commentaires directement sur le notebook.
  • En fonction du niveau et des difficultés, nous travaillons en classe pour présenter le concept, répondre aux questions, remédier aux erreurs constatées dans les rendus …

Concernant les environnements de développement, mon approche reste souple et progressive, l’idée étant qu’au départ, cela ne doit pas constituer une difficulté supplémentaire, pour permettre aux élèves de se focaliser sur les concepts de l’épisode et les premiers contacts avec Python.
Nous avons donc utilisé essentiellement le notebook colaboratory et les élèves passent ensuite sur l’IDE de leur choix s’ils le souhaitent ou si besoin (ressources externes, générations de fenêtres graphiques pour les NSI), les rendus restant sur le notebook colaboratory.
Je conseille dans ce cas aux débutants « Thonny » qui permet, je trouve, une prise en main rapide et simple.

4. Retour d’expérience

Les premiers retours sont assez positifs.

Sans surprise, les élèves ont particulièrement apprécié les vidéos, qui ne sont disponibles pour le moment que pour les premiers épisodes. Ils ont donc réclamé la suite …

Cette acquisition au préalable des bases de la programmation a permis d’engager plus sereinement leur mobilisation pour les mathématiques.

L’utilisation d’un devoir en ligne (notebook) a permis de faciliter l’entrée en matière (pas d’installation et peu de difficultés techniques) ainsi que les échanges (conseils, correction, identification des difficultés, questions, base de connaissances...)

La série a permis de marquer des points de repère sur les notions de base de la programmation et d’y revenir facilement lorsqu’elles sont réinvesties, l’ensemble des épisodes étant compilés dans un seul document et étant disponible en ligne.

Bien entendu, le travail en autonomie, malgré tout l’accompagnement, ne remplace en rien les interactions en présentiel et le retour d’expérience de ce projet le confirme une nouvelle fois.

Les séances en classe se sont avérées fondamentales et irremplaçables pour affermir les compétences en se focalisant plus sur les difficultés résiduelles et les approfondissements.

L’investissement a été important, et est loin d’être terminé. Il me semble que, porté dans la durée, il sera bénéfique aux apprentissages des élèves ainsi qu’à ma propre pratique.