Accueil : Mathématiques

article TraAM 2017-2018 : De Scratch à Python, il n’y a qu’un pas     -    publié le 24/05/2018

• Caractéristiques du scénario

- Thématique

Découvrir le langage Python

- Niveau concerné

Fin de cycle 4

- Compétences mobilisées

CHERCHER-RAISONNER

- Problématique

Comment passer du langage de l’interface Scratch au langage Python ?

• Déroulement du scénario

Cette expérimentation s’est déroulée dans des classes de 4e (car je n’avais pas de classe de 3ème, sinon il semblerait plus pertinent de proposer les activités en classe de 3e) en séance d’accompagnement personnalisé en demi-groupe classe, sur une heure.

J’ai choisi d’utiliser Edupython pour une utilisation en collège car je trouvais que le logiciel est simple d’installation et d’utilisation pour des élèves de collège.

De plus, j’ai choisi d’utiliser l’interface Sofuspy développée par l’IREM de la Réunion pour pouvoir passer d’un langage par blocs, Blockly (proche de Scratch) à celui de Python.

capture de l'interface Sofuspy
un document fiche élève : AP- De scratch à Python, il n’y a qu’un pas ! (PDF de 664.3 ko)

fiche élève : AP- De scratch à Python, il n’y a qu’un pas !

- Première activité proposée : tracé de figures géométriques

Cette première activité permettait de découvrir l’interface Sofuspy et de découvrir le langage Python, à travers des programmes simples car déjà pratiqués par les élèves à plusieurs reprises : tracé d’un carré, tracé d’un rectangle.

Les élèves ont rapidement établi les caractéristiques de ce langage : en anglais, la présentation du script, ils ont également demander à quoi servait la ligne from import tortue

Ils ont ensuite dû modifier le script pour réaliser le tracé d’un rectangle.
Ils ont su faire ce script assez rapidement sans trop de difficultés. Certains élèves n’avaient pas pensé à modifier le nombre de répétition, mais avec un coups de pouce pour aider à formuler le nombre de fois que l’on doit répéter les actions, les élèves ont su se corriger.

- Deuxième activité proposée : programmes de calculs

Nous avions déjà travaillé sur les programmes de calculs, donc cette activité cherchait à réactiver les automatismes à travers des programmes assez simples, pour les réinvestir avec le langage Python.

- Troisième activité proposée : petit programme avec instructions conditionnelles

Cette troisième activité a permis de retravailler les instructions conditionnelles et d’élaborer un premier programme plus complexe en langage Python.
Les premiers bugs sont apparus lors de cette activité liés à la syntaxe : majuscule ou minuscule (Réponse ou réponse) , oubli des deux points après else (else :), le double égal == …
Le passage par scratch avant de passer sur Python à faciliter le transfert concernant l’architecture du script.

production d'un élève (activité : mot de passe)
production d'un élève (activité : mot de passe) en Python

• Bilan de l’expérimentation

Suite à cette expérimentation, j’ai pu constater la difficulté de gestion des bugs liés à des erreurs de syntaxe que l’on ne rencontre pas avec Scratch, au collège.

Les élèves ont su assez vite utiliser le langage Python, malgré quelques erreurs de syntaxe : oubli des deux points : ou erreur de majuscules ou minuscules, grâce au lien entre le programme en langage par blocs vers le langage Python.

Cependant, suite à cette expérimentation et à la lecture de certains articles produits par les autres académies participant aux TraAM 2017-2018, il me semble intéressant de proposer aux élèves un exemple de certains programmes réalisés en classe, en langage de l’interface Scratch mais aussi en langage Python, pour les familiariser sur ce langage.
La réécriture de programmes déjà faits peut aider les élèves à intégrer la syntaxe au début de l’apprentissage de ce langage. Au collège, l’utilisation des instructions "input" et "print" peut permettre d’aider à la correction de bugs éventuels et tester les programmes créés.

Contact
Accessibilité
Mentions légales
RSS
Académie de Poitiers, Rectorat, 22 rue Guillaume VII le Troubadour BP 625 86022 Poitiers Cedex