Algobox : débuter en algorithmique
Algobox : débuter en algorithmique
Algobox était une référence pour faire de l’algorithmique au lycée. On en retrouvait des traces partout : dans les fiches des profs, les manuels, les problèmes de bac…
Hélas, python a tout balayé, ce qui est très dommage, car les profs l’utilisent très peu et les élèves n’aiment pas ça en grande majorité. Non seulement on ne fera pas des programmeurs avec tous les élèves (le grand rêve de Blanquer), mais leur niveau en algorithmique est sur la pente descendante.
Algobox est développé par un enseignant, et est accessible ici : site Algobox
C’est est un logiciel simple et dépouillé : c’est une grande qualité pour un logiciel qu’on met dans les mains des élèves, qui ne sont donc pas aux commandes d’une usine à gaz.
Et il permet de mettre en œuvre (presque) tous les algorithmes dont on peut rêver au lycée ! On peut lister ses principales caractéristiques :
•programmation en «pseudo-code» : les instructions sont pré-écrites (on clique sur un bouton), en français, donc pas de syntaxe à apprendre. L’élève peut vraiment se consacrer au raisonnement.
•les structures de base sont toutes là : déclaration de variables, affectation de valeur à variable, boucle «pour…de…à», boucle «tant que», test, fonction auxiliaire pour programmation fonctionnelle…
•on y trouve bien entendu les fonctions de base (sin, cos, ln, exp, racine…), mais aussi des fonctions utilisées en stats et probas (moyenne, écart type, nombre aléatoire, loi binomiale…)
•on peut définir une fonction f(x).
•et on peut faire des tracés dans un repère (tracé de points et segments) : très utile par exemple pour les fonctions et les probas !
•le logiciel est un peu rigide dans sa prise en main (déclaration des variables, création d’une ligne avant d’y mettre le code, …) mais ça interdit à l’élève de faire n’importe quoi.
Concrètement, on va faire quoi avec Algobox ?
Plein de choses. Le cours particulier de maths est idéal pour utiliser l’outil informatique ; ce logiciel est très souple, beaucoup plus qu’un tableur, notamment quand on fait des probas. Voilà des exemples de ce que j’ai pu faire avec des élèves :
•programmes simples, du style rentrer une valeur et calculer son image par une fonction de base.
•faire le tableau de valeurs d’une fonction (boucle «pour…de…à»)
•résoudre un trinôme du second degré : il y a un test
•recherche du zéro d’une fonction par dichotomie (boucle tant que, manipulation de variables)
•calculs de suites
•en probas, calcul de toutes les combinaisons du jeu du Duc de Toscane (lancé de 3 dés) pour faire 9 ou 10 (ça se corse, triple boucle !)
•programme permettant de vérifier l’hypothèse du chevalier de Méré
•variabilité d’échantillonnage (lancés de dé à 6 faces) et affichage graphique (bien plus souple et rapide qu’avec un tableur, on peut calculer facilement par exemple avec le même programme la répartition des faces lors de 200, 2000, ou 200 000 lancés de dé)
•calcul des valeurs d’une loi binomiale et affichage graphique (un exemple sophistiqué est donné sur le site d’Algobox : à voir !)
•…
Bref, la liste est longue !
Et la concurrence alors ?
•Calculatrices : outre que les basics Casio ou Texas ne sont pas très affriolants, le maniement de la calculette est laborieux : il faut rentrer dans beaucoup de menus et sous menus pour trouver son bonheur… En prime, il faut apprendre un minimum de syntaxe (pas standard d’une calculette à l’autre, bien entendu !). Je dirais que c’est un bon outil pour des programmeurs un peu expérimentés, pas pour des débutants.
C’est un outil pratique pour certains profs (pas besoin de salle avec ordinateurs), qui font souvent recopier des programmes du manuel aux élèves : très formateur…
•Xcas : ses capacités en programmation sont très grandes, peut-être trop pour un débutant qui risque de s’y perdre : il y a en effet plusieurs langages disponibles, des synonymes à profusion pour chaque structure de programmation, etc.
Par contre, les programmes faits avec Xcas s’intègrent parfaitement dans cet environnement, et on peut les utiliser en conjonction avec les autres modules de Xcas, ce qui est très souple et pratique, beaucoup plus qu’Algobox.
•Scilab : c’est un excellent logiciel, dans la lignée Matlab/Octave, mais je trouve que c’est une hérésie de donner des logiciels pareils en pâture à des lycéens. Outre leur grande complexité, la caractéristique de ces logiciels est de faire du calcul vectoriel et matriciel, qui comporte donc des boucles implicites pour éviter les structures «pour…de…à». Donc, le fait de faire programmer des débutants en Scilab avec des boucles (inutiles) en pagaille est pour moi une totale hérésie qui ne peut que leur donner des mauvaises habitudes pour le futur ! Ces logiciels n’ont rien à faire dans des lycées : chaque chose en son temps.
•Python : c’est un outil de programmeur plus qu’un outil de réflexion sur l’algorithmique, donc de mon point de vue, pas très approprié en sections générales des lycées. Mais c’est le programme : on ne voit plus que ça dans les nouveaux manuels, et… dans les E3C (contrôle continu du bac). Exit Algobox.
Bref, j’aime beaucoup Algobox, c’est le mieux adapté au lycée et le plus à la portée des élèves, surtout les débutants, tout en permettant beaucoup de choses. En pratique, je sens que je vais lâcher un peu python, au moins avec les 2nde, et revenir à Algobox pour blinder les notions de base (variables, boucles, tests, entrées/sorties).