Resumen: La incorporación de la gamificación en cursos de Programación ha sido identificada como una estrategia potencial que podría maximizar la participación de los estudiantes y tener un impacto positivo en el aprendizaje. Hasta donde sabemos, no existe un estudio dirigido a recopilar y analizar los resultados de investigación sobre este tema utilizando un método sistemático. Para llenar este vacío, se realizó un mapeo sistemático de literatura con el objetivo de resumir los estudios sobre el uso de la gamificación como estrategia didáctica para la enseñanza/aprendizaje de la Programación. Inicialmente, mediante la búsqueda en cuatro (4) bibliotecas digitales, se obtuvieron 186 estudios. Luego, después de un cuidadoso análisis de cada uno de ellos, verificamos que sólo 78 coinciden con nuestras necesidades. Por último, hemos categorizado las contribuciones de estos estudios para presentar una visión general de los resultados producidos por la comunidad investigadora.
Palabras clave: Enseñanza/AprendizajeEnseñanza/Aprendizaje,GamificaciónGamificación,Mapeo SistemáticoMapeo Sistemático,ProgramaciónProgramación.
Abstract: The incorporation of gamification into Programming courses has been identified as a potential strategy that could maximize student participation and have a positive impact on learning. To our knowledge, there is no study aimed at collecting and analyzing research results on this subject using a systematic method. To fill this gap, a systematic mapping of literature was carried out with the aim of summarizing the studies on the use of gamification as a didactic strategy for teaching/learning of Programming. Initially, through the search in four (4) digital libraries, 186 studies were obtained. Then, after a careful analysis of each of them, we verify that only 78 match our needs. Finally, we have categorized the contributions of these studies to present an overview of the results produced by the research community.
Keywords: Teaching/Learning, Gamification, Systematic Mapping, Programming.
Artículos
La gamificación como estrategia didáctica para la enseñanza/aprendizaje de la programación: un mapeo sistemático de literatura
Gamification as a didactic strategy for teaching/learning programming: a systematic mapping of the literature
Recepción: 27 Abril 2017
Aprobación: 22 Noviembre 2017
La popularidad de la educación en Ciencias de la Computación ha llevado a un aumento dramático en el número de instituciones educativas que ofrecen programas relacionados con esta área de conocimiento. En los currículos de los programas de Ciencias de la Computación e Ingenierías, son inevitables los cursos de Programación. Uno de los mayores retos a los que se enfrentan la mayoría de los estudiantes, especialmente aquellos en los primeros niveles, es lidiar con temas de Programación. Por ejemplo, entre los temas críticos destacados y ampliamente discutidos por los investigadores es la Programación Orientada a Objetos [1] [2].
La incorporación de la gamificación en cursos de Programación ha sido identificada como una estrategia potencial que podría maximizar la participación de los estudiantes y tener un impacto positivo en el aprendizaje. La gamificación se refiere a la incorporación de elementos de juego en diferentes entornos incluyendo los de aprendizaje, y se está convirtiendo en un tema de interés predominante entre los investigadores. Los estudios sobre la implementación de elementos de juego en la educación han reportado que la gamificación mejora la participación de los estudiantes en el aula tradicional y en el aprendizaje en línea.
El uso de juegos en la educación puede ser reconocido como juego serio, aprendizaje basado en juegos y gamificación. Sin embargo, el uso de elementos de juego en la educación se ajusta más a la definición de gamificación. La gamificación puede definirse como el uso de elementos de juego en un contexto ajeno al juego [3] [4], incluso en el contexto educativo, con el objetivo de mejorar la participación de los estudiantes.
Con el fin de abordar desde un panorama más amplio la problemática descrita, se realizó un mapeo sistemático de literatura para recopilar y analizar investigaciones sobre la utilización de la gamificación como estrategia didáctica para la enseñanza/aprendizaje de la Programación. Utilizamos el método propuesto por Petersen [5], como se describe en la Sección 2.
En resumen, primero definimos el protocolo de investigación y seleccionamos las bibliotecas digitales más importantes en el campo de la informática y las tecnologías educativas. Realizando procesos de búsqueda en estas bibliotecas, se encontraron 186 estudios (artículos publicados), se eliminaron registros anómalos y repetidos quedando un total de 135, de los cuales se verificó que 78 coinciden con nuestras necesidades (es decir, están relacionados directamente con la temática en discusión, y cumplieron con los criterios de inclusión y exclusión definidos en este trabajo).
Finalmente, analizamos y clasificamos cuidadosamente estos estudios como se muestra en la Sección 3 para responder a las siguientes preguntas:
1) ¿Cuáles son los objetivos de investigación y los tipos de contribuciones de los estudios sobre la gamificación como estrategia didáctica para la enseñanza/aprendizaje de la Programación?
2) ¿En qué áreas del conocimiento se ha empleado la gamificación como estrategia didáctica de enseñanza/aprendizaje?
3) ¿Cuáles son las estrategias didácticas más comunes relacionadas con gamificación, empleadas en la enseñanza/aprendizaje de la Programación?
4) ¿Existen estudios que validen la gamificación como estrategia didáctica de enseñanza/aprendizaje de la Programación?
5) ¿Qué piensan los autores acerca de la gamificación como estrategia didáctica para la enseñanza/aprendizaje de la Programación?
Concluimos este trabajo discutiendo los resultados y aplicaciones prácticas de nuestros hallazgos en la Sección 4.
Un mapeo sistemático es una técnica de investigación que proporciona las directrices para llevar a cabo revisiones de literatura [5]. Se compone de pasos metódicos para buscar, interpretar, sintetizar y analizar la información presente en artículos publicados relacionados con el tema en estudio. El uso de esta técnica tiene como objetivo proporcionar una visión general del área de interés y minimizar las posibilidades de error durante el proceso de revisión. Un proceso sistemático de este tipo también permite tener un mejor control de la actividad de revisión, y eliminar posibles errores que pueden llevar a conclusiones erróneas o imprecisas.
En este trabajo, se empleó la metodología propuesta por Petersen [5] para llevar a cabo un mapeo sistemático, la cual plantea cinco pasos secuenciales: (i) definición de las preguntas de investigación, (ii) definición de los criterios de búsqueda de estudios primarios, (iii) definición de los criterios de inclusión y exclusión, (iv) determinación del esquema de clasificación, y (v) extracción de datos y mapeo de estudios. Cada uno de estos pasos se presentan en las siguientes subsecciones.
La gamificación como estrategia didáctica para la enseñanza/aprendizaje de la programación: un mapeo sistemático de literatura I Gamification as a didactic strategy for teaching/learning programming: a systematic mapping of the literature
El objetivo de este mapeo sistemático es identificar y clasificar el trabajo actual sobre la gamificación empleada como estrategia didáctica en la enseñanza/aprendizaje de la Programación de Computadores. En búsqueda de estudios primarios relacionados, se definieron las siguientes preguntas de investigación:
RQ1: ¿Cuáles son los objetivos de investigación y los tipos de contribuciones de los estudios sobre la gamificación como estrategia didáctica para la enseñanza/aprendizaje de la Programación?
RQ2: ¿En qué áreas del conocimiento se ha empleado la gamificación como estrategia didáctica de enseñanza/aprendizaje?
RQ3: ¿Cuáles son las estrategias didácticas más comunes relacionadas con gamificación, empleadas en la enseñanza/aprendizaje de la Programación?
RQ4: ¿Existen estudios que validen la gamificación como estrategia didáctica de enseñanza/aprendizaje de la Programación?
RQ5: ¿Qué piensan los autores acerca de la gamificación como estrategia didáctica para la enseñanza/aprendizaje de la Programación?
La búsqueda de estudios primarios se compone de dos pasos. En el primer paso, se define la cadena de búsqueda teniendo en cuenta los términos más relevantes relacionados con el tema en estudio. En el segundo paso, se seleccionan las bases de datos electrónicas pertinentes para llevar a cabo la búsqueda.
Para crear la cadena de búsqueda, se utilizaron las palabras clave (i) que figuran en las preguntas de la investigación, (ii) extraídas de documentos destacados, y, (iii) obtenidas a partir de una pequeña entrevista con expertos en el tema. El resultado se muestra en la Tabla I. Se definieron tres palabras clave principales: "teaching", "gamification" y "programming"; cada palabra clave forma una categoría que contiene sus respectivos términos relacionados.

