Bandeau
APMEP Île-de-France
de la maternelle à l’université

Site de la Régionale APMEP Île-de-France

Initiation à Python en 3e
Article mis en ligne le 19 mars 2018
dernière modification le 13 mars 2018

par Laure Harel

Au collège Albert Camus de La Norville, la programmation en langage Python est expérimentée depuis deux années dans plusieurs classes en complément de Scratch.

Les exercices de programmation sont initiés sur des micros ordinateurs de la marque RaspberryPi, appelés AstroPi, ordinateurs qui sont également installés dans la station spatiale dans le cadre d’un concours européen de programmation à destination des élèves. Ces micro-ordinateurs, munis de nombreux capteurs (humidité, pression, température, gyroscope) sont aussi équipés d’un pavé de 64 LED. L’ensemble est appelé le SenseHat.

La programmation en langage Python nécessite une grande rigueur : une parenthèse oubliée, un espace en trop et le programme ne fonctionne pas. La première séance qui est proposée aux élèves consiste à élaborer un dessin devant être affiché sur le pavé LED. Dans un premier temps, les élèves vont se voir donner un dessin simple pour lequel ils vont identifier les coordonnées de chaque pixel ainsi que sa couleur (R/G/B).

Une fois de travail de préparation fini, ils entrent sur le logiciel IDLE3 (qui permet d’élaborer le programme Python), ou via l’émulateur sense-hat, les couleurs en identifiant leurs composantes R/G/B. Puis avec la commande sense.set_pixels, programment alors un tableau identifiant chaque pixel.

Après cette 1re manipulation, les élèves poursuivent la séance en programmant un dessin qu’ils inventent eux même. Ils introduisent alors autant de couleurs que souhaitées puis se lancent dans la programmation de différents dessins. Assez rapidement, ils se rendent également compte de la difficulté de programmer un dessin sur 64 pixels uniquement.

Les séances qui suivent consistent à utiliser cette fois-ci les capteurs. Ainsi par le biais des commandes sense.get_humidity(), sense.get_temperature(), sense.get_pressure() associées à la commande print, il font afficher les température, humidité et pression instantanée. Associés à la commande int, ils en font une troncature. La commande sense.show_message() permet quant à elle de voir ces informations défiler sur la pavé LED. Cette séance donne suite à d’autres qui permettent de calculer les moyennes. La notion de variable est alors introduite, ainsi que les boucles.

Il y a alors un cap important que les élèves doivent passer : l’élaboration d’un algorithme. Les raisonnements mathématiques et la logique sont souvent mis à mal et l’enseignant doit alors apporter une aide importante pour aider les élèves notamment sur l’importance de l’ordre des commandes ou la mise en place de variables.

Dans le collège Albert Camus, la classe de 3eE a été inscrite pour cette année au challenge de programmation européen AstroPi ; cela a nécessité plusieurs séances de démarrage avec Python avant décembre puis une heure en demi-groupe par semaine au mois de janvier.

Une première phase a consisté à réfléchir à une idée de programme qui pourrait ensuite être testé dans la station spatiale. Ainsi, 5 équipes (de 5/6 élèves chacune) ont réfléchi à des idées de programmes différents.

Voici les idées de chaque équipe :

  • équipe Dresseur2Python : programme visant à prendre des photos via la caméra infrarouge de l’astroPi installé contre un hublot de la station spatiale, analyser les pixels et reconnaître les zones terre/mer
  • équipe HeroSpace : enregistrement du champ magnétique et détection des phases de reboost
  • équipe AstroBerry : utilisation des joysticks pour afficher les constantes (température, humidité ) et alarmes
  • équipe AstroPython : détection d’éventuelles anomalies, des phases de re-pressurisation et de réajustement de l’humidité de l’air
  • équipe AstroTeam : élaboration d’un jeu qui permettrait de tester les réflexes en apesanteur

Courant novembre, les projets ont été étudiés par un jury et les projets des 4 premières équipes ont été retenus.

Les séances qui ont suivi ont permis aux élèves de se lancer dans la réalisation de leurs programmes. L’étude des constantes enregistrées dans la station spatiale leur ont permis de trouver les seuils pour déclencher les alertes.

Ainsi, les équipes AstroBerry et AstroPython ont utilisé les capteurs du SenseHat pour analyser les variations d’humidité, de température et de pression. Pour l’équipe HeroSpace, il s’agissait d’enregistrer le champ magnétique (pour cela, la formule de la norme leur a été donnée). Il leur fallait également observer les variations d’altitude de la station spatiale.

Pour l’équipe Herospace, il a fallu dans un premier temps utiliser la caméra de l’AstroPi pour prendre des photos et élaborer un programme permettant d’analyser les composantes R/G/B de chaque pixel. Ensuite, la caméra infrarouge a été placée pour se rendre compte de l’évaluation de ces composantes selon que l’image serait la prise de photo d’une zone Terre ou mer.

Quant à l’équipe AstroTeam non retenue, elle a pu se lancer dans l’élaboration de « morceaux » de programmes correspondant aux projets de tous leurs camarades.

Aussi, fin février, les programmes de chaque équipe ont dû être envoyés pour être étudiés par un jury et, le 20 février, les résultats des programmes retenus en Europe ont été publiés. Parmi les 212 programmes reçus, 114 d’entre eux ont été sélectionnés et c’est avec une grande joie que le collège Albert Camus a appris que les programmes des 4 équipes avaient été sélectionnés.

Mais le challenge ne s’arrête pas là. Les programmes donnent tous lieu à des enregistrements qui vont désormais devoir être étudiés. Les analyses des résultats devront être envoyées au jury pour clore le challenge.

Après la phase Programmation, les élèves vont donc pouvoir aborder la phase Gestion de Données.

La phase de programmation du challenge AstroPi désormais finie, d’autres classes de 5e et 3e du collège vont s’initier également à Python via les AstroPi. Ils aborderont la même phase de préparation que la 3eE du challenge (à savoir dessins et programmes simples visant à calculer des moyennes).

 

article suivant



retour au sommaire

Les Chantiers de Pédagogie Mathématique n°176 mars 2018
La Régionale Île-de-France APMEP, 26 rue Duméril, 75013 PARIS