bas de page
 

De la programmation visuelle au codage avec PluriAlgo

Patrick Raffinat
 

Résumé
PluriAlgo est un logiciel d'algorithmique pluri-langages que j'ai présenté dans cette revue en novembre 2014. Il est désormais disponible en ligne, avec une documentation améliorée (navigation avec menus, cours d'algorithmique...) et une nouvelle fonctionnalité permettant de passer de la programmation visuelle au codage dans une dizaine de langages.

   PluriAlgo est un logiciel d'algorithmique pluri-langages que j'ai présenté dans cette revue en novembre 2014 [1]. Quelques mois plus tard, j'ai réécrit en Javascript ce logiciel pédagogique initialement programmé en Java.

   PluriAlgo est donc désormais disponible en ligne [2], avec une interface simplifiée et une documentation améliorée (navigation avec menus, intégration d'un cours d'algorithmique...).

   Récemment, en étudiant la documentation du logiciel libre Blockly [3], je me suis demandé s'il serait possible d'automatiser la traduction d'un programme visuel (réalisé avec Blockly) dans la dizaine de langages gérés par PluriAlgo.

   Comme j'ai pu y parvenir, je présente dans cet article cette nouvelle fonctionnalité et explique pourquoi elle me semble utile pédagogiquement.

Motivations

   Il est probable que la programmation visuelle sera bientôt utilisée au collège (ou à l'école primaire quand l'algorithmique y fera son entrée), car c'est une excellente solution pour aborder la programmation avec un jeune public.

   Il est certain que, tôt (au collège) ou tard (au lycée), elle ne suffira pas et qu'il faudra aussi enseigner aux élèves le codage dans un ou plusieurs langages de programmation.

   C'est pourquoi il me paraît important de faciliter le passage de la programmation visuelle au codage. J'y contribue en intégrant dans PluriAlgo un traducteur de programmes Blockly, sans qu'il faille y voir une incitation à utiliser Blockly plutôt que Scratch : si je savais le faire avec Scratch, je le ferais aussi !

Réalisation

   Blockly possède déjà un traducteur en Javascript. PluriAlgo utilise la traduction en Javascript pour coder un programme Blockly dans un nouveau langage, mais c'est transparent pour l'utilisateur qui suit la même procédure que lorsqu'il veut traduire un programme écrit dans un des éditeurs textuels.

Conclusion

   PluriAlgo est souvent catalogué comme étant un logiciel d'algorithmique pour débutants. C'est probablement parce que j'ai écrit plusieurs articles à destination des enseignants de mathématiques de lycée pour qu'ils optimisent le peu de temps dont ils disposent [4] pour enseigner l'algorithmique.

   Mais PluriAlgo est plus ambitieux, avec une vision plus large de l'enseignement de l'algorithmique. A l'origine, c'était d'ailleurs un logiciel que j'utilisais pour gagner du temps dans des modules de première ou deuxième année d'IUT, lorsque je changeais de langages et/ou de concepts à enseigner. Il est notamment possible, lors d'une traduction, de reformuler [5] le programme initial en ajoutant des sous-programmes et même de nouveaux types de données (enregistrements ou classes).

   L'intégration partielle de la programmation visuelle permet de renforcer ce côté couteau-suisse de PluriAlgo, qui peut désormais être utilisé du collège au premier cycle universitaire. L'objectif de PluriAlgo n'est pas de remplacer les logiciels pédagogiques existants, mais de les compléter : en cas de besoin, il suffit que les élèves se connectent à la version en ligne, effectuent quelques manipulations et récupèrent le code ainsi engendré.

   PluriAlgo peut aussi être utilisé, même si ça n'est pas sa vocation, uniquement pour sa documentation qui comporte un petit cours d'algorithmique (avec des exercices corrigés) dont je me sers dans plusieurs cours magistraux en première année d'IUT.

Patrick Raffinat
patrick.raffinat@univ-pau.fr

Cet article est sous licence Creative Commons (selon la juridiction française = Paternité - Pas de Modification). http://creativecommons.org/licenses/by-nd/2.0/fr/

NOTES

[1] « PluriAlgo, un logiciel d'algorithmique pluri-langages pour lycéens  » - P. Raffinat - http://www.epi.asso.fr/revue/articles/a1411d.htm

[2] Pour une présentation synthétique de la version en ligne,
voir http://revue.sesamath.net/spip.php?article703 .

[3] Voir http://code.google.com/p/blockly/

[4] Dans mes divers articles sur la revue MathemaTICE, je pense plus particulièrement à celui intitulé « L'algorithmique en mathématiques au lycée vue d'un IUT » dont une des parties a pour titre « PluriAlgo sous un angle très pragmatique ».
Voir http://revue.sesamath.net/spip.php?article745

[5] Le mécanisme de reformulation est détaillé dans http://revue.sesamath.net/IMG/pdf/ annexe_reformulation.pdf, avec l'ancienne version de PluriAlgo écrite en langage Java.

haut de page
Association EPI
Octobre 2015

Accueil Informatique et TIC Articles