Para crear la cadena de búsqueda final, las categorías C1, C2 y C3 se combinaron con el operador booleano "AND", y las palabras clave dentro de cada categoría se combinaron con el operador booleano "OR", como se muestra a continuación:
(teaching OR learning OR education) AND (gamification OR gamified OR gamifiying) AND (programming OR computational thinking)
Para seleccionar las bases de datos electrónicas pertinentes para llevar a cabo la búsqueda, se tuvo en cuenta el análisis de los resultados de Dybå et al. [6], quienes proporcionan una lista de bases de datos importantes en el campo de las Ciencias de la Computación y la Ingeniería. A continuación, para centrar la búsqueda, se redujo esta lista, obteniendo las bases de datos que cubren las conferencias y revistas más importantes en el campo de la tecnología educativa. Se seleccionaron las siguientes bases de datos electrónicas:
ACM Digital Library
IEEE Xplore
ScienceDirect
Scopus
El motor de búsqueda de cada base de datos seleccionada utiliza diferentes mecanismos y estándares. Por lo tanto, se adaptó la cadena de búsqueda a cada base de datos, como se muestra en la Tabla II, para llevar a cabo búsqueda avanzada en títulos, resúmenes y palabras claves de artículos, obteniendo así un primer conjunto de estudios primarios.


