AlgoTouch (Patrice Frison)

Objectif

  • Comment passer d'une activité débranchée au programme sur machine?
  • Comment lutter contre le syndrome de la page blanche, et au delà, comprendre comment on apprend à programmer?

Fonctionnalités

  • Manipuler les éléments d'un programme par simples gestes. On peut donc créer des variables, des tableaux, effectuer des affectations, des opérations (+, -, x, /, reste), des comparaisons. Par la suite, on a la possibilité d'enregistrer une séquence d'actions et de la rejouer. Le système est capable de gérer des conditionnelles, des boucles et des macro opérations. Le système se charge de traduire ces opérations en instructions dans un langage de programmation basique: proche du langage C pour la syntaxe et empruntant la structure de boucle d'Eiffel.

Originalité

  • L'originalité d'AlgoTouch réside dans le fait qu'il permet de construire des algorithmes en effectuant les opérations qu'il faut exécuter (programmation par démonstration). En définitive, on ne fait que manipuler des variables, index et tableaux et le système fabrique automatiquement le programme. L'accent est donc mis sur la construction de l'algorithme en utilisant les fonctionnalités d'une machine sans avoir à connaître la syntaxe du langage.

Public

  • Outil conçu initialement pour assister l'enseignant pour expliquer le fonctionnement d'un algorithme et sa construction.
  • Doit être utilisable par des élèves de différents niveaux pour illustrer les notions d'algorithme et le fonctionnement d'une machine.

Évaluation

  • Utilisé depuis janvier 2016 avec des étudiants de L1 math info à Vannes et à Lorient. Illustration des algorithmes de tri (tri par sélection, par insertion et par fusion), et des algorithmes de recherche de séquences dans des tableaux. Les premières évaluations faites auprès des étudiants montrent qu'ils apprécient l'outil car il leur permet de bien visualiser ce qui se passe.
  • Évaluation à faire avec des élèves de collège et lycée

Auteur

  • Patrice Frison, Professeur à l'UBS

Etat

  • Preuve de concept qui se transforme de fait en prototype

Licence

  • Actuellement le logiciel est distribué en l'état aux personnes intéressées par le tester.

Téléchargement et installation

  • AlgoTouch est un programme écrit en Java. Il fonctionne sous Windows, Mac, Linux. Il est distribué sous forme d’un jar exécutable. Il n’y a donc pas d’installation à effectuer si ce n'est le JRE.

Publication

  • P. Frison, A Teaching Assistant for Algorithm Construction, In Proceedings of the 2015 conference on Innovation & technology in computer science education(ITiCSE '15). ACM editor. Vilnius Lithuania, July 2015. https://doi.org/10.1145/2729094.2742588
  • Patrice Frison, Moncef Daoud, Michel Adam. Transition didactique de l’activité débranchée à la programmation avec AlgoTouch. Didapro 7 – DidaSTIC. De 0 à 1 ou l’heure de l’informatique à l’école, Février 2018, Lausanne, Suisse. pp.1-17.
  • M. Adam, M. Daoud, P. Frison, Teaching and Learning How to Program Without Writing Code, In Proceedings of EMENA-ISTL 2018 Conference. Springer Editor. Fes Marocco, October 2018
  • M. Adam, M. Daoud, P. Frison : Direct Manipulation versus Text-based Programming - An experiment report, In Proceedings of the 2019 conference on Innovation and Technology in Computer Science Education (ITiCSE ’19), ACM editor. Aberdeen, Scotland UK, July 2019.

Vidéo