Game for learning data structures and algorithms

Abstract

Trabajo de Fin de Grado en Doble Grado en Ingeniería Informática y Matemáticas, Facultad de Informática UCM, Departamento de Ingeniería del Software e Inteligencia Artificial, Curso 2020/2021Las asignaturas de algoritmos y estructuras de datos son una parte fundamental en los estudios de informática. En una primera aproximación a ellas, el alumno puede tener dificultades en su comprensión. Es por ello que puede ser buena idea disminuir el nivel de abstracción, elegir un caso concreto y mostrar la aplicación del algoritmo a dicho ejemplo. Además, numerosos estudios están a favor de que sea también el estudiante el que aprende por sí mismo mediante la interacción con un juego relacionado con el concepto a estudiar. Es por ello que se implementa una aplicación en Unity que muestra las ideas principales de algunos de los algoritmos básicos y estructuras de datos típicas, y que no se limita a mostrar su funcionamiento, sino que permite la interacción del usuario, guardando también estadísticas sobre su rendimiento. En esta memoria se explican inicialmente los objetivos y las aplicaciones similares existentes. En los capítulos siguientes, se describe el desarrollo de la aplicación. Primero, se centra en cada juego implementado y la interacción pedida al usuario en cada caso; después, en los aspectos del diseño y desarrollo de la aplicación. La memoria finaliza con los resultados de las pruebas con usuarios.Algorithms and data structures are core subjects in computer science courses. In a first approach, the student may find them difficult. In consequence, it could be a good idea to use a lower level of abstraction, choose a concrete example and show the flow of the algorithm applied to that case. In addition, there are a lot of articles that uphold the benefits for the students if they interact with a game about these concepts. Therefore, a Unity game has been developed in order to show the main concepts of these most common algorithms and data structures. It allows users to interact with it to make learning more attractive, and saves data about their performance. In this work, initially, the aims of the application are explained, and similar games are analyzed. Then, there are two chapters about the development of the application. The first one is focused on the games that are implemented and the user interaction. The second one explains the design and the development of the game. Finally, the outcomes of the usability tests are shown.Depto. de Ingeniería de Software e Inteligencia Artificial (ISIA)Fac. de InformáticaTRUEunpu

    Similar works