Se definieron los siguientes criterios de inclusión (I) y de exclusión (E), para agregar o eliminar artículos al análisis:
I1 : Artículos publicados en los últimos cinco (5) años (2012 - 2016).
I2: Si varios artículos están relacionados con el mismo estudio, solamente se selecciona el más reciente.
I3: Si un artículo describe más de un estudio, cada estudio es evaluado individualmente.
I4: Si hay versiones corta y completa de un mismo estudio, esta última es la que se incluye.
E1 : Reportes técnicos y documentos que están disponibles en forma de resúmenes o presentaciones (literatura gris) y estudios secundarios (revisiones y mapeos sistemáticos).
E2: Artículos en idiomas diferentes al Inglés o al Español.
E3: Artículos que no presentan estudios relacionados con educación.
E4: Artículos que no presentan estudios relacionados con ciencias de la computación y afines.
Una vez definidos los criterios de inclusión y de exclusión, se procede a dar lectura a los títulos y a los resúmenes (y en ocasiones a la introducción y a las conclusiones) de cada artículo, para identificar aquellos considerados irrelevantes para el trabajo. Luego de la aplicación de estos criterios, se da lectura cuidadosa a la selección final de artículos, y los datos contenidos en estos, fueron extraídos, analizados y categorizados. El conjunto final de artículos y el análisis de datos se presentan en la Sección 3.
Para tener una mejor comprensión de las contribuciones de cada artículo analizado, se utilizaron las categorías sugeridas por Wieringa et al. [7], para analizar, clasificar y categorizar los tipos de estudios descritos en los artículos. Estas categorías son:
Investigación de validación: Nuevas técnicas que aún no se han implementado en la práctica. Utilizada generalmente en ajustes experimentales en laboratorio.
Investigación de evaluación: Técnicas que se implementan en la práctica y de las cuales se realiza una evaluación. Esto incluye análisis de implementación, beneficios e inconvenientes.
Propuesta de solución: Se propone una solución para un problema específico, la cual puede ser una nueva solución o una extensión de una técnica existente. Los posibles beneficios de la solución se presentan a través de estudios de casos (pequeños ejemplos) u otras argumentaciones.
Artículos filosóficos: Estudios que presentan una nueva mirada o enfoque del área de estudio, a menudo usando taxonomías y marcos conceptuales.
Artículos de opinión: Estudios que expresan una opinión personal sobre si una técnica es buena o mala, y/o cómo debe ser utilizada o implementada.
Artículos de experiencias: Contienen la experiencia personal del autor, explicando qué y cómo se ha hecho algo en la práctica.
Los artículos fueron analizados y clasificados de acuerdo con los pasos y categorías presentados en las secciones anteriores. También se crearon otras categorías para separar las contribuciones de investigación de cada artículo (ver Sección 3). Los datos extraídos de los artículos fueron almacenados y sometidos a análisis cualitativo y cuantitativo. Este análisis tuvo como objetivo encontrar evidencias para responder a las preguntas de investigación definidas en la Sección 2.1. Para organizar los hallazgos y documentar el proceso de extracción de datos, se utilizó una hoja de cálculo, lo que permitió realizar también otros análisis estadísticos, como determinar el número de publicaciones por año, por lugar, y por tipo, entre otros análisis.
En esta sección, se presentan los resultados del mapeo sistemático. El propósito principal es dar una visión general sobre cómo la gamificación se está empleando como estrategia didáctica para la enseñanza/aprendizaje de la Programación de Computadores. Este trabajo se realizó durante un período de cuatro meses entre agosto y noviembre de 2016.
La Fig. 1 muestra la ejecución de los pasos presentados en las secciones 2.1, 2.2 y 2.3. Inicialmente, al realizar la búsqueda en las bases de datos seleccionadas, se obtuvieron 186 artículos, de los cuales se eliminaron 27 registros incompletos o anómalos quedando un total de 159 artículos. De éstos, se identificó que 24 de ellos están almacenados en más de una base de datos, por lo tanto, se eliminan también los duplicados dejando sólo una copia de cada artículo en los registros. Así, para el siguiente paso quedaron por analizar 135 artículos. A continuación, se aplican los criterios de inclusión y exclusión (I1 + E1 + E2) en los 135 artículos, incluyendo los publicados en los últimos cinco (5) años y, excluyendo los registros que no corresponden a artículos publicados, de conferencia o capítulos de libro, y los escritos en idiomas diferentes al inglés o al español, quedando 132 artículos.

