504

Apprendre la programmation par le jeu ; A la découverte du langage Python.

par
Vincent Maille

Ellipses, février 2013.

240 p. en 16,5 x 24. Prix : 19,95 €.

ISBN 978-2-7298-77828.

L’objectif du livre est de faire découvrir la
programmation à travers la construction de
jeux. Il est destiné à des débutants et non à
des professionnels débordant d’imagination
pour mettre au point de nouveaux algorithmes
d’intelligence artificielle ou d’affichage.

Il a été mis au point et expérimenté avec des
élèves de seconde durant l’année 2011-2012 :
les élèves ont découvert progressivement le langage Python durant cinq mois puis ont travaillé
en équipes sur un projet de jeu, en
complétant leurs connaissances au fur et à
mesure de leurs besoins. Ce travail est visible
avec toutes ses ressources et ses codes, à
l’adresse :http://prototheque.free.fr/ellipse/

Le langage Python a été choisi parce qu’il est
clair et puissant, mais surtout parce qu’il est
libre et gratuit. Il est vrai que nombreux sont
aujourd’hui les élèves passionnés de jeux, et
donc a priori motivés par une initiation dans
ce domaine.

Chacun des 16 chapitres énumérés ci-dessous
contient de 2 à 12 énoncés d’exercices,
applications directes du cours, suivis de leur
solution plus ou moins détaillée.
 A Prendre un bon départ (quelques algorithmes).
 B Premiers pas (fonctions Python).
 C Types d’objets (entiers, flottants, booléens)
et modules (math, random).
 D Les chaines de caractères (extraire et transformer,
rechercher et remplacer).
 E Les fichiers (ouverture et fermeture, traitement,
lecture et écriture).
 F Les fonctions (variables locales et globales,
paramètres, commentaires et pseudofonctions).
 G Des fenêtres ! (widgets, Label, Button,
Entry).
 H Gestion des images (Canvas, dessiner,
placer des images, modifier les items).
 I Couleurs, polices et formats d’images (formats
BMP, GIF, JPG et PNG).
 J Gestion du temps (date et heure).
 K Déplacements d’un personnage (rebonds et
collisions).
 L Les listes (opérations, listes d’items,
d’images, de boutons).
 M Gestion du clavier (touches spéciales,
touches multiples).
 N Les listes 2D (motivations et pratique).
 O Gestion de la souris (types d’événements,
changer le curseur, drag & drop).
 P Le son (bruitage, musique de fond, couper
le son).

Les projets proposés, dont le développement
a été le principal travail des élèves une fois
acquis les éléments du langage, sont d’une
grande variété et témoignent d’une créativité
et d’une originalité certaines dans la conception
et les graphismes :

Le juste prix (2 versions), Motus, Pendu (2),
La leçon de piano (2), Les allumettes,
Hungry Birds, Bataille de boules de neige,
La toile, Bulles de savon, Joe&Joey, Attila,
Move it, Bomber.

L’intérêt de ce livre réside dans sa démarche
progressive, motivée par un projet laissant
l’initiative aux élèves et leur permettant d’acquérir
la maîtrise d’un concept quand ils en
ressentent la nécessité pour franchir ou
contourner un obstacle.

L’ouvrage est bien échelonné, le texte est
clair et direct, les exercices très accessibles.

La possibilité d’expérimenter directement sur
la toile donne sans fin au lecteur des possibilités
et des idées nouvelles, et permet de
bénéficier de la couleur.

Je formule toutefois quelques réserves : l’index
final est très insuffisant par rapport à
tous les mots utilisés et en particulier ceux du
langage Python, et ceux qui sont donnés en
bas de page sont mal repérés. Quelques
coquilles, par exemple dans les numéros de
page de la liste des projets, dans la caractérisation
des années non bissextiles p. 21, des
imprécisions sur la règle du jeu, par exemple
dans LE JUSTE PRIX p. 129, le joueur
connaît-il ou non le prix des objets de la page
130 ?

Par ailleurs, on est frappé de l’utilisation dans
les listes ci-dessus d’un vocabulaire mélangeant
anglais, français et néologismes (boutton
p. 219, elif, …), il y a effectivement cinquante
ans qu’on enseigne la programmation
en se permettant ces abus de langage et l’auteur
ne fait que suivre un usage qui ne tient
aucun compte des recommandations de
l’Académie française.

Dans l’apprentissage d’un langage, il faut
développer ses compétences dans deux
domaines : l’écriture en utilisant au mieux
certaines des facilités ou subtilités qu’il offre
pour écrire un programme sans erreur réalisant
dans l’ordre les tâches fixées et la lecture
d’un programme dont l’auteur a, sans
doute, utilisé d’autres possibilités. Il me
semble que l’ouvrage privilégie avec raison
l’acquisition de l’écriture mais quelques exercices de lecture le compléteraient avantageusement.

Ces critiques sont mineures et pourraient être
facilement prises en compte au moins sur la
toile.

Ce qui fait l’intérêt du livre, c’est son expérimentation
par des élèves de seconde dans un
cadre de travail en équipe aboutissant à
l’achèvement d’un projet motivant. Le lecteur
qui souhaite s’approprier le langage Python y
trouvera l’outil nécessaire et pourra contrôler
son savoir en réalisant des images animées et
sonorisées ; le professeur de mathématiques
y puisera des idées pour pratiquer avec ses
élèves une démarche de projet.

L’APMEP

Brochures & Revues
Ressources

Actualités et Informations

Actualités et Informations avec nos partenaires

Base de ressources bibliographiques

Publimath, base de ressources bibliographiques

 

Les Régionales de l’APMEP

les Régionales de l'APMEP