scieee AI-readable full text Open interactive document viewer

Animar al aprendizaje autónomo a través de gamificación en programación orientada a objetos

Calvillo Arbizu, Jorge

Abstract

La programación orientada a objetos es una disciplina de difícil comprensión para los que se inician sin conocimientos previos y requiere de una ajustada combinación de teoría y práctica con el fin de adquirir las destrezas y habilidades necesarias para resolver problemas reales. Dentro de la enseñanza universitaria puede fácilmente perder su carácter práctico y convertirse en un conjunto de conceptos teóricos de difícil comprensión y aplicación en la práctica profesional. Este trabajo presenta el diseño, desarrollo y evaluación de un ciclo de innovación docente en la asignatura Fundamentos de Programación II del Grado en Ingeniería de las Tecnologías de Telecomunicación de la Universidad de Sevilla en la que se pretende formar a los estudiantes en la programación orientada a objetos mediante el lenguaje Java. La metodología de innovación emplea elementos de gamificación y trabajos en pequeños grupos con el fin de motivar a los estudiantes y enseñar, a través de la autonomía del estudiante, tanto contenidos conceptuales como actitudes de resolución de problemas claves para los futuros ingenieros.

Full text

Esta obra se distribuye con la licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional (CC BY-NC-ND 4.0.) Animar al aprendizaje autónomo a través de gamificación en programación orientada a objetos Jorge Calvillo Arbizu Departamento de Ingeniería Telemática Universidad de Sevilla [email protected] D.O.I.: http://dx.doi.org/10.12795/JDU.2018.i01.04 Pp.: 80-95 Resumen La programación orientada a objetos es una disciplina de difícil comprensión para los que se inician sin conocimientos previos y requiere de una ajustada combinación de teoría y práctica con el fin de adquirir las destrezas y habilidades necesarias para resolver problemas reales. Dentro de la enseñanza universitaria puede fácilmente perder su carácter práctico y convertirse en un conjunto de conceptos teóricos de difícil comprensión y aplicación en la práctica profesional. Este trabajo presenta el diseño, desarrollo y evaluación de un ciclo de innovación docente en la asignatura Fundamentos de Programación II del Grado en Ingeniería de las Tecnologías de Telecomunicación de la Universidad de Sevilla en la que se pretende formar a los estudiantes en la programación orientada a objetos mediante el lenguaje Java. La metodología de innovación emplea elementos de gamificación y trabajos en pequeños grupos con el fin de motivar a los estudiantes y enseñar, a través de la autonomía del estudiante, tanto contenidos Animar al aprendizaje autónomo a través de gamificación en programación orientada a objetos Jorge Calvillo Arbizu 81 Jornadas de Formación e Innovación Docente del Profesorado | Nº 1 (2018) Esta obra se distribuye con la licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional (CC BY-NC-ND 4.0.) conceptuales como actitudes de resolución de problemas claves para los futuros ingenieros. Palabras clave: Fundamentos de Programación II; Grado en Ingeniería de las Tecnologías de Telecomunicación, docencia universitaria; experimentación docente universitaria, gamificación. Contexto Fundamentos de Programación II es una asignatura obligatoria del primer curso del Grado en Ingeniería de las Tecnologías de Telecomunicación ofertado por la Escuela Superior de Ingeniería de la Universidad de Sevilla. La asignatura está dividida por igual en clases teóricas y prácticas. Las clases teóricas se imparten en un aula estándar con un volumen de alumnos entre 25 y 30. Las prácticas se realizan en el Centro de Cálculo de la Escuela Superior de Ingeniería con grupos de 12-15 alumnos. Cabe destacar que, al tratarse de una asignatura de primer curso, los alumnos cuentan con limitados conocimientos en programación, y nulos cuando se trata de programación orientada a objetos, que es el foco de esta asignatura. Diseño del ciclo de mejora docente El ciclo de mejora docente se diseñó para los últimos temas de la asignatura centrados en Colecciones y Mapas, que no son más que estructuras de datos del lenguaje de programación Java. Mapa de contenidos En la Figura 1 se muestra el mapa de contenidos relacionados con estos dos temas. Los círculos azules tienen que ver con contenidos conceptuales y van desde lo más importante (azul oscuro) a lo menos importante (azul claro). Los conceptos Clase y Objetos ya forman parte de lo aprendido por los alumnos anteriormente en la asignatura Animar al aprendizaje autónomo a través de gamificación en programación orientada a objetos Jorge Calvillo Arbizu 82 Jornadas de Formación e Innovación Docente del Profesorado | Nº 1 (2018) Esta obra se distribuye con la licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional (CC BY-NC-ND 4.0.) y a partir de ellos y la pregunta “¿Cómo agrupamos objetos?” podemos introducir los nuevos conceptos de Colecciones y Mapas. Figura 1. Mapa de contenidos para los temas Colecciones y Mapas de la asignatura Fundamentos de Programación II Independientemente de los contenidos conceptuales concretos, en esta asignatura se busca que los alumnos adquieran una serie de contenidos actitudinales y procedimentales transversales. En cuanto a los primeros, se representan en la flecha verde y tienen que ver con la propia capacidad del alumno para resolver problemas de forma autónoma y tener espíritu crítico para dar la mejor solución, actitudes propias de cualquier ingeniero. Los contenidos procedimentales son transversales, pero se particularizan para la asignatura concreta. Como más importantes están tanto la identificación de lo que el alumno desconoce como el conocimiento de las herramientas que nos permiten aprender lo que no sabemos. En programación existen multitud de fuentes de información Animar al aprendizaje autónomo a través de gamificación en programación orientada a objetos Jorge Calvillo Arbizu 83 Jornadas de Formación e Innovación Docente del Profesorado | Nº 1 (2018) Esta obra se distribuye con la licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional (CC BY-NC-ND 4.0.) en Internet que pueden ayudar a cualquier a resolver dudas de manera autónoma. Por otro lado, como contenidos procedimentales menos importantes tenemos la utilización de herramientas software para programar (no son necesarias, pero sí muy útiles) y la elaboración de documentación del código (esta actividad es muy ingrata y los alumnos son reacios a realizarla, aunque es una buena práctica indispensable en la labor del programador). Las flechas añadidas al fondo indican que hay una fuerte interacción entre los contenidos conceptuales y los procedimentales (sobre todo en cuanto a la identificación y búsqueda de lo que el alumno desconoce) motivados siempre por actitudes como la proactividad o la creatividad. Modelo metodológico y secuencia de actividades El modelo metodológico diseñado cubría una sesión teórica en el aula tradicional y una sesión de práctica delante del ordenador, y estaba centrado en la resolución de problemas en pequeños grupos con un alto componente de investigación autónoma sin intervención docente. El objetivo es crear una experiencia de aprendizaje diversa donde se rompa con la metodología tradicional de aprendizaje y obligue a los estudiantes a “activarse” y ser participativos. Esta experiencia de aprendizaje se basa en la propuesta de Ken Bain (Bain, 2007) de crear un entorno de aprendizaje natural y crítico. El modelo metodológico posible adoptado se muestra en la Figura 2 y se rige por las etapas de problemas (P), hipótesis (H), búsqueda de información (BI) y solución (S). Por un lado, para la sesión en el aula se escogió un modelo basado en gamificación que, a través de un juego de preguntas por grupos, exigía a los alumnos que expusieran sus conocimientos, investigaran sobre nuevos conceptos y tomaran decisiones basadas en el consenso Animar al aprendizaje autónomo a través de gamificación en programación orientada a objetos Jorge Calvillo Arbizu 84 Jornadas de Formación e Innovación Docente del Profesorado | Nº 1 (2018) Esta obra se distribuye con la licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional (CC BY-NC-ND 4.0.) grupal. La sesión se planificó con una duración de 1 hora y 50 minutos y se formaron grupos de 4 alumnos. Cada grupo representaba un equipo que competía contra el resto en un juego de preguntas sobre los contenidos conceptuales específicos, es decir, sobre Colecciones y Mapas en Java. En cada ronda de juego, el equipo con menor puntuación elegía una pregunta que puede ser de los tipos: grupal, todos juegan y duelo (Figura 3). La pregunta grupal va dirigida al equipo que la escoge. Si la responde correctamente gana un punto. Si no, hay rebote y el siguiente equipo con menor puntuación tiene oportunidad de responder, y así sucesivamente. Las preguntas de tipo “todos juegan” tienen la particularidad de que todos los equipos responden a la pregunta y ganan puntos aquellos que la acierten. Finalmente, el equipo puede utilizar la pregunta duelo para retar a otro. En caso Figura 2. Modelo metodológico posible Animar al aprendizaje autónomo a través de gamificación en programación orientada a objetos Jorge Calvillo Arbizu 85 Jornadas de Formación e Innovación Docente del Profesorado | Nº 1 (2018) Esta obra se distribuye con la licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional (CC BY-NC-ND 4.0.) de que el equipo retado falle, pierde un punto que gana el retador. Si este acierta la pregunta gana un punto adicional. Figura 3. Conjunto de preguntas del juego y ejemplo de pregunta de tipo “todos juegan” El juego de preguntas no era una prueba de conocimiento enmascarada como un juego, sino que las preguntas incluían conceptos que los alumnos no habían visto todavía. Por eso, para responderlas se daban varios minutos en los que ellos tenían que buscar la información que necesiten en los manuales, Internet, etc. El profesor era un simple moderador del juego y no respondía a ninguna cuestión conceptual. Tras la resolución, los alumnos que hubieran acertado debían explicar siempre el razonamiento que les había llevado a la conclusión y los equipos que no habían acertado podían hacer preguntas para entenderlo. Esto obliga a los que aciertan a explicar a sus compañeros parte de la teoría. El papel del profesor es simplemente indicar la respuesta correcta y completar las explicaciones de los alumnos a sus compañeros. El juego termina cuando se Animar al aprendizaje autónomo a través de gamificación en programación orientada a objetos Jorge Calvillo Arbizu 86 Jornadas de Formación e Innovación Docente del Profesorado | Nº 1 (2018) Esta obra se distribuye con la licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional (CC BY-NC-ND 4.0.) acaba la sesión y el desenlace es proclamar ganador al equipo con más puntos. La segunda parte del ciclo de mejora se llevaba a cabo en la sesión práctica con lo que hemos llamado un taller de programación. En él los alumnos trabajan en parejas durante 1 hora y 50 minutos delante de un ordenador y siguiendo las instrucciones de una hoja de trabajo. Este modelo metodológico se basa en la propuesta de talleres conceptuales de Don Finkel (Finkel, 2008). En este caso, tenían que desarrollar un programa a partir de una plantilla inicial añadiendo diferentes aspectos de Colecciones y Mapas que se cubren en el tema. Para ello e igual que pasaba en el juego de preguntas, debían ser proactivos en la búsqueda de información y la resolución de los problemas que se encontraran. Además, en la hoja de trabajo se incluían preguntas que obligaban a pararse a pensar y razonar sobre lo que se está haciendo. (Extracto de la hoja de trabajo) Mantenga abierto el fichero “Colecciones” que contiene la clase principal para analizar qué está ocurriendo en el ejemplo. A continuación, ejecute make, que compilará y ejecutará el código ejemplo proporcionado. Si quiere disponer de la documentación en html también puede ejecutar make –f makeJavadoc. Cuando la ejecución pare, esperando un return/intro, analice qué ha ocurrido y qué código se corresponde a ese comportamiento. Repita la operación cada vez que realice un ejercicio propuesto y haya modificado el código. • Observe la declaración de la colección (Figura 4). serieDeFiguras será una referencia a una colección de tipo ArrayList, de elementos que serán implementaciones/realizaciones de la interfaz Figura. Observe Animar al aprendizaje autónomo a través de gamificación en programación orientada a objetos Jorge Calvillo Arbizu 87 Jornadas de Formación e Innovación Docente del Profesorado | Nº 1 (2018) Esta obra se distribuye con la licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional (CC BY-NC-ND 4.0.) también el uso del método isEmpty para verificar que al crearse está vacía. • Figura 4. Documentación de ejemplo de la hoja de trabajo A continuación, observe como crear figuras, añadirlas a la colección y verificar el tamaño. ¿Qué métodos se han utilizado? Piense ¿Qué diferencia práctica cree que habrá entre realizar el new previamente y luego usar la referencia al objeto en el add, como se hace con cuad1, 2 y 3, o incluir el new en el método de añadir, como se hace con el resto de figuras? ¿Cuándo usaría una u otra? Observe cómo puede imprimirse serieDeFiguras con el método println. (Fin del extracto) Cuestionario de exploración para el seguimiento de los estudiantes A continuación se muestra el cuestionario utilizado antes y después de la experimentación. Las preguntas tienen un carácter eminentemente práctico, pero permiten valorar el conocimiento de los alumnos con respecto al tema que vamos a abordar. Fundamentos de Programación II Cuestionario Colecciones y Mapas Nombre/Pseudónimo: ____________________________ Animar al aprendizaje autónomo a través de gamificación en programación orientada a objetos Jorge Calvillo Arbizu 88 Jornadas de Formación e Innovación Docente del Profesorado | Nº 1 (2018) Esta obra se distribuye con la licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional (CC BY-NC-ND 4.0.) Fecha: ________________________ 1. Si queremos implementar una agenda telefónica que guarde en orden un conjunto de personas y números de teléfono, ¿qué tipo de estructura debemos utilizar y por qué? 2. Para almacenar y gestionar un conjunto de objetos de una clase Ciudad, ¿qué estructura es más recomendable usar si no sabemos al programar cuántos objetos vamos a tener y por qué? 3. ¿Qué condición debe cumplir una clase (por ejemplo, clase Persona) si queremos tener una colección de objetos que pueda ordenarse? 4. ¿Con qué 2 métodos podemos recorrer una colección? Aplicación del ciclo de mejora docente El ciclo de mejora se aplicó, como estaba diseñado, en una sesión teórica y otra práctica. En la primera basada en el juego de preguntas los alumnos estuvieron altamente motivados durante toda la sesión, participativos y colaboradores dentro de los grupos. Parece que el componente de gamificación contribuyó a esta dosis extra de motivación. Mantenerlos en grupos de 4 alumnos equilibró perfectamente la actividad entre el dinamismo para la búsqueda de información y la participación de todos los miembros. Cuando el tiempo de la sesión se acabó, los grupos que tenían menor puntuación aún querían nuevas oportunidades para remontar. Como aspectos a mejorar podemos decir que algunas preguntas eran más difíciles que otras y exigían una búsqueda y razonamientos más complejos, y el orden en que aparecían no se había pensado previamente. La complejidad de las preguntas era aleatoria y eso hizo que algunas preguntas difíciles salieran al principio cuando los alumnos acababan de ponerse en contacto con los conceptos básicos. Habría que haber diseñado el juego de preguntas Animar al aprendizaje autónomo a través de gamificación en programación orientada a objetos Jorge Calvillo Arbizu 95 Jornadas de Formación e Innovación Docente del Profesorado | Nº 1 (2018) Esta obra se distribuye con la licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional (CC BY-NC-ND 4.0.) Referencias bibliográficas Bain, K. (2007). Lo que hacen los mejores profesores universitarios. Valencia: Universitat de Valencia. Servei de Publicacions. Finkel, D. (2008). Dar clase con la boca cerrada. Valencia: Universitat de Valencia. Servei de Publicacions. Porlán, R. (2017). Enseñanza universitaria. Cómo mejorarla. Madrid: Ediciones Morata.