Sobre los 132 artículos aplicamos los criterios de inclusión y exclusión (I2 + I3 + I4 + E3 + E4), leyendo su título y resumen, identificando 89 trabajos inicialmente pertinentes con la temática. En la última etapa de este proceso, leímos atentamente los 89 artículos y volvimos a aplicar los criterios de inclusión y exclusión, donde se eliminaron 11 trabajos. El resultado final de este proceso dejó 78 artículos que fueron utilizados como evidencia para responder a nuestras preguntas de investigación. La lista de estos documentos aparece en la sección de Referencias al final de este documento.
Antes de responder a las preguntas de investigación de este trabajo, es importante dar una visión general sobre dónde y cuándo se publicaron los 78 artículos.
La Fig. 2 muestra en el eje x el número de documentos por tipo de publicación (es decir, artículo de revista, actas de conferencias o capítulo de libro) y en el eje y la base de datos de la que se recuperaron los documentos. De acuerdo con la Fig. 2, el número de trabajos publicados en actas de conferencia (63 artículos) son los más frecuentes, seguidos por artículos de revistas (13 artículos) y capítulos de libros (2 artículos).

Este resultado destaca la importancia de las conferencias para la difusión de la investigación sobre el tema de la gamificación empleada como estrategia didáctica en la enseñanza/aprendizaje de la Programación. Vale la pena señalar que 24 artículos no están asociados con la base de datos Scopus porque su índice primario proviene de otras bases de datos (por ejemplo, los artículos publicados por IEEE están indexados principalmente en IEEE Xplore pero también aparecen en Scopus). Sin embargo, también es importante enfatizar la importancia de la base de datos Scopus durante la validación y calibración de la cadena de búsqueda.
Observando la frecuencia de las publicaciones, se encontró que el 88% de los estudios sobre el tema se publicaron en los últimos tres años como se muestra en la Fig. 3. Esta tendencia de aumento gradual indica la creciente importancia y potencial del tema de investigación. En cuanto al año 2016, en el que se encontraron 18 trabajos, es posible que en el momento de la ejecución del proceso de extracción algunos estudios todavía no estuvieran indexados en las bases de datos.

En la sección 2.4, se mencionó el uso de las categorías propuestas por Wieringa et al. [7] para agrupar los artículos por tipo de estudio. Sin embargo, para responder a RQ1 (¿Cuáles son los objetivos de investigación y los tipos de contribuciones de los estudios sobre la gamificación como estrategia didáctica para la enseñanza/aprendizaje de la Programación?), también es necesario clasificar los artículos por sus objetivos de investigación. Por lo tanto, después de revisar todos los artículos, se proponen tres (3) categorías específicas para este trabajo, así:
General: Estudios donde la gamificación se emplea como recurso didáctico en diferentes áreas o contextos de conocimiento.
Ciencias de la Computación: Estudios orientados hacia el uso didáctico de la gamificación en entornos o cursos relacionados con las Ciencias de la Computación.
Programación: Estudios enfocados específicamente en el uso didáctico de la gamificación en entornos o cursos relacionados con la Programación de Computadores.
Utilizamos estas categorías y las presentes en la Sección 2.4 para crear un gráfico de burbujas (Fig. 4) para mostrar la distribución de los estudios en cada categoría. En el eje x tenemos las categorías de los tipos de estudio y en el eje y los objetivos de investigación. El tamaño y el número de cada burbuja representa el número de estudios que se ubican en una situación x-y específica.

Al observar los números en las burbujas relacionadas con cada fila de la Fig. 4, es posible verificar que la mayoría de los estudios, un total de 33, pertenecen a la categoría "Programación", los cuales tienen como principal objetivo la utilización de la gamificación como estrategia didáctica en entornos educativos relacionados con la Programación de Computadores; 13 de estos estudios evaluaron sus resultados a través del uso de casos, 9 de ellos utilizaron datos de escenarios reales de aprendizaje, y 6 validan la estrategia didáctica. Los cursos o entornos relacionados a que hacen referencia los estudios son: Algoritmos, Fundamentos de Programación, Programación Orientada a Objetos, Programación en C, Programación en Phyton, Programación Extrema y Estructuras de Datos.
La categoría "General" relacionada con la aplicación de la estrategia en otras áreas del conocimiento (ver Tabla IV), también está bien explorada en la literatura con un total de 25 estudios. Es importante anotar, que un número significativo de estudios, 20, se relacionan con la aplicación de la estrategia en diferentes subáreas de las Ciencias de la Computación (ver Tabla V), sin tener en cuenta a la Programación.


