Les nouvelles technologies pour l’enseignement des mathématiques
Intégration des TICE dans l’enseignement des mathématiques

MathémaTICE, première revue en ligne destinée à promouvoir les TICE à travers l’enseignement des mathématiques.

Introduire l’algorithmique avec Algoblocs
Article mis en ligne le 7 avril 2017
dernière modification le 8 avril 2017

par Charly Piva

Pour la mise en place des nouveaux programmes, beaucoup de collègues se sont intéressés à la programmation « par blocs » qui devrait être majoritairement enseignée au collège. La solution présentée le plus souvent est Scratch, mais d’autres logiciels existent.
Ainsi, dans cet article, je vous présente une application que j’ai eu le plaisir de développer pendant l’année passée : Algoblocs.

Qu’est-ce-qu’Algoblocs ?
Concrètement, il s’agit une application web permettant aux élèves de contrôler un « stylo » virtuel avec de la programmation par blocs. Imaginez un mélange de la tortue Logo et de Scratch. Algoblocs est développée à partir de Blockly.

Essayez une version simplifiée d’Algoblocs ci-dessous !

Toutefois Algoblocs ne se limite pas à cette fonction « bac à sable » mais propose plus de 60 exercices demandant de reproduire des dessins prédéfinis. Les exercices sont répartis dans des séries, où différents blocs sont utilisés. Par exemple, la série B se limite aux boucles for, alors que la série F utilise des fonctions.

Quelques figures à reproduire.

Le site met en avant l’optimisation du code et la résolution de problèmes par les solutions les plus astucieuses. En effet, chaque exercice a une limite de blocs à ne pas dépasser, forçant l’élève à exploiter toutes les fonctionnalités.

Cet exercice introduit le bloc « répéter ».
Notez le compteur en haut de l’écran, indiquant que 3 blocs sur les 5 disponibles ont été utilisés.

Algoblocs permet également de créer ses propres dessins. Ainsi, les élèves peuvent aussi se lancer des défis et essayer de reproduire les créations de leurs camarades en utilisant autant voire moins de blocs. Dans ce mode, le nombre de blocs est aussi limité. La créativité naît de la contrainte, paraît-il…

Quelques créations d’élèves.

Espace enseignant
Le but d’Algoblocs est de fournir une solution et des exercices « clés en main » pour l’enseignement de l’algorithmique aux élèves. Une rubrique du site permet aux enseignants de créer des comptes pour leurs élèves, à partir desquels ils pourront suivre leurs progrès et leurs créations.

L’espace enseignant.

Une fois les comptes créés, on demande aux élèves de taper « algoblocs.fr » dans un navigateur, de se connecter et d’effectuer des exercices. Ce travail peut se faire en salle informatique sur ordinateurs ou tablettes, ou à la maison, avec une connexion internet.
Dans les premiers exercices, un tutoriel interactif guide l’élève. De grandes bulles bleues apparaissent au fur et à mesure de sa progression.

Le contenu du site n’est pas intégralement disponible dès le début. Ainsi, il faut réussir 2 exercices pour débloquer le bloc permettant de créer des boucles, et 17 exercices pour débloquer les variables. Ce système, inspiré des jeux vidéo (ce qui peut expliquer pourquoi des élèves emploient le terme « niveau » pour désigner les exercices) permet de découvrir les notions progressivement.

En moyenne, lors d’une séance d’une heure, les élèves réussissent une douzaine d’exercices et utilisent leur premier bloc « répéter » au bout d’une dizaine de minutes. Pour aborder les points plus difficiles, 2 ou 3 séances seront nécessaires...

Evolutions et limites du projet

Au départ, le développement d’Algoblocs a beaucoup été remanié, le site s’est perfectionné petit à petit. En effet, au début il n’y avait pas de blocs et l’apprentissage s’effectuait avec du code Javascript. Ensuite Blockly et de nombreuses fonctionnalités ont été intégrées.

Ce n’est qu’en juin 2016, alors que le développement avait commencé en novembre, que le site s’est spécialisé dans la création et la reproduction de dessins. De « bac à sable », Algoblocs est devenu un « micromonde » au sens de cet article. Ainsi, chaque exercice ne contient que les blocs qui sont nécessaires à sa réalisation.
Les remarques des élèves et des collègues enseignants ont permis d’apporter beaucoup d’améliorations au site. Néanmoins, Algoblocs a ses limites :

Limites d’ordre pédagogique

  • L’idée de « faire glisser les blocs dans la zone blanche (?) puis d’exécuter le programme en cliquant sur le bouton vert » n’est pas forcément évidente, et il est parfois nécessaire de montrer la manipulation attendue aux élèves directement sur l’ordinateur.
  • Contrairement à ce qu’on peut voir dans Scratch, le programme se réinitialise à chaque exécution, ce qui n’est pas toujours compris au début. Il n’est pas non plus possible de cliquer directement sur un bloc pour l’exécuter, les exercices n’auraient alors plus d’intérêt…
  • La structure des séries d’exercices fait que certains élèves se limitent aux exercices simples, sans chercher à découvrir des notions plus complexes, comme les variables ou les fonctions (voir copie d’écran ci-dessous). La quasi-totalité des créations d’élèves n’utilisent que les instructions « simples » et les boucles. Il faut donc inviter les élèves à aller plus loin, par exemple en leur demandant de faire un certain nombre d’exercice de chaque série !

Limites techniques

  • Certains points sont difficiles à traiter : les événements, les scripts s’exécutant en parallèle ou les instructions conditionnelles (même si une petite série d’exercices y est consacrée). Lors de son développement, Algoblocs a eu une fonctionnalité permettant de réaliser des animations avec des scripts en parallèle, mais il était difficile de maintenir cette fonctionnalité tout en conservant l’exécution du code pas-à-pas.
  • Il est possible de lire le code Javascript généré par les blocs, mais pas de le modifier. Un des buts de Blockly étant de faciliter la transition de la programmation par blocs vers un langage, il est dommage qu’Algoblocs ne le permette pas (pour l’instant !)

Le développement du site n’est pas achevé, il est amélioré sans cesse : plusieurs exercices supplémentaires sont prévus. De plus, une fonctionnalité permettant aux enseignants de créer une série d’exercices et de l’attribuer à un groupe d’élèves est en cours de développement.

Conclusion
Algoblocs peut être utilisé comme une introduction à l’algorithmique, rapide à mettre en œuvre pour les élèves comme pour l’enseignant, les activités étant déjà créées et intégrées au site.
Cela peut constituer un bon point de départ avant de passer à Scratch qui dispose de beaucoup plus de fonctionnalités, mais peut s’avérer déroutant au début de par son côté « bac à sable » et demander plus de temps de préparation à l’enseignant.