Python au Lycée, intégré au cours de Maths

Les profs de maths doivent depuis peu montrer aux élèves, de la Seconde à la Terminale, des exemples de programmes en Python, à visée purement mathématique. Ils ont souvent eu une formation déjà ancienne à la programmation dans les premières années du Supérieur, parfois dans un autre langage (Pascal, Java, Scheme, etc).

Cette page est là pour eux, pour les aider. Rien n'empêche bien entendu les lycéens ou leurs parents de s'initier directement ici à la rédaction d'algorithmes simples en Python. Elle n'est pas exhaustive et contient le minimum à savoir - pour eux - afin de construire des exemples et exercices plus axés sur le contenu de leurs cours. Je ne suis plus dans le circuit, mais les échos qui me parviennent font état d'une grande disparité chez les enseignants de lycée. Beaucoup sont enthousiastes et construisent des cours où la programmation est présente et active, les maths se prêtant bien aux calculs sur machine, tout comme la physique ou la biologie. Mais certains font de la résistance, eu égard (avec raison) à la faible offre de formation, masquant parfois des certitudes plus idéologiques du style Les maths n'ont rien à faire avec la programmation. Ils ont tort, la mathématique est plurielle et évolue encore, le savoir et ses modes ne sont pas figés. Les avancées récentes de l'Intelligence Artificielle en sont un exemple pour qui a vu les calculs se cachant dans l'architecture d'un réseau de neurones par exemple... Je ne vais pas batailler là-dessus.

ATTENTION : cette introduction à Python en cours de maths n'a rien à voir avec un cours plus approfondi Numérique et Sciences Informatiques au lycée (NSI, anciennement ISN), avec une épreuve au Bac. La spécialité NSI est conseillée aux futurs bacheliers se dirigeant vers un métier lié à l'informatique (mais il leur est plus que fortement conseillé de prendre en même temps la spécialité MATHS).

Vous voudrez peut-être lire mon papier Sur la Récurrence et la Dichotomie au Lycée publié durant l'été 2021 dans le bulletin Au Fil des Maths de l'APMEP (Association des Professeurs de Mathématiques de l'Enseignement Public).

Matériel pour apprendre à programmer en Python

Mieux vaut travailler sur un ordinateur plutôt que sur une tablette, ou pire un smartphone. Pour les activités d'un lycéen, il me semble que le Python de la maison-mère (python.org) est parfait, avec son éditeur IDLE, minimaliste mais solide car construit par les créateurs de Python. Si vous êtes sous Anaconda (c'est mon cas), IDLE reste accessible au Terminal (commande chez moi /opt/anaconda3/bin/idle3). Le petit estonien Thonny (thonny.org) est sympathique (surtout avec un Raspberry PI sous Linux) mais encore un peu instable chez moi sur MacOS. Si vous avez vos petites habitudes avec un autre environnement Python, pas de souci, il est important d'être confortable avec son logiciel quotidien.

Si vous possédez une calculette TI 83 CE Edition Python, j'ai rédigé une ancienne prise en main. Attention, contrairement au Python sur tablette, celui-ci est limité (notamment au niveau des modules : pas de numpy), il faut en connaître les différences. Par contre, la calculette est munie d'un mode Examen qui la rend autorisée au Bac, et il existe des émulateurs pour Mac, Linux et Windows.

Si vous travaillez sur tablette avec Pydroid 3, vous pouvez consulter cette introduction.

Vous ne trouverez pour l'instant que les socles de Seconde+ et Première+ (juste un poil de plus que ce qui est demandé). Pour la simple raison que leur contenu est quasiment suffisant pour le Bac actuel (2024). Le professeur de Terminale s'en tiendra là et se bornera à programmer en Python avec ce bagage pour illustrer son cours et préparer aux questions de programmation, quitte à introduire de nouveaux types de données comme les ensembles et les dictionnaires par exemple.

Classe Mémento pour le prof Codes du mémento Solutions des exos
Seconde lycee_saison_1.pdf lycee_saison_1.py lycee_saison_1_sols.py
Première lycee_saison_2.pdf lycee_saison_2.py lycee_saison_2_sols.py

Enfin, pour aller plus loin, les solutions de mon livre PAA sont toutes disponibles. La première édition du livre utilise Anaconda sans que cela soit indispensable au niveau lycée, ça le sera plutôt après le Bac. L'édition suivante est en préparation...