J’ai récemment eu besoin de concevoir un petit programme pour initier des débutants à la programmation, ceci dans le cadre des “journées découvertes” organisées par mon école.
Une introduction à la programmation
Le programme devait respecter les points suivants :
- Il devait être graphique et interactif, afin de permettre de visualiser instantanement les actions du code ;
- Il devait utiliser un langage de haut niveau, afin de ne pas avoir besoin d’introduire de concepts “compliqués” ;
- Il devait être en français afin d’être plus accèssible à tout le monde.
Il a finalement été décidé d’implémenter une version Python du langage LOGO (une tortue qui se déplace à l’écran en suivant des instructions simples).
Python nous a paru un choix évident car c’est un langage de très haut niveau, donc facilement comprehensible par les débutants. Il dispose de plus d’une syntaxe claire et de peu de contraintes de typage.
Le projet
Ce que j’ai réalisé est principalement une interface pour appeler des méthodes graphiques et un “wrapper” qui permet au programmeur de simplement mettre ses instructions dans un fichier sans s’occuper de l’environnement. Un autre avantage de Python ici est de pouvoir lancer le programme avec un interpreteur, et ainsi pouvoir jouer avec le programme de manière interactive.

Les fonctions fournies sont très simples et permettent d’aller en avant, de tourner, de changer la couleur et la taille du pinceau.
Par exemple, il est possible de dessiner un carré avec le code suivant :
avancer(100)
tourner_gauche(90)
Dessiner une spirale est également assez simple, le code suivant change aussi la couleur :
angle = 2
n = 3500
for i in range(n):
# calcule une nouvelle couleur
c = int(i * 255. / n)
changer_couleur((100, c, 50))
# trace la ligne et change légerement l'angle
avancer(2)
tourner_gauche(angle)
angle *= 0.9995
spiral()
Toutes ces instructions sont bien sur également disponible en anglais et il est possible de les traduire via un fichier d’alias dans n’importe quelle langue.
Malgré l’apparente simplicité de ce programme il est possible d’apprendre toutes les notions basiques de programmation, des variables à la récursion. Notre programme pour le petit TP (1h30) que nous organisions était le suivant :
- Qu’est-ce que la programmation ? Pourquoi programmer ?
- Variables
- Fonctions
- Boucles
Le projet est téléchargeable sur GitHub.
Conclusion
Les étudiants ayant participé à ce TP, bien que n’ayant pas ou peu programmé avant, on rapidement réussi à dessiner des formes plus ou moins complexes à l’écran et ont pour la majorité apprécié l’exercice.
Le combo Python/programmation graphique a plutôt bien fonctionné pour une initiation, en espérant que cela ait donné l’envie à certains d’en apprendre plus sur la programmation.




