Desde otro punto de vista, observando los números en las burbujas relacionadas con cada columna de la Fig. 4, también es posible verificar que la mayoría de los estudios concentran su esfuerzo en proponer soluciones, un total de 24, y en evaluar resultados en escenarios reales, un total de 20. Estos números muestran la madurez del campo de investigación, ya que la mayoría de los estudios se realizaron con estudiantes y en sus entornos de aprendizaje.
Para responder a RQ2 (¿En qué áreas del conocimiento se ha empleado la gamificación como estrategia didáctica de enseñanza/aprendizaje?), revisamos cada uno de los estudios finales y encontramos que un total de 45 (58%) dan cuenta de la utilización de la estrategia didáctica en varias áreas del conocimiento en general, como también en algunas subáreas de las Ciencias de la Computación (ver Tablas IV y V).
Para abordar RQ3 (¿Cuáles son las estrategias didácticas más comunes relacionadas con gamificación, empleadas en la enseñanza/aprendizaje de la Programación?), igualmente revisamos cada uno de los estudios finales y encontramos que, Fig. 5, el 61% de ellos corresponden a estudios en los cuales se utiliza en solitario elementos de gamificación como juegos serios o entornos específicos gamificados como "Kodesh" [8] y "Wolves and Sheep" [9]; asimismo el 30% corresponden a estudios en donde se emplean elementos de gamificación combinados con otras estrategias como "flipped learning", "lighweight teams", interacción "peer to peer", redes sociales, MOOC, "blended learning", Moodle, y ambientes virtuales 3D, entre otras; y, sólo un 9% corresponden a estudios en donde se emplean otras estrategias sin involucrar elementos de gamificación, como MOOC, plataformas de aprendizaje personalizadas, y, "Motivational Active Learning" y "Technology-Enabled Active Learning" (mencionadas en [10]).

