Introduction ============ Contexte -------- Dans le cadre de la réforme du lycée, les nouveaux programmes de physique-chimie mis en place à la rentrée 2019 introduisent un nouveau challenge pour la discipline, à savoir **proposer des activités qui impliquent les élèves dans la programmation et le codage**. Ces termes sont à comprendre en un sens très large : le codage peut consister à écrire complètement le programme (le langage Python est préconisé), mais peut également se limiter à l’adaptation d’un code existant, en modifiant les paramètres expérimentaux par exemple ou la précision attendue des résultats. Les enseignants de physique-chimie sont déjà impliqués depuis près de trente ans dans les usages pédagogiques du numérique, d’une part dans le traitement et l’acquisition de données expérimentales, certains dans la modélisation ou la simulation, et tous, dans l’utilisation de supports multimédia ou de logiciels dédiés pour préparer et animer leurs cours. L’idée nouvelle est de **donner du sens à la modélisation** d’un phénomène ou d’une loi, et que le logiciel utilisé ne soit pas simplement une « boîte noire », dont l’élève ne connait ni le fonctionnement intrinsèque, ni les hypothèses, ni les limites. Objectifs --------- L’introduction raisonnée et limitée de la programmation dans les programmes de physique-chimie a deux objectifs majeurs: - Donner une **image actualisée de l’activité des scientifiques**, non seulement dans les études supérieures mais aussi dans de nombreux métiers. - Apporter une plus-value dans les apprentissages, en développant les **compétences clés de la démarche scientifique** : raisonnement logique, capacité d’analyse par décomposition d’un problème complexe, distinction entre paramètres et variables, validation d’un modèle avec ou sans ajustement nécessaire, etc. Mise en œuvre ------------- Pour celui qui n’a jamais programmé, ou qui a de vagues souvenirs de ses études, un **accompagnement** est nécessaire, et c’est ce que propose ce guide. Il débute avec l’installation du logiciel Python, qui envisage plusieurs environnements possibles selon les contextes d’établissement ; il explique les bases de la programmation, passe en revue les différentes fonctions du logiciel Python, **avec des exemples systématiquement empruntés à la physique-chimie**. Puis il propose des activités en relation directe avec les programmes de seconde et de première (voir capacités exigibles ci-dessous). Enfin il fournit un mémento, sur la syntaxe Python et sur le notebook Jupyter, pour que le professeur ait accès directement et rapidement à des éléments clés de la programmation, lorsqu’il prépare son cours. Capacités exigibles - Représenter les positions successives d’un système modélisé par un point, lors d’une évolution unidimensionnelle ou bidimensionnelle (2de) - Représenter des vecteurs vitesse d’un système modélisé par un point, lors d’un mouvement (2de) - Représenter un nuage de points associé à la caractéristique d’un dipôle, et modéliser la caractéristique de ce dipôle (2de) - Déterminer la composition de l’état final d’un système siège d’une transformation chimique totale (1ère générale) - Étudier la relation approchée entre la variation du vecteur vitesse d’un système modélisé par un point matériel entre deux instants voisins et la somme des forces appliquées sur celui-ci (1ère générale) - Effectuer le bilan énergétique d’un système en mouvement (1ère générale) - Représenter un signal périodique et illustrer l’influence de ses caractéristiques (période, amplitude) sur sa représentation (1ère générale) - Simuler la propagation d’une onde périodique (1ère générale) Réserves et perspectives ------------------------ Les objectifs du programme se veulent restreints, l’accent est mis sur la **plus-value** que la programmation peut apporter en termes **d’apprentissage et d’assimilation de notions de physique-chimie**. Le but n’est pas de développer les compétences en codage des élèves, mais plutôt de s’appuyer sur les acquis de la formation qu’ils reçoivent par ailleurs, dans le cadre d’enseignements spécifiques ou au sein de certaines disciplines. Le recours à des tableurs ou à des logiciels de géométrie dynamique peut également conduire à des activités que l’on peut considérer comme de la programmation si l’élève conçoit lui-même de façon algorithmique, l’organisation des calculs ou la succession des opérations à réaliser. Ce guide ne se veut pas exhaustif ni modélisant, c’est une aide pour démarrer avec Python. De nombreuses ressources existent sur le web, notamment des MOOC très bien conçus, pour aller plus loin. Chaque enseignant pourra, selon ses goûts et affinités, approfondir avec le temps, pour lui ou avec ses élèves, toutes les possibilités de mise en œuvre de la programmation dans son enseignement.