Publication:
Herramienta Visual para el aprendizaje de algoritmos y estructuras de datos

Date
2024-07
Editor
Director
Coordinator
Commentator
Reviewer
Illustrator
Access rights
info:eu-repo/semantics/openAccess
Journal Title
Journal ISSN
Volume Title
Publisher
Universidad de Educación a Distancia (UNED)
Research Projects
Organizational Units
Journal Issue
Abstract
¿Qué es un algoritmo? En pocas palabras, un algoritmo es un conjunto de pasos que resuelve un problema específico. Se trata de un componente básico de programación informática. Todos los programas y aplicaciones dependen de este concepto para funcionar correctamente. Este proyecto trata del desarrollo de un sitio web para el aprendizaje de los algoritmos. Dada la importancia que tiene para los estudiantes en Informática conocer a fondo el funcionamiento de los algoritmos, se planteó la creación de una herramienta que comenzó a desarrollarse en un PFG anterior. En este trabajo inicial se creó un marco de trabajo para el seguimiento y visualización de los diferentes tipos de algoritmos y las estructuras de datos implicadas. Se creó una API que implementase el funcionamiento y la visualización de las estructuras de datos y controles más importantes, se implementaron tres tipos de algoritmos y se creó una plantilla de trabajo para poder ampliar la herramienta con nuevos algoritmos posteriormente. El presente proyecto se ha centrado crear una nueva herramienta que mejore el trabajo anterior, completando el número de algoritmos implementados de forma que se cubran todas las categorías más importantes: Voraces, Divide y Vencerás, Programación Dinámica, Vuelta Atrás y Ramificación y Poda. Además, se han mejorado los contenidos y visualización de interfaces, y se ha añadido una nueva funcionalidad que permite la carga remota de datos, es decir, que las páginas que contienen nuestros algoritmos puedan ser invocadas desde otras webs a través de un enlace incluyendo los datos de entrada. La aplicación está dirigida principalmente a alumnos de la asignaturas relacionadas con algoritmia y estructuras de datos de los grados de Ingeniería Informática e Ingeniería de Sistemas de Información de la UNED. Sin embargo, podrá ser utilizada por estudiantes de otras asignaturas o cualquier persona con interés en el aprendizaje de los algoritmos.
What is an algorithm? Simply put, an algorithm is a set of steps that solves a specific problem. It is a basic component of computer programming. All programs and applications depend on this concept to function correctly. This project is about the development of a website for learning algorithms. Given the importance for Computer Science students to know in depth how algorithms work, the creation of a tool was proposed and began to be developed in a previous PFG. In this initial work, a framework was created for monitoring and visualizing the different types of algorithms and the data structures involved. An API was created that implemented the operation and visualization of the most important data structures and controls, three types of algorithms were implemented and a work template was created to be able to expand the tool with new algorithms later. This project has focused on creating a new tool that improves the previous work, completing the number of algorithms implemented so that all the most important categories are covered: Greedy, Divide and Conquer, Dynamic Programming, Backtracking and Branch and Bound. In addition, the content and display of interfaces have been improved, and a new functionality has been added that allows remote loading of data, that is, the pages that contain our algorithms can be invoked from other websites through a link including the input data. The application is aimed mainly at students of subjects related to algorithms and data structures of the UNED Computer Engineering and Information Systems Engineering degrees. However, it can be used by students of other subjects or anyone interested in learning algorithms.
Description
UNESCO Categories
Keywords
VGA, UNED, Estructuras de Datos, Algoritmos, Grafos, JavaScript, Framework, API, GitLab, Web, HTML, CSS, BootStrap, Cytoscape, JSON, Data Structures, Algorithms, Graphs
Citation
Martín Galán, Alicia (2024) Herramienta Visual para el aprendizaje de algoritmos y estructuras de datos. Trabajo Fin de Grado. Universidad de Educación a Distancia (UNED)
Center
Facultades y escuelas::E.T.S. de Ingeniería Informática
Department
Lenguajes y Sistemas Informáticos
Research Group
Innovation Group
PHD Program
Professorship
DOI