Estos últimos (3 - 9%) podría decirse que corresponden a registros erróneos en los estudios primarios obtenidos, ya que no cumplen con todos los criterios en la cadena de búsqueda; se decidió conservarlos dado que aportan elementos importantes que podrían ser de interés para estudios futuros. De los 6 estudios de validación en la categoría de "Programación" (ver Fig. 4), 4 incorporan elementos de gamificación en solitario como estrategia didáctica, y 2 en combinación con otras estrategias, lo que respondería a RQ4 (¿Existen estudios que validen la gamificación como estrategia didáctica de enseñanza/aprendizaje de la Programación?).
A continuación, basados en los estudios resultantes en la categoría "Programación" (ver Fig. 4), presentamos los aportes más relevantes que darían respuesta a RQ5 (¿Qué piensan los autores acerca de la gamificación como estrategia didáctica para la enseñanza/aprendizaje de la Programación?):
El éxito del "flipped learning" depende crucialmente de un compromiso adecuado de los estudiantes dentro y fuera de la clase. Aquí la gamificación puede ayudar [11].
Code Hunt [12] es un juego serio basado en la web para la enseñanza y el aprendizaje de las Ciencias de la Computación. Puede emplearse para enseñar y aprender Programación de Computadores en muchos niveles, desde la escuela secundaria hasta el nivel universitario. Los autores tienen previsto investigar si la gamificación de la Programación mejora significativamente la eficacia y la eficiencia del aprendizaje de los estudiantes.
En este estudio [13], los autores presentan un enfoque para el uso de elementos de gamificación orientado a aumentar la colaboración estudiantil en línea. Agregaron un sistema gamificado de discusión en línea a un curso de Introducción a la Programación, con el objetivo de motivar a los estudiantes a ayudarse mutuamente. El sistema tuvo un impacto positivo en el curso, aumentando la colaboración estudiantil, reduciendo los tiempos de respuesta, e hizo que las comunicaciones fueran más eficientes al reducir el tráfico de correo electrónico.
La gamificación es vista como una poderosa estrategia para influenciar y motivar a las personas. Los objetivos de aplicar este tipo de enfoque a una clase son: la transformación de las actividades de clase en desafíos, fomentar el liderazgo de los participantes, desarrollar equipos de colaboración, recompensar la eficiencia y el esfuerzo en el desarrollo de actividades y fomentar una experiencia de aprendizaje significativa [14].
Los autores de [15], explican cómo se han utilizado "lightweight teams" en una clase inicial de Ciencias de la Computación, y cómo este enfoque, combinado con "flipped class" y gamificación, ha llevado a altos niveles de participación de los estudiantes, a pesar de la dificultad del contenido y la frustración que es común en los primeros intentos de aprender a programar.
En [16], se presenta un nuevo entorno basado en navegador para la enseñanza de Introducción a la Programación. Esta plataforma combina la gamificación con la interacción "peer-to-peer".
Enki [17], es un IDE basado en la web que integra varias herramientas pedagógicas diseñadas para involucrar a los estudiantes en el aprendizaje de lenguajes de programación. Enki logra este objetivo (i) mediante la secuenciación de los recursos educativos, ya sean expositivos o evaluativos, (ii) utilizando elementos de gamificación para motivar a los estudiantes a resolver actividades, (iii) promoviendo la interacción social y (iv) ayudando a los estudiantes con las actividades, proporcionando retroalimentación sobre las soluciones enviadas.
El estudio [18], muestra la utilización de una red social y conceptos de gamificación, como medallas, puntos, niveles y tableros de líderes, para mejorar la participación de los estudiantes de lenguajes de programación.
Schmolitzky y Góttel [19] presentan "Guess My Object" (GMO) como un nuevo enfoque para entrar tempranamente en contacto con la orientación a objetos, el cual puede complementar los enfoques de enseñanza existentes. En esencia, GMO es una forma de usar BlueJ como un juego interactivo basado en rondas, cada una de las cuales consta de dos etapas, la exploración del comportamiento y la implementación del comportamiento.
A los estudiantes a veces les resulta difícil aprender nuevos lenguajes de programación. El estudio presentado por Khaleel et al. [20], intenta resolver el problema mediante la aplicación de elementos de gamificación en un curso de lenguajes de programación, como una nueva aplicación de la gamificación para aumentar la eficacia del aprendizaje y mejorar la comprensión de los estudiantes.
En [21], los autores diseñaron e implementaron una infraestructura MOOC y la usaron como un SPOC (Small Private Online Course) para apoyar y complementar un curso de Introducción a la Programación. Los resultados reportados son alentadores por dos razones: en primer lugar, el nivel de participación fue bueno, a pesar de que el curso en línea fue una adición opcional al curso presencial; en segundo lugar, a los estudiantes les gustaron mucho las evaluaciones (cuestionarios y ejercicios de programación), a pesar de que estas no contaban para la calificación final del curso. Los datos recogidos sugieren que esto puede, al menos en parte, ser debido a un aspecto de gamificación que se introdujo en el curso: la concesión de medallas virtuales para obtener puntos completos en los cuestionarios.
El modelo combinado de educación presentado en [22], fomenta el desarrollo de una práctica docente que se adapta a la diversidad estudiantil a través de una enseñanza informada. El modelo abarca aspectos que van desde enfoques tradicionales y métodos de entrega establecidos hasta e-Learning y MOOC con, por ejemplo, gamificación. Estudio puesto en marcha para mejorar la participación y el logro de los estudiantes en un curso de Programación en pregrado.
Los ambientes de aprendizaje gamificados que combinan el aula con una plataforma e-Learning, son una propuesta educativa que incrementa la motivación y el compromiso de los estudiantes en el proceso de aprendizaje. La investigación [23], analiza cuantitativa y cualitativamente el uso de "Gamified Moodle" como una herramienta para mejorar los parámetros antes mencionados mediante la realización de tareas autónomas, en un curso de Fundamentos de Programación Java.
Atraer y retener a los estudiantes implica un compromiso y una satisfacción a nivel individual, de equipo y de clase. En [24], se explora los efectos de estos factores con un enfoque gamificado en una práctica de programación de un curso introductorio de Ciencias de la Computación. Se presenta un nuevo juego de aprendizaje y los resultados de las pruebas del juego con estudiantes. Se obtuvo una retroalimentación positiva de los estudiantes y de los educadores, y se observaron una alta participación, interacción y esfuerzos exitosos de programación en equipo.
La gamificación parece ser una herramienta viable para motivar a los estudiantes a participar activamente e interactuar en un proyecto de aula. Estudios recientes muestran que, cuando se utiliza de la manera correcta, la gamificación puede ser un gran beneficio para la educación y una motivación para el trabajo [25].
Lückemeyer [26], presenta un concepto y un prototipo de un entorno 3D utilizado como un nuevo recurso en la enseñanza de la programación en las universidades. El concepto incorpora al ambiente virtual 3D aspectos de gamificación, así como mecanismos de interacción con medios sociales.
Investigaciones han demostrado desarrollo cognitivo y principios de aprendizaje en el uso de videojuegos. Como resultado, hay un creciente interés en los juegos como herramientas de enseñanza. En su trabajo, Isaac y Babu [27], proponen el diseño de un estudio de aplicación de la gamificación a un programa de computador, VENVI (Virtual ENVironment Interactions), con el fin de promover la motivación, el compromiso y el pensamiento computacional.
La gamificación se ha identificado como una técnica prometedora para mejorar la participación de los estudiantes, lo que podría tener un impacto positivo en el aprendizaje. El estudio [28] evaluó la eficacia del aprendizaje y el atractivo del compromiso de una actividad gamificada dirigida al aprendizaje del lenguaje de programación C. Además, el estudio indagó qué actividades de aprendizaje gamificadas eran más atractivas para los estudiantes. Los resultados muestran efectos positivos en el compromiso de los estudiantes hacia las actividades gamificadas y una moderada mejora en los resultados del aprendizaje.
El trabajo de Butgereit [29], describe el uso de la gamificación en el micro-aprendizaje móvil en un departamento de TI corporativo. El departamento de TI bajo investigación hizo la mayor parte de sus desarrollos de programación en Java. En un esfuerzo por mantener a todos los empleados al corriente de las últimas técnicas y tendencias de programación, además de proporcionar una nueva formación para algunos empleados junior, se implementó un enfoque gamificado de micro-aprendizaje móvil.
Un enfoque de aprendizaje gamificado, multidimensional basado en problemas, puede producir mejores resultados incluso cuando se aplica a una tarea muy compleja y tradicionalmente "aburrida" como la enseñanza de la Programación de Computadores, como se muestra en el trabajo de Fotaris et al. [30].
Muchos profesores reportan que los estudiantes de Programación prestan poca atención, presentan falta de concentración y tienen poca motivación para aprender a programar. En el estudio de Bogdanovych y Trescak [31], se investiga cómo la enseñanza de la Programación a la generación actual de estudiantes, "nativos digitales" que crecieron con Google y Facebook y que no conocen el mundo antes de Internet, puede ser mejorada a través de un enfoque visualmente parecido a un juego.
En [32], se introdujo un curso de diseño de juegos para programadores novatos de pregrado, y se examinó también el efecto de diseñar juegos sobre la actitud y la motivación en estudiantes de primaria y de secundaria. El objetivo de usar juegos en este contexto es hacer que los estudiantes aprendan algo serio y difícil como programar mientras hacen algo divertido como construir y jugar juegos.
La investigación ha declarado que el control y la motivación del estudiante son aspectos cruciales para una educación en línea exitosa. En [33], se presenta y se discute la visualización como un canal para mejorar el control del estudiante y la comprensión de los conceptos de Programación, y la gamificación como una forma de aumentar la motivación para el estudio en entornos virtuales de aprendizaje.
Considerando los problemas que generalmente se presentan en la enseñanza de cursos de programación tales como temáticas aburridas, poco entusiasmo por el aprendizaje, estructuras gramaticales y ejemplos dispersos, entre otros, Zeng [34], propone un modo educativo gamificado, el cual puede estimular eficazmente la motivación y el interés de los estudiantes por el aprendizaje, y luego cultivar su capacidad de autoaprendizaje.
García et al. [35], presentan un innovador entorno de aprendizaje para la enseñanza de conceptos iterativos de Programación. El sistema incluye elementos de gamificación tales como sistema de puntos, tablas de clasificación y logros. Con la aplicación del sistema, se observó una mejora en el nivel de compromiso y en el rendimiento de los estudiantes.
El estudio de Kotini y Tzelepi [36], define un marco de trabajo centrado en el estudiante para fortalecer su participación activa, utilizando la motivación intrínseca por el aprendizaje. Como guía para la aplicación del marco, presentan tres prototipos de escenarios y las correspondientes correlaciones con el pensamiento computacional, la gamificación y las metas de la teoría del aprendizaje constructivista a lo largo de las actividades de aprendizaje.
En el contexto de la Programación, el enfoque de aprender haciendo no sólo ayuda a los estudiantes a comprender mejor un concepto, sino que también facilita la identificación de patrones de resolución de problemas. Con el fin de mantener la motivación de los estudiantes, Campos et al. [8], crearon un entorno de e-Learning en línea llamado Kodesh (Koding Shell), como una forma de facilitar la práctica de los estudiantes. Algunos elementos gamificados basados en el enfoque Points, Badges and Leaderboards, PBL, (puntos, medallas y tablas de clasificación) se introdujeron en el entorno. Estos componentes resultaron ser un rasgo esencial para la motivación de algunos estudiantes, pero no para todos.
En [37], se informa sobre un estudio exploratorio de otorgar medallas como parte de un sistema de clasificación por pares en un grupo de estudio de preguntas y respuestas sobre Python, el lenguaje de programación. El estudio tuvo como objetivo comprender cómo las medallas otorgadas a las respuestas en un entorno de aprendizaje basado en pares, pueden funcionar como un mecanismo para "medir" el valor de esas respuestas cuando los indicadores tradicionales de experiencia no siempre están claramente definidos e identificados.
El juego "Wolves and Sheep" es una simulación computacional educativa y multi-agente para estudiantes de clases de Programación. La gamificación presente en él, ayuda a motivar a los estudiantes y crea experiencias de aprendizaje positivas pero desafiantes [9].
La mayoría de los sistemas de aprendizaje existentes para el pensamiento computacional sólo funcionan en computadores de escritorio o portátiles, aunque la popularidad de los teléfonos inteligentes ha crecido rápidamente. Sakamoto et al. [38], proponen un sistema de aprendizaje gamificado que utiliza una interfaz de usuario atractiva, con un nuevo lenguaje de programación no verbal basado en iconos, y que además funciona en teléfonos inteligentes.
La gamificación empleada como una estrategia didáctica de enseñanza/aprendizaje es un tema de investigación importante en el ámbito educativo y computacional, debido a su posible aplicación para aumentar los beneficios de aprendizaje especialmente en estudiantes de áreas de conocimiento técnico como las Ciencias de la Computación, y específicamente en cursos relacionados con la Programación de Computadores. Debido a la habitual complejidad en la enseñanza/aprendizaje de la Programación, se han planteado diferentes enfoques didácticos que incorporan elementos de gamificación, y en ocasiones en combinación con otros enfoques, buscando consolidar estrategias que aporten posibles soluciones al problema.
En este trabajo utilizamos el método de mapeo sistemático (Sección 2) para recopilar, analizar y resumir los logros de investigación sobre el tema. Iniciamos el análisis de 186 artículos y, después de una cuidadosa inspección, descartamos 108 artículos que no cumplían con los criterios de inclusión y exclusión definidos. Los 78 trabajos restantes, fueron los que produjeron las evidencias para responder a las cinco (5) preguntas de investigación presentadas en la sección 2.1 - RQ1: ¿Cuáles son los objetivos de investigación y los tipos de contribuciones de los estudios sobre la gamificación como estrategia didáctica para la enseñanza/aprendizaje de la Programación? RQ2: ¿En qué áreas del conocimiento se ha empleado la gamificación como estrategia didáctica de enseñanza/aprendizaje? RQ3: ¿Cuáles son las estrategias didácticas más comunes relacionadas con gamificación, empleadas en la enseñanza/aprendizaje de la Programación? RQ4: ¿Existen estudios que validen la gamificación como estrategia didáctica de enseñanza/aprendizaje de la Programación? RQ5: ¿Qué piensan los autores acerca de la gamificación como estrategia didáctica para la enseñanza/aprendizaje de la Programación?
De acuerdo con los resultados presentados en la Sección 3, el uso de la gamificación en entornos o cursos relacionados con la Programación de Computadores, y, la presentación de propuestas de solución, son respectivamente, el principal objetivo de investigación y tipo de estudio identificados en la literatura (ver Fig. 4), esto respondiendo a RQ1. Además, existen otras áreas del conocimiento en general y subáreas de las Ciencias de la Computación, en donde también se aplica la gamificación como estrategia didáctica (ver Tablas IV y V), lo que responde a RQ2. Se observó también que, existen estudios en los cuales se utiliza en solitario elementos de gamificación como juegos serios o entornos específicos gamificados; asimismo, estudios en donde se emplean elementos de gamificación combinados con otras estrategias como "flipped learning", "lighweight teams", interacción "peer to peer", redes sociales, MOOC, "blended learning", Moodle, y ambientes virtuales 3D, entre otras; como también estudios en donde se emplean otras estrategias sin involucrar elementos de gamificación, como MOOC y plataformas de aprendizaje personalizadas; lo anterior, respondiendo a RQ3. Es importante anotar que, existen estudios que validan el uso de la gamificación como estrategia didáctica para la enseñanza/aprendizaje de la Programación, tanto en solitario como en combinación con otras estrategias (ver Fig. 4); esto responde a RQ4. Nuestra revisión arrojó una cantidad importante de aportes de la comunidad investigadora que sientan una buena base para trabajos futuros, dejando en claro que la gamificación se consolida cada vez más como una estrategia didáctica valida y pertinente, no sólo en la enseñanza/aprendizaje de la Programación, sino también en otras áreas del conocimiento incluyendo las Ciencias de la Computación; todo esto da respuesta a RQ5.
Creemos que, a través del desarrollo de este mapeo sistemático, es posible proporcionar a la comunidad educativa una visión general de la investigación sobre el uso de la gamificación como recurso didáctico para la enseñanza/aprendizaje de las Ciencias de la Computación, y en especial de la Programación de Computadores. Además de mostrar el creciente número de publicaciones y una variedad de enfoques para tratar el tema, también identificamos un cúmulo importante de aportes por parte de los investigadores. Esto, como mencionamos anteriormente, puede explotarse para abrir nuevas e importantes oportunidades para la investigación futura.
Los autores expresan sus agradecimientos a sus respectivos grupos de investigación por permitir y apoyar el desarrollo de este trabajo. Ellos son respectivamente el Grupo de Investigación Galeras.NET del Departamento de Sistemas de la Universidad de Nariño, el Grupo de Investigación y Desarrollo en Ingeniería del Software - IDIS de la Facultad de Ingeniería Electrónica y Telecomunicaciones de la Universidad del Cauca, y el Grupo de Investigación Tecnofilia de la Facultad de Ingeniería de la Institución Universitaria CESMAG.









