Initiation à la programmation avec Python

Par Sylvain, le 13 March 2012

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 :

for i in range(4):
    avancer(100)
    tourner_gauche(90)

Dessiner une spirale est également assez simple, le code suivant change aussi la couleur :

def spiral():
    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 :

  1. Qu’est-ce que la programmation ? Pourquoi programmer ?
  2. Variables
  3. Fonctions
  4. Boucles

Triangles de Sierpinski

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.

Quelques TED Talks à voir (partie 1)

Par Sylvain, le 10 January 2012

Voilà très longtemps que je n’avais rien posté ici, principalement par manque de temps et de motivation.

J’ai donc décidé de sortir ce blog de sa torpeur en vous proposant quelques conférences TED qui m’ont marqué ou que j’ai tout simplement apprécié.

TED, kesako ?

Pour ceux qui ne connaissent pas encore, TED est un événement qui a lieu tous les ans et dont le but est simplement de partager des idées à travers des conférences de maximum 18mn.
Depuis quelques années toutes ces conférences sont accessibles en ligne, sous-titrées et traduites dans de nombreuses langues. C’est donc une formidable source de connaissance et d’inspiration.

Luis von Ahn: Massive-scale online collaboration

L’inventeur de reCAPTCHA nous explique comment il a déjà revolutionné le CAPTCHA ainsi que son nouveau projet pour changer la manière d’apprendre une langue.

Arthur Benjamin et la “mathémagie”

Une impressionante démonstration de calcul mental…

Arthur Benjamin a également écrit un livre où il explique ses techniques de “calcul éclair”, mais croyez-moi, connaître les techniques ne suffit pas !

Adora Svitak: What adults can learn from kids

Ou pourquoi les enfants sont dangeureux (ou pas).

 

C’est tout pour cette première selection, que j’espère assez variée, d’autres à suivre bientôt.

Quelques jours autour de Stellenbosch

Par Sylvain, le 22 June 2011

Il ne nous restait qu’une dizaine de jours avant le grand retour, le moment pour nous de louer une voiture et de profiter une dernière fois de la région et d’explorer tout ce que nous n’avions pas encore vu !

Le temps n’étant pas avec nous pour notre première journée nous avons décidé d’en profiter pour découvrir un peu Franschhoek et ses restaurant.
Il faut dire que la pluie est fréquente pendant l’hiver sud-africain, celui-ci reste néanmoins très agréable et nous avons eu droit à plusieurs belles journées où la température a dépassé les 20-25°C.
Franschhoek donc, est un petit village vers l’intérieur des terres, où l’on trouve une quantité importante de bons restaurants, quelques boutiques et un musée des Huguenots (que nous n’avons pas visité). Nous nous sommes donc contenté d’un excellent repas “Au bon vivant” (nous ne pouvions pas manquer un nom comme celui-ci…).

Le lendemain nous avons pris la direction de Spier, à quelques minutes à peine de Stellenbosch, afin de visiter deux sanctuaires dédiés respectivement aux guépards et aux rapaces (aigles et hiboux).
L’espèce des guépards est classée “vulnérable”, des sanctuaires existent donc pour essayer de les protéger. Les visiteurs peuvent approcher des guépards “ambassadeurs” et les caresser, en échange les revenus générés vont à la protection de l’espèce. Nous avons donc pu toucher l’animal accompagné d’un guide.

Juste à coté se trouvait un sanctuaire pour les rapaces qui se chargent d’éduquer les oiseaux dans le but de pouvoir les remettre en liberté (environ 65% des oiseaux). Dans la cage des chouettes, celles-ci montent sur votre main et vous pouvez les caresser, une bonne expérience.

Une journée à la météo parfaite, le moment pour nous de se rendre de nouveau à Simon’s Town, dans la péninsule du cap de Bonne Espérance.

Je n’en avais pas encore parlé sur ce blog mais nous nous étions déjà rendu là bas en train (ce qui est plutôt long) pour rencontrer les Manchots du Cap. Ces animaux ce sont en effet installé ici et il est possible de leur rendre visite et même de nager à leur coté. C’est quelque chose qu’on ne pouvait pas manquer !

Mais retour à notre journée… Nous avons pris le bateau le matin pour une petite ballade de 2h en direction de l’île aux phoques, petite île qui a été prise d’assaut par ces derniers. On peut parfois y observer des requins en train de manger des phoques, et le trajet nous a permis d’apercevoir quelques baleines.

L’après-midi était dédiée à la découverte du mythique cap de Bonne Espérance, car un voyage au Cap n’est pas complet si l’on a pas fait le chemin jusqu’à la pointe !

Après un nouveau jour de pluie nous nous sommes finalement rendus au Cap pour une petite ballade sur la Table Mountain et la visite des jardins de Kirstenbosch.
La Table Mountain est l’une des montagne qui surplombe la ville du Cap, nommée ainsi car son sommet est un plateau totalement plat. Elle offre une vue magnifique sur toute la région. Pour y accéder deux solutions : un téléphérique qui amène directement jusqu’à son sommet (1075m d’altitude) ou la marche (2h de chemins assez raides). Une fois en haut il est possible de faire le tour du plateau en environ 2h.

L’après-midi nous avons visité le jardin botanique de Kirstenbosch. Au pied de la Table Mountain ce jardin est l’un des plus grand du monde et offre une très belle promenade entre les plantes.

Enfin, notre petit tour de la région s’est conclu par une séance de dégustation de vins à Constantia, le plus ancien producteur de vin d’Afrique du Sud, histoire de tester l’un des meilleurs vins de la région et d’acheter quelques bouteilles.

