VISALipse Plugin para el IDE Eclipse para la visualización de algoritmos bajo el paradigma de Orientación a Aspectos.
Abstract
La recursividad supone una herramienta muy potente para la resolución de problemas complejos,
basándose en el principio de inducción matemática. Debido a su potencia, el estudio
de la recursividad y su aplicación como técnica de diseño de algoritmos aparece en todos los
currículos durante los primeros cursos de programación. Sin embargo, la complejidad que
supone llegar a dominar y comprender esta técnica convierte a la recursividad en una de las
principales dificultades que los estudiantes deben superar durante las primeras fases de su
aprendizaje.
Con la finalidad de abordar esta problemática, han surgido diversos estudios centrados en
la identificación y análisis de las causas del fracaso en el aprendizaje de la recursividad y en
la construcción de posibles soluciones basadas en nuevas técnicas y metodologías docentes.
Entre estas soluciones, una de las líneas de investigación que más desarrollo ha experimentado
durante los últimos años es el uso de técnicas de visualización, sobre la cual se han construido
interesantes herramientas para la generación automática de visualizaciones de programas.
Sin embargo, la gran mayoría de estas herramientas presentan una falta de funcionalidad
común que puede llegar a comprometer la eficacia de su uso. Uno de los motivos podría estar
relacionado con un marco tecnológico inmaduro en el momento del diseño y construcción de
estas herramientas, pero que ahora, con la irrupción de nuevos paradigmas y con un mayor
grado de madurez de las tecnologías ya existentes, sería posible solventar este problema.
Con el objetivo de proponer una posible solución a la falta de funcionalidad de este tipo
de herramientas y de mejorar la eficacia de las mismas, a lo largo de este trabajo se presenta el
desarrollo de un plug-in para el entorno de desarrollo Eclipse, diseñado y construido bajo el
paradigma de la Programación Orientada a Aspectos y destinado a la generación automatizada
de visualizaciones de algoritmos recursivos en el ámbito educativo. Recursion is a very powerful tool for solving complex problems, based on the principle of
mathematical induction. Due to its possibilities, the study of recursion and its application
as an algorithm design technique appears in all curricula during the first programming
courses. However, the complexity that means to master and understand this technique
converts recursion into one of the major difficulties that students must overcome during the
first phases of their learning.
In order to address this problem, several studies have emerged focusing on the identification
and analysis of the causes of failure when it comes to learning recursion and on
the construction of possible solutions based on new techniques and teaching methodologies.
Among these solutions, one of the lines of research that has experienced the most development
during the last years is the use of visualization techniques, on which interesting tools have
been built for automatic generation of program visualizations.
However, the vast majority of these tools have a lack of functionality that can compromise
the effectiveness of its use. One of the reasons could be related to an immature technological
framework at the time of the design and construction of these tools, but now, with the
emergence of new paradigms and with a greater degree of maturity of the existing technologies,
it would be possible to solve this problem.
With the aim of proposing a possible solution to the lack of functionality of this type
of tools and in order to improve their effectiveness, throughout this work it is presented the
development of a plug-in for the Eclipse development environment, designed and built under
the paradigm of the Aspects Oriented Programming and aimed to the automated generation
of visualizations of recursive algorithms in the educational field