Introduction au langage Python au collège publié le 09/09/2015  - mis à jour le 03/01/2019

Pyzo

Liens avec les nouveaux programmes

Dans les projets des nouveaux programmes du collège, une grande place est laissée à la programmation.

Voici un extrait des projets du cycle 4 (p.36) :

programmes_algo

Vous pouvez consulter l’intégralité de ces projets ici :

 Projets de programmes pour l’école élémentaire et le collège

Voici donc quelques pistes d’activités.

Amener les élèves d’une classe entière à coder n’est pas une chose facile. "A quoi ça sert ?", "c’est trop dur !" sont des phrases régulièrement entendues en cours de Mathématiques.

Les élèves ont souvent envie de réaliser des programmes très compliqués sans passer par les étapes nécessaires à l’apprentissage. Le jeu et le défi cognitif sont des outils indispensables dans la motivation des élèves.

Pour commencer à programmer en douceur, de nombreux jeux existent. Par exemples Light Bot, Studio Code ...

Voir ces exemples :
 Découvrir des algorithmes en s’amusant

Scratch permet aussi une approche moins austère de la programmation. Ce langage, structuré par bloc, apporte aux élèves une vision plus légère des notions de déplacements, d’instructions conditionnelles, de boucles... sans être bloqué par la syntaxe. Une question se pose alors, peut-on rester dans un langage si éloigné de celui de la machine ?

Quoi qu’il en soit, Scratch permet une introduction simple et ludique aux bases de la programmation.

Dans cet article nous allons donner quelques pistes pour inciter les élèves à taper et modifier des lignes de codes et aussi des idées d’activités en lien avec les programmes de mathématiques au collège.

Pour programmer en Python (en Java, en C++...), il faut un éditeur de codes et un interpréteur. Plusieurs solutions sont envisageables, comme celle qui consiste à éditer les codes sur un bloc-notes ou un notepad puis installer Python sur la machine. Cependant, il est possible de simplifier l’édition de codes en ayant recours à l’environnement "Pyzo".

Pyzo

Pyzo est un environnement de programmation open-source basé sur Python. Pour l’installer, il suffit d’extraire un dossier. Éditeur et interpréteur sont inclus. Cet environnement est donc transportable (sur clé USB par exemple) ce qui permet aux élèves intéressés de l’obtenir facilement chez eux.

 Télécharger Pyzo (éditeur + interpréteur)

Si vous ne savez pas quelle version prendre, choisissez la version pyzo_distro-20XXX.win32.exe. Un double clic sur le fichier une fois le téléchargement terminé vous permettra d’installer facilement l’ensemble de l’environnement.

Attention ! Pyzo a changé depuis peu. L’éditeur est maintenant séparé de l’environnement Python. Il vous faudra donc l’installer en deux temps.

 Télécharger des versions plus récentes de Pyzo et de Miniconda

Pour plus d’informations ou savoir comment changer les couleurs de l’éditeur, rendez-vous sur le site Tableaux Maths

 


Premiers pas

pawn

Voici une première activité qui a très bien fonctionné dans différentes classes de la cinquième à la troisième.

Premiers pas (HTML de 203.9 ko)

Introduction au langage Python au collège.

À première vue, le programme semble très compliqué et les élèves qui essayent de lire ce code ne comprennent pas grand chose. Pourtant, certains mots attirent leurs regards : "Up", "Down", "red"...

C’est en exécutant ce programme qu’ils découvrent une balle rouge et assez rapidement, des élèves utilisent les flèches du clavier pour faire bouger cette balle. Les informations circulent rapidement dans la classe. Cette balle ne se déplace pas correctement ; il faut échanger certains mots dans le code... Ensuite, les élèves ayant réussi à corriger ce programme vont plus loin, ils changent la couleur et la taille de la balle, la couleur du fond, la vitesse de déplacement. Certains vont même jusqu’à créer une seconde balle (qui ne bouge pas) et modifier les touches du clavier ...

Le fait de corriger et d’améliorer un programme d’apparence très complexe permet de susciter énormément d’envie et de fierté chez l’élève. Beaucoup d’entre eux en redemandent. Certains se voient déjà dans la création d’un jeu vidéo.

 


Une autre idée

Voici une seconde activité qui a très bien fonctionné dans différentes classes de la cinquième à la troisième.

Nombre mystere (HTML de 201.7 ko)

Introduction au langage Python au collège.

Le but est de commencer une légère traduction d’un programme. Dans le code précédent, on utilisait une interface graphique renforçant ainsi l’aspect ludique de la programmation. Cependant, ce mode rend plus compliqué la compréhension des notions de base en algorithmie.

Cette fois-ci, l’élève utilise le "shell" de l’éditeur pour dialoguer avec l’ordinateur (il n’y a pas d’interface graphique). L’utilisateur doit découvrir le nombre mystère.

 


Variables et opérations

  • Tester les opérations, les priorités, créer un programme de calcul, tester des égalités...

Un exemple d’introduction en cinquième au calcul littéral (avec la possibilité d’inclure ces notions dans un problème contextualisé) :

Afficher un resultat (HTML de 201.5 ko)

Introduction au langage Python au collège.

Les operations (HTML de 192.2 ko)

Introduction au langage Python au collège.

Les variables (HTML de 202 ko)

Introduction au langage Python au collège.

Tester une égalite (HTML de 204.8 ko)

Introduction au langage Python au collège.

 Tester une égalité avec Python

Les instructions conditionnelles

  • Nombre mystère, code secret, programme de calcul mental, calculatrice, réciproque du théorème de Pythagore ...

Voici une introduction aux instructions conditionnelles proposée en classe de cinquième :

Instructions conditionnelles (HTML de 207.7 ko)

Introduction au langage Python au collège.

Le deuxième programme offre la possibilité aux élèves de créer une petite calculatrice (non graphique). Le problème de la division par zéro intervient.

 Les tests if et else

Il reste encore à découvrir :

  • les boucles ;
  • dessiner avec une interface graphique ;
  • déplacer des objets, gérer les collisions ;
  • créer des applications graphiques (boutons, champs de saisie, labels...).

Pour de nombreux exemples utilisant une interface graphique, vous pouvez regarder ce site :
 Introduction au langage de programmation Python 3