Voila donc pour cette petite exploration de la région.
Il ne nous reste plus que quelques jours en Afrique du Sud, quelques jours pour dire aurevoir à ce merveilleux pays et préparer un retour en France qui ne sera pas forcement facile après un tel séjour…

Je posterai très bientôt un article pour résumer mon expérience durant ces 6 mois.

All along the garden route…

Par Sylvain, le 26 March 2011

Cela faisait un petit moment que je n’avais rien posté ici, il est donc grand temps de donner quelques nouvelles des derniers événements !

La première partie de notre semestre s’étant achevée par une semaine de contrôles, nous avons eu droit à un peu de vacances. Nous avons donc profité pour planifier un petit road trip le long de la route des jardins, réputée pour être un des endroits les plus jolis d’Afrique du Sud.

Nous avons donc loué une voiture et sommes partis de Stellenbosch, le long de la N2, en direction de port Elizabeth.

Après quelques 5h de routes nous arrivions à notre première étape : Mossel Bay. Rien d’extraordinaire en soi, mais tout de même une jolie plage et une ville bien placée pour notre étape du lendemain.

Nous avons pu dormir dans un train réaménagé en bordure de plage.

Nous sommes donc partis le lendemain en direction du Tsitsikamma National Park, l’une des nombreuses réserves naturelles traversée par la garden route.
Notre premier arrêt fût pour observer les singes de Monkeyland et les oiseaux de Birds of Eden.

Monkeyland est un espace fermé, dans lequel vivent 9 espèces différentes de singes qui sont ici chez eux. La visite s’effectue donc avec un guide et permet de voir de prêt la plupart des espèces présentes dans le parc.

Pour ce qui est de Birds of Eden, c’est une sorte de volière gigantesque dans laquelle on trouve toute sorte d’espèces d’oiseaux. La visite s’effectue librement et on peut prendre le temps d’observer.

Nous avons ensuite repris la route en direction de la réserve pour prendre possession de nos quartiers du jour (de petites huttes dans la forêt) et profiter de la plage voisine.

Un petit déjeuner improvisé puis nous partions à la rencontre du Bloukrans Bridge. Ce pont abrite le saut à l’élastique le plus haut du monde (216 mètres) et nous ne pouvions donc pas passer à coté de cette occasion unique. Les moins craintifs d’entre nous se sont donc risqués à l’expérience.

Assez d’émotions pour la journée : un bon repas et direction d’autres huttes que nous avions réservées pour le soir !

Le lendemain nous attendait une petite randonnée dans le Tsitsikamma jusqu’à une petite cascade. L’occasion d’admirer la côte et de tester les sentiers sud-africains.

Après ce petit aller-retour (environ 3h de marche) nous avons pris la route vers Port Elizabeth, le port le plus important du pays. Malheureusement rien de très intéressant à voir là-bas, et après une nuit dans un Formule 1 nous avons tout de même visité le Red Location Museum : un musé sur les township au milieu des township.

Nous avons ensuite continué en direction du Addo Elephant Park, notre dernière étape.
Nous avions réservé pour la nuit un chalet en haut des arbres, sans doute le meilleur hébergement du séjour : un chalet très grand, des hôtes accueillant et un environnement plutôt sympathique.

Après un pneu crevé (disons déchiqueté), c’est affamés que nous sommes arrivés là-bas et après avoir réussi à trouver un semblant de repas nous avons profité de la piscine pour terminer la journée.

Le lendemain matin nous avons eu droit à un petit déjeuner copieux et bon (encore une fois le meilleur du séjour) avant de nous rendre au Addo Elephant National Park.

Le Addo est une réserve naturelle au nord de Port Elizabeth dans laquelle on trouve en liberté éléphants, buffles, zèbres, kudus, lions et autres animaux de la savane… La visite se fait en voiture sur les différentes pistes du parc et permet d’observer un bon nombre de ces animaux.
Les éléphants ont ici la priorité et certains sont passés à quelques centimètres seulement de notre voiture.

Après cette journée dans le parc nous sommes retournés à Port Elizabeth pour une dernière nuit dans un backpackers (une sorte d’auberge de jeunesse). Le lendemain il était déjà l’heure de rentrer et c’est donc après une dernière journée de route que s’est achevé notre périple le long de la garden route.

Au final, on peut dire que notre voyage aura été bien rempli et qu’il nous à permis de découvrir un peu mieux l’Afrique du Sud.

Pourtant, que la montagne est belle…

Par Sylvain, le 4 February 2011

Cela faisait déjà 2 semaines qu’elle nous narguait, nous nous devions de réagir.
Nous avons donc décidé de relever le défi, et de gravir l’une des montagnes entourant la ville.

Après l’achat d’une bonne paire de chaussure de rando (parce que quand même, c’est mieux) et de quelques bouteilles d’eau, nous sommes finalement partis un matin aux environ de 7h.

De la résidence elle ne parait pas si grande...

Après un petit échauffement de 40mn pour rejoindre le pied de la montagne, nous avons commencé l’ascension.

Au pied de la montagne.

Nous avons donc suivi le seul sentier disponible : un chemin caillouteux et attaquant la montagne de front, directement.

Ca monte mine de rien...

Rencontre avec un lièvre.

Nous sommes finalement parvenus au sommet après environ 2h de marche épuisante sous le soleil.

Au sommet.

Ensuite, il ne nous restait plus qu’à redescendre.