EN FR DE
 
Accueil Qui sommes-nous ? Participez Espace presse
Bibliothèque
Megalab
Méthodes

Cours en ligne
Nouvelles
Evénements

Membre 

Ma communauté
Forum
En pratique
Outils

Lettre d’information

Numéros précédents




  Home > Méthodes > Exemples > Utiliser la visualisation algorithmique pour faciliter l’apprentissage des algorithmes  

Utiliser la visualisation algorithmique pour faciliter l’apprentissage des algorithmes

Stavros Nikou fait partie du groupe d’enseignants du portail Xplora. Il enseigne l’informatique dans les écoles secondaires publiques ainsi que la programmation, les bases de données, Internet et les outils multimédia dans les centres de formation professionnelle. Cet article vous donnera un aperçu des avantages de la visualisation algorithmique pour faciliter l’apprentissage des algorithmes.

     

En tant que professeur d’informatique, les algorithmes font partie des sujets que j’enseigne. Il s’agit d’un cours d’introduction reprenant des concepts très simples pour les élèves du collège et des constructions algorithmiques plus détaillées pour les élèves du lycée, telles que les séquences, les répétitions, les sélections ou encore de simples structures de données statiques et certaines opérations qui y sont liées (recherche, tri, etc.).

L’apprentissage des algorithmes s’avère parfois très difficile pour les étudiants étant donné que le logiciel lui-même est déjà un support abstrait. Le but est de faciliter la compréhension des données et des opérations liées aux algorithmes.

A côté de la présentation traditionnelle de l’algorithme sur « tableau noir », et l’outil graphique de débogage du langage de programmation à enseigner, j’essaie de faciliter l’apprentissage en utilisant la visualisation algorithmique.

“La visualisation logicielle consiste à faire appel aux aptitudes dans les domaines de la typographie, du dessin graphique, des animations, ainsi que de la cinématographie par le biais d’une interaction moderne entre l’homme et l’ordinateur et la technologie graphique informatisée afin de simplifier la compréhension de l’homme et l’utilisation efficace du logiciel informatique.”1

Il existe deux principaux sous-domaines dans la visualisation logicielle :
• La visualisation des programmes (sous l’angle du génie logiciel), qui consiste à utiliser la visualisation pour venir en aide aux programmateurs, codeurs, développeurs. 
• La visualisation algorithmique (sous l’angle pédagogique), qui consiste à utiliser la visualisation pour faciliter l’apprentissage des algorithmes et des structures de données. 

Le principe de la visualisation algorithmique est d’utiliser des techniques graphiques pour représenter des données et des opérations. La question est de savoir si les animations algorithmiques peuvent aider à l’apprentissage.2
Sont-elles vraiment utiles aux étudiants ?
On dit souvent qu’une image vaut 10.000 mots.  Ce constat est –il d’application quand il s’agit d’enseigner les algorithmes ?

Les chercheurs tirent des conclusions différentes. Les uns avancent que l’utilisation des animations pour faciliter l’apprentissage des algorithmes est moins bénéfique pour l’apprentissage que ce que l’on espérait3. C’est sans doute vrai dans certains cas ; il n’en reste pas moins que si l’animation algorithmique est conçue de manière efficace 4 et utilisée convenablement en plus d’autres méthodes, elle peut tout à fait faciliter l’apprentissage. C’est ce notre petite expérience en classe a démontré jusqu’à présent.

Notre approche est la suivante :
• Dans un premier temps, les étudiants suivent un cours consacré à l’algorithme, observent les tracés théoriques sur un tableau noir en utilisant des échantillons de données.
• Ils doivent ensuite répondre à des questions à choix multiple pour tester leur compréhension des algorithmes.
• Nous introduisons alors des représentations graphiques (voir explications ci-dessous).
• Enfin, une fois la visualisation terminée, des formulaires de questions à choix multiple sont à nouveau distribués.  Les réponses montrent en général que les étudiants ont mieux compris le principe de l’algorithme.

 En fonction de l’algorithme et de la formation des étudiants, nous utilisons différents outils d’animation algorithmique :

• Les étudiants en groupes doivent préparer eux-mêmes des visualisations algorithmiques. Pour ce faire, ils utilisent généralement Microsoft PowerPoint, mais peuvent également se servir de Macromedia Flash. Le fichier for loop.pps est un exemple de présentation.
• Les ressources Web – modules java et certaines animations très utiles notamment pour la recherche (séquentielle, binaire) et les méthodes de tri (bulle, insertion, sélection, etc.).

Allez également jeter un œil sur :
- http://www.animal.ahrgr.de/Anims/animations.php3
http://math.hws.edu/TMCM/java/
http://www.akira.ruc.dk/~keld/algoritmik_e99/Applets/


• Utilisez les outils d’animation algorithmique tels que :

Jeliot3- The algorithmic theater 
Jeliot 3 est une application de visualisation de programmes. Il permet de voir comment un programme Java peut être interprété. Appels de méthode, variables et autres opérations sont affichés sur un écran durant l’animation, permettant à l’étudiant de suivre pas à pas l’exécution d’un programme. Il s’agit d’un logiciel libre (conforme aux normes de la licence GPL) fonctionnant sous Windows.


ALgorithm VIsualization Storyboarder (ALVIS)
ALVIS 2.0 est un outil de technologie de visualisation algorithmique qui permet la construction rapide et la présentation interactive de visualisation algorithmique « basse fidélité », comme l’appellent ses concepteurs.



Enfin, voici quelques commentaires sur l’utilisation de la visualisation algorithmique :

• Les étudiants s’intéressent davantage au sujet et sont plus motivés.
• Ils comprennent mieux le principe de l’algorithme.
• Lorsqu’il y a interaction entre les étudiants et l’animation algorithmique, c’est-à-dire lorsqu’ils fournissent leurs propres données et tentent d’anticiper l’étape suivante, le résultat obtenu est en général plus probant que si les étudiants assistaient passivement à l’exécution d’un algorithme.

En conclusion, la visualisation algorithmique dans l’apprentissage des algorithmes, en plus des autres méthodes, accélère et améliore l’apprentissage.


Références

1. Price, Baecker and Small, “Introduction to Software Visualization” , MIT Press, 1998
2. Michael D. Byrne, Richard Catrambone, John T. Stasko, “Do Algorithm Animations Aid Learning?”, Georgia Institute of Technology, 1996
3. Colleen Kehoe, John Stasko, Ashley Taylor, “Rethinking the Evaluation of Algorithm Animations as Learning Aids:An Observational Study”, Georgia Institute of Technology, 1999
4. Rudolf Fleischer  and Ludek Kucera, “Algorithm animation for teaching”

Droits d'auteur - Clause de non-responsabilité - Contacts - Plan du site