XD blog

blog page

initiation à la programmation, python, references, teaching


2013-04-05 Apprendre à coder en Python : illustration

Je suis tombé sur un site très intéressant d'un point de vue pédagogique : PythonTutor. Il permet de représenter visuellement l'exécution pas à pas d'un programme comme celui-ci par exemple qui effectue un tri bulle :

l = [4, 6, 3, -2, 6, 9, 3]
for i in range(0, len(l)) :
    for j in range(0,len(l)-1) :
        if l[j] > l[j+1] :
            a      = l[j+1]
            l[j+1] = l[j]
            l[j]   = a
Le suivant permet de bien visualiser ce que fait Python lorsqu'il interprète une affectation, une copie, un tri :
l = [ [ 0, 1, 2 ], [ 4, 5, 6], [ -1, -2, -3 ] ]
m = l
n = list(l)
n.sort()
L'image qui suit est une copie d'écran du programme dans son état final.

Mais le site propose même de générer du code HTML/javascript pour inclure le programme dans une page HTML :

Le projet est open source et disponible sur github. C'est un pas vers la démocratisation de la programmation. Même s'il paraît difficile de visualiser l'état d'un programme complexe, c'est tout de même un bel effort de pédagogie que d'avoir commencer ce projet.

Dans le même genre, Microsoft a developpé TouchDevelop qui permet de réaliser rapidement une application mobile. Je ne l'ai pas encore essayé mais il ne paraît très compliqué de réaliser une petite application qui réagit à un bouton ou qui affiche une carte. Ecrire un programme restera toujours un travail de longue haleine mais passé les premiers pas, il est difficile de s'arrêter avant d'avoir obtenu ce qu'on voulait vraiment. Ce sont ces premiers pas que cet environnement semble avoir facilités, tout comme Python dont la syntaxe intuitive accélère la lecture d'un programme.


<-- -->

Xavier Dupré