Comparaison de quelques logiciels pour l’algorithmique au lycée.

Publié le 04 avril 2011 par Flallemand

L’exemple est très simple et très classique : il s’agit de simuler un grand nombre de fois le lancer de deux dés, de calculer la somme des deux nombres obtenus et de compter la fréquence d’apparition de la somme 7, afin d’approcher la probabilité d’obtenir une somme égale à 7.

La programmation de cet algorithme avec les logiciels les plus souvent rencontrés pour l’algorithmique au lycée montre les points forts et les points faibles des différents outils utilisés.

Je laisse le lecteur observer les copies d’écran et se faire un avis …

J’ai choisi pour ce test d’essayer : Algobox, Scratch, Linotte, Xcas, Python, Scilab et une calculatrice TI84.

On trouvera en fin d’article des liens vers les sites de chacun de ces logiciels (tous libres) et les fichiers à télécharger.

Avec une TI 84

La calculatrice est un outil dont il ne faut pas se priver car les élèves l’ont toujours avec eux. Cependant, la programmation sur calculatrice est un peu lourde et il faut jongler avec les touches et les menus. La vitesse d’exécution est lente pour les boucles.

Avec Algobox

Algobox a été créé pour enseigner l’algorithmique au lycée et il est très couramment utilisé par les professeurs de seconde depuis la rentrée 2010. C’est un logiciel très fermé et il n’y a pas de syntaxe à retenir. En fait, il y en a quand même dans la traduction de certains calculs. Par exemple, pour calculer , on tapera « pow(x,3) ».

Je trouve qu’Algobox peut être avantageux en début d’année pour rentrer dans l’algorithmique, mais devient vite trop lourd à manipuler pour des algorithmes plus élaborés.

Avec Scratch

Je n’ai jamais utilisé Scratch avec mes élèves. L’interface est amusante et la présentation de l’algorithme par blocs emboîtés favorise la compréhension de son exécution. Malheureusement, le nombre de commandes mathématiques est faible, et, d’un point de vue pratique, l’écriture du programme est vite fastidieuse (il faut faire glisser chaque bloc et remplir les cases une à une).

Avec Linotte

Linotte est pour moi une découverte toute récente. Je trouve l’idée originale et enthousiasmante.  Le code est entièrement en français et présenté sous forme de phrases simples et intuitives. Cependant, le générateur de nombre aléatoire n’est pas pratique à utiliser, ce qui pose problème dans l’exemple choisi. Ici, on gagne en légèreté au niveau de l’entrée du programme : il s’agit d’un simple éditeur de texte, avec indentation et coloration syntaxique automatique. On a à disposition d’un simple clic tous les mots-clefs nécessaires.


Version 1 : sans sous-programme (moins clair pour les élèves)

Version 2 : avec sous programme (plus clair à mon avis)

Avec Xcas

Xcas est toujours le meilleur et le pire des logiciels. En attendant une nouvelle interface, il n’est pas très facile à utiliser. Au niveau algorithmique, j’apprécie beaucoup les commandes en français et la simplicité de saisie. Malheureusement, Xcas est pointilleux avec les points virgules.

Avec Python

Python a beaucoup d’avantages, le code est court et limpide. On a une coloration syntaxique et une indentation automatiques. Les variables n’ont pas à être déclarées. Par contre, la syntaxe pour les boucles FOR n’est pas très parlante pour nous autres francophones. Je regrette la nécessité d’importer un module externe par la commande « import » pour accéder au générateur de nombres aléatoires. Ce sont des complications supplémentaires pour l’élève (et son professeur !). Il faut aussi faire attention à la version installée. La plus récente (Python 3) n’est pas compatible avec la précédente (Python 2.7).

Avec Scilab

J’ai utilisé Scilab muni du module « Lycée » qui, une fois installé, fourni quelques commandes complémentaires spécialement conçues pour l’enseignement de l’algorithmique au lycée. Le code est limpide, court, avec coloration syntaxique et indentations automatiques. Scilab n’est pas pointilleux : ici, pas de problème de point virgule oublié. Les variables n’ont pas à être déclarées.

Avec la fonction « tirage_entier », on peut même se passer de boucle (ce qui rend l’exécution particulièrement rapide).

Conclusion

Voilà donc, très succinctement, et sur un exemple particulier, quelques remarques sur ces logiciels. Le lecteur aura compris que ma préférence se porte sur Scilab, mais aucun des autres choix n’est « mauvais » a priori. A chacun de tester et de choisir en fonction de ses goûts et de ses compétences. On peut aussi faire cette simulation à l’aide d’un tableur.

Une éventuelle évaluation portant sur l’algorithmique au bac ne devrait de toute façon pas faire référence à un logiciel particulier, puisqu’aucun n’est imposé. N’oublions pas que le papier et le crayon (et un cerveau accessoirement) sont aussi des outils redoutables pour comprendre comment fonctionne un algorithme !

Installation des logiciels :

Fichiers ayant servi pour les captures d’écran ci-dessus : télécharger

Wikio