Introduction à LARP

Comme je l'ai expliqué dans l'article Logiciel d'introduction à la programmation Je vais utiliser le logiciel LARP pour faire le lien entre la représentation graphique d'un algorithme et son code source en C.

Dans cet article, je vais présenter mes premiers pas avec ce logiciel.

Hello World!

Comme je suis assez superstitieux en matière de logiciel, je vais exorciser le système en réalisant le classique "Hello World".

Construction

La construction du graphique est très intuitive, il suffit de glisser les différents éléments de la boite à outils sur les points d'insertion du graphique en cours  de réalisation. Ensuite, il faut saisir le contenu des éléments en pseudo-code. L'éditeur du logiciel propose un peu de documentation sur les organigrammes de LARP

Diagramme "Hello World" dans LARP

Exécution

Exécution de "Hello World" dans LARP

Simple, mais efficace! Comme dans tout langage de programmation, une instruction permet l'affichage d'une valeur. Dans ce cas précis, l'instruction est en pseudo-code et donc assez intuitive (Ecrire).
Bien entendu, cet exemple est trop trivial pour juger de l'aspect pédagogique de ce logiciel.

Boucle

Dans ce deuxième exemple, je vais implémenter une boucle "while" qui affiche les valeurs successives d'un compteur (de 1 à 9).

Construction et exécution

Comme précédemment, la construction est très simple. Pour le pseudo-code, j'ai saisi les valeurs d'instinct et c'était la bonne syntaxe. Vraiment très intuitif!
Construction d'un boucle dans LARP

Debugging

Il est possible de lancer l'exécution en mode "pas-à-pas".

  • La console est ouverte pour afficher le résultat
  • l'élément graphique en cours d'exécution est mis en évidence
  • Le contenu des variables est affiché

Mode pas-à-pas

Conclusion

Les deux exemples ci-dessus sont triviaux, mais ils m'ont permis de me faire une idée sur le potentiel de LARP.
Simple et intuitif, le logiciel permet de modéliser les opérations de base facilement. Le mode de debug est très bien fait. Il ressembl, en plus simple, à ce que je suis habitué à voir dans un EDI. La possibilité d'afficher le pseudo-code permettra, je l'espère au novice d'avoir une idée du code à développer à l'aide d'un "vrai" langage de programmation.

C'est donc sans hésitation que je vais utiliser ce logiciel pour montrer à mes élèves les bases de l'algorithmique. Il faut que j'y réfléchisse encore, mais j'hésite presque à leur faire faire toute la partie modélisation avec ce logiciel plutôt qu'en UML avec ArgoUML. Autant je suis convaincu de la nécessité de maîtriser UML dans le monde professionnel, autant je ne suis pas sûr que c'est important pour un débutant.
En tout cas, je suis certain que les concepts sont infiniment plus importants que la symbolique utilisée. Du coup, LARP va m'aider à faire passer les concepts en douceur (je l'espère ;-) ).

Logiciel d’introduction à la programmation

Depuis quelque temps, je suis à la recherche d'un logiciel pédagogique pour faire l'introduction à la programmation en C.

Au cours de mon expérience en tant qu'enseignant en développement logiciel, j'ai eu l'occasion de constater que, dans le cas d'un débutant complet, le lien entre le code source et le logiciel n'est pas évident pour tout le monde. De plus, les progrès sont très lents au début de l'apprentissage du langage, car deux difficultés s'additionnent:

  • Abstraction et algorithmes
  • Syntaxe et sémantique du langage C

Le cours est structuré en fonction de ces deux points. Dans un premier temps, les élèves étudient l'algorithmique à l'aide du diagramme d'activité UML et ensuite, ils commencent à implémenter leurs premières lignes de C. Le problème c'est qu'il y a une rupture entre les deux parties du cours et je "perds" systématiquement quelques élèves.

Algobox

Pour remédier à ce problème, j'avais tenté d'utiliser Algobox pour faire le lien entre les deux parties du cours. L'effet a été très différent de ce que j'espérais. Pour les élèves qui avaient de la facilité, rien n'a changé, par contre ceux que j'espérais aider ont vu le pseudo-code d'alogobox comme un nouveau langage de programmation "presque aussi difficile" d'accès que le C lui-même.

Scratch

En discutant dernièrement avec un collègue, j'ai découvert Scratch. Je l'ai immédiatement étudié et j'arrive aux conclusions suivantes :
Le programme est très bien fait. Il est beaucoup plus ludique qu'algobox et permet, grosso modo, de faire la même chose. Dans mon cas, l'aspect ludique est à double tranchant. D'un côté, le cours s'adresse à des jeunes, c'est donc un avantage. Par contre, l'aspect austère du C va ressortir encore plus si l'introduction est faite avec Scratch. Du plus, l'aspect "troisième langage" est similaire à algobox.

Malgré cela, j'ai de la peine à rejeter complètement l'idée d'utiliser Scratch tant le logiciel est de bonne facture... Peut-être qu'il permettrait de faire une bonne introduction à l'orienté-objet...

LARP

J'ai donc continué ma recherche et je suis tombé sur le logiciel LARP. En plus de l'aspect "pseudo-code" des deux précédents, il permet de créer un diagramme et de le faire "fonctionner". Même si la symbolique est un peu différente de l'UML, le "style" de diagramme est respecté. Comme les deux précédents, LARP a été conçu pour répondre à des besoins pédagogiques. Il permet de construire très rapidement un algorithme simple et d'observer son fonctionnement.

Je vais donc utiliser ce logiciel dans mon cours de C et je publierai dans quelques temps un retour d'expérience sur ce sujet... En attendant, je vais préparer un petit article sur ce logiciel et son fonctionnement.

Ecole des Arches

L'école des Arches prépare, entre autres, des jeunes à la maturité suisse, au baccalauréat international et au CFC d'informatique.

Depuis 2008, je donne des cours sur mandat dans cette école. Tous ces cours sont liés au développement logiciel.

  • Introduction au développement
  • Langages de programmation
    • Java
    • PHP
    • C
  • Modélisation

Cette activité représentait 20% à 25% de mon temps de travail, mais, depuis la rentrée 2012 ce pourcentage va augmenter pour dépasser les 50% et donc, devenir mon activité principale.