Logiciel d'initiation à l'algorithmique, libre, gratuit et multi-plateforme (Windows, MacOsX, Linux)
Présentation

AlgoBox est un logiciel libre, multi-plateforme et gratuit d'aide à l'élaboration et à l'exécution d'algorithmes dans l'esprit des nouveaux programmes de mathématiques du lycée.


(cliquer sur l'image pour voir la capture d'écran en vraie grandeur)

Une démonstration vidéo d'AlgoBox sur un exemple simple est disponible ici

AlgoBox, c'est :
  • une prise en main facile et rapide avec une interface en français, claire et ergonomique;
  • un logiciel éducatif basé sur une logique pédagogique (apprentissage de l'algorithmique par structures logiques et non pas uniquement par alignement de lignes de code);
  • un logiciel disponible gratuitement et facilement installable sur toutes les plate-formes (Windows, MacOsx, Linux);
  • un programme conçu pour l'enseignement et qui s'adresse à l'ensemble des élèves (et pas seulement à une petite minorité);
  • un logiciel centré sur l'algorithmique (et pas sur l'apprentissage d'une syntaxe spécifique à un langage particulier);
  • un logiciel correspondant exactement aux instructions officielles des programmes de mathématiques du secondaire de la seconde à la terminale (voir ici);
  • un logiciel cité et utilisé dans la quasi totalité des manuels scolaires de mathématiques (de la seconde à la terminale);
  • une syntaxe très proche de celle utilisée dans les sujets du baccalauréat (voir la page 6 de ce sujet du Bac S);
  • des brochures pédagogiques d'accompagnement avec des activités réellement liées aux programmes de mathématiques de la seconde à la terminale (brochures disponibles ici);
  • plus de 60 activités en provenance du site du ministère Éduscol : banque officielle ÉDU'Bases;
  • un programme faisant partie de la liste officielle des logiciels pour le CAPES de mathématiques.
  • Un logiciel bénéficiant d'un support complet :
    • aide contextuelle disponible pour chaque structure algorithmique;
    • manuel de l'utilisateur;
    • tutoriel d'initiation en ligne avec vidéos disponible ici (ou via le menu "Tutoriel" du programme)

Caractéristiques
  • Le code de l'algorithme est construit à partir d'un mini-langage algorithmique ("pseudo-code") qui se veut simple à comprendre et à utiliser (mis à part les fonctions mathématiques, les instructions sont en français). L'utilisateur n'a donc pas à apprendre toute une syntaxe complexe.
  • Le code de l'algorithme se construit pas à pas de façon hiérarchique et structurée grâce à des instructions de base que l'on insère en cliquant sur les boutons de l'interface : l'utilisateur se concentre ainsi sur l'algorithme lui-même et il est fortement incité, par le fonctionnement même du programme, à faire preuve d'un minimum de rigueur.
    Dans son mode de fonctionnement par défaut, AlgoBox n'utilise pas un éditeur de texte classique et une grande partie du code est inséré automatiquement : l'activité de l'utilisateur consiste donc plus à réfléchir aux instructions qu'il doit utiliser qu'à aligner des lignes de code.
  • AlgoBox inclut aussi la possibilité de tracer des graphiques.
  • Il est aussi possible d'utiliser deux fonctions F1 et F2 dans les algorithmes :
    La fonction F1 est une fonction numérique simple ne dépendant que d'une variable x, tandis que la fonction F2 peut-être utilisée pour définir une fonction récursive dépendant de plusieurs paramètres.
  • Pour les algorithmes longs, un mode "éditeur de texte" permet aux utilisateurs avancés de taper directement le code à l'aide d'un éditeur incorporé muni des fonctions traditionnelles (coloration syntaxique, auto-complétion, chercher-remplacer, etc...)
  • Tous les algorithmes élaborés dans la fenêtre principale du programme peuvent être exécutés et testés en deux clics.
  • AlgoBox permet aussi l'exécution d'algorithmes en mode "pas à pas pédagogique".
  • Des exemples d'algorithme sont fournis avec le programme (menu "Fichier" -> ouvrir un exemple) :
    - les exemples dont le nom débute par "prof" ont uniquement pour but de montrer les possibilités du logiciel et dépassent pour certains les objectifs du programme de seconde
    - les exemples dont le nom débute par "eleve" correspondent eux à ce qui pourrait être demandé à un élève de seconde dans le cadre du programme.
  • En plus d'une sauvegarde classique, le code l'algorithme peut être imprimé et exporté sous forme de fichier texte. (pour les professeurs, il est aussi possible d'exporter le code de l'algorithme sous la forme d'un document LaTeX).
  • L'algorithme peut aussi être exporté sous la forme d'une page web autonome dans laquelle il est possible de l'exécuter (cette page web étant en fait une copie conforme de la fenêtre de test du programme). Les algorithmes élaborés peuvent donc être très facilement inclus dans des sites internet.
  • Après exécution d'un algorithme, l'ensemble des résultats (sorties, graphique et code de l'algorithme) peut être exporté dans un document au format pdf.
  • AlgoBox fonctionne de façon totalement autonome et ne nécessite aucune installation complexe d'environnement de programmation.Le programme existe pour les systèmes Linux, MacOsX et Windows et peut-être installé facilement sur les postes personnels des élèves et des professeurs : il ne nécessite l'installation d'aucun programme supplémentaire. (il peut aussi être installé sur les postes d'un réseau pédagogique sans droits d'administrateurs et il peut fonctionner sur une clef USB)

Pour de plus amples détails, on peut aussi consulter le manuel en ligne (disponible aussi via le menu "Aide" du logiciel).


L'algorithmique dans les programmes de mathématiques
Rappel des instructions officielles concernant l'algorithmique dans les programmes de mathématiques de la seconde à la terminale (source : bulletins officiels de l'éducation nationale) :
1. Instructions élémentaires (affectation, calcul, entrée, sortie).
Les élèves, dans le cadre d’une résolution de problèmes, doivent être capables :
– d’écrire une formule permettant un calcul ;
– d’écrire un programme calculant et donnant la valeur d’une fonction ;
– ainsi que les instructions d’entrées et sorties nécessaires au traitement.

2. Boucle et itérateur, instruction conditionnelle.
Les élèves, dans le cadre d’une résolution de problèmes, doivent être capables de :
– programmer un calcul itératif, le nombre d’itérations étant donné ;
– programmer une instruction conditionnelle, un calcul itératif, avec une fin de boucle condi-
tionnelle.

3. Dans le cadre de cette activité algorithmique, les élèves sont entraînés à :
– décrire certains algorithmes en langage naturel ou dans un langage symbolique ;
– en réaliser quelques-uns à l’aide d’un tableur ou d’un programme sur calculatrice ou avec un
logiciel adapté ;
– interpréter des algorithmes plus complexes.

© 2009/2014 - Pascal Brachet
L'auteur est professeur de mathématiques au lycée Bernard Palissy d'Agen.

Retour en haut