AlgoIDE : Algoid (environnement de programmation éducatif) porté sur Raspberry Pi

Posté le par | Réponse(s) : 1

Algoid/AlgoIDE,  la Tortue Programmable

Algoid/AlgoIDE est un environnement de développement proposant de simplifier l'approche et de rendre ludique l'apprentissage de la programmation pour les enfants et les débutants. Conçu comme un langage d'introduction aux langages professionnels, il est destiné à un premier contact avec les concepts de la programmation pour être exécuté sur de multiples plateformes et en particulier sur l'OS Android à ses début.

Vous souvenez-vous du langage de programmation Logo ? Cette tortue (ou robot) amicale qui introduisait étape par étape les notions basiques de la programmation. Algoid est basé sur la même idée d'une boucle de réaction visuelle courte :

Développer - Tester/Déboguer - Observer la tortue qui dessine le résultat

Le papa de ce jeune projet est le français Yann Caron. En 2011, dans le cadre de ses études au CNAM, il a dû trouver un projet à réaliser sur Android et a décidé d'écrire un petit langage de programmation "maison" et de le présenter dans le cadre de sa soutenance. Le déclic a été fait et créa Algorithmy for Android alias Algoid.

Algoid/AlgoIDE est décomposé en différentes couches :

  • Un analyseur de langage formel dit PEG, librairie facilitant la création et la définition d’un langage formel appelé JASI (Java Abstract Syntax Interpreter). C'est la librairie principale du projet qui permet de simplifier la définition d'un langage formel de programmation.
  • Une implémentation (ensemble des concepts et paradigmes) du langage, appelé AL qui a l'ambition d'être un langage à la fois impératif (structuré et procédurale), fonctionnel et récursif, et Objet orienté à base de prototypes. De l'objet et du fonctionnel impliquent la notion d'Aspect.
  • Un environnement de développement intégré IDE et des environnements d’exécution textuelle ou
    graphique, nommé Algoid. Il est composé de l'éditeur de code source, l'aide en ligne, d'une interface utilisateur textuelle, d'un environnement d’exécution graphique, d'une fenêtre de debugger (visualisation en temps réel des variables et du scope), d'un accès au LogCat d’Android dédié à l’application (emploie de filtres) et d'un accès au système de fichier de la plateforme.

 

Pour plus d'informations techniques, il est possible de consulter le cahier des charges initial établi par Yann Caron ou de se rendre sur l'une de ses pages de Developpez.com.

Le portage récent de AlgoIDE (pour Raspberry Pi) est totalement inspiré de l'esprit et de l'architecture de fonctionnement de sa version Android. Son fonctionnement est simple, pour faciliter l'apprentissage, l'éditeur de code source permet :

  • Coloration syntaxique
  • Formatage et indentation automatique du code source
  • Sauvegarde automatique dans un fichier de cache de l’application, des paramètres et du code source en cours
  • Proposer les mots clef du langage lors de la saisie (Auto-complétion)
  • Gérer et pointer les erreurs de syntaxe
  • Faciliter l'exportation de code d'exemples depuis l'aide en ligne
  • Exécuter pas à pas le code source
  • Donner la possibilité de situer des points d'arrêts dans le programme et proposer un debugger.
  • Permettre des gérer les logs
  • Donner une visibilité sur les ressources internes au programme (scope)
  • Proposer une aide en ligne
  • Donner un lien interactif entre le code et l'aide en ligne

 

Bref, Algoid/AlgoIDE est un écosystème simple à prendre en main sous la forme d'un cocon douillet pour apprendre à programmer et peut-être créer des vocations auprès des plus jeunes.

Saluons au passage le gros travail de Yann Caron qui donne un précieux outil à de nombreux jeunes d'apprendre la programmation à l'instar de ce qui se fait surtout au Royaume Uni dans les écoles grâce à la fondation Raspberry Pi. Quelque chose me dit que le projet ne va pas en rester là... #intuition

Algoid est disponible sur le Pi store ici
Aussi disponible sur play Store de Google ici

Quelques liens utiles :
Le site officiel Algoid : http://www.algoid.net/
Présentation du langage de programmation AL et tutoriels sur Developpez.com
Une démonstration présentée au CNAM

Algoid est sous licence EULA

Allez, 1... 2... 3... Programmez !

 

Mise à jour du 25 septembre 2013, sur post sur Google+, on a vraiment pas fini de parler de AlgoID :

 

 

 


Licence Creative Commons
Cet article, sauf mention contraire expresse, est publié sous licence Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported Licence.

Vous avez aimé cet article ? Alors partagez-le avec vos amis en cliquant sur les boutons ci-dessous :
Google Plus Twitter Facebook Linkedin Framasphere email Flattr !

Un commentaire sur “AlgoIDE : Algoid (environnement de programmation éducatif) porté sur Raspberry Pi

  1. Bonjour,D'abord un grand merci pour votre article que j'ai trouvé tout à fait par hasard et qui a donc créer un bonne surprise.Pour répondre à votre #intuition, le développement d'algoid n'est pas terminé, il a repris cette semaine après des vacances bien mérités.Les prochaines nouveautés seront :- Un article est à paraître sur le MagPI.- La capacité de créer des plugins qui permettront d'ajouter à quiconque d'ajouter des librairies. Ce sera destiné aux professeurs mais pas seulement ! Qu'on ce le dise.- Sur cette même base, un environnement de jeu plus complet sera sans doute proposer- Un module d'exportation pour créer directement une apk- Plus de tutoriauxPetite annonce, Algoid recrute (redacteurs, developpeurs, professeurs) et ouvrira ses source bientôt. Donc toutes aide (gracieuse certe, mais toutefois enrichissante) est la bienvenue.Encore un grand merci pour ce petit mot, c'est grâce à cela que je puise la motivation lorsqu'elle vien à manquée.Bonne continuation à vous.

Répondre à Yann Caron Annuler la réponse

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.