Proyecto de Innovación y Mejora de la Calidad Docente Convocatoria 2015 Proyecto 279 Desarrollo de material educativo reutilizable para el portal educativo de la UCM “Acepta el reto” Responsable: Marco Antonio Gómez Martín Facultad de Informática Departamento de Ingeniería del Software e Inteligencia Artificial Objetivos propuestos En febrero de 2014 lanzamos desde la Facultad de Informática el portal https://www.aceptaelreto.com. La página contiene un buen puñado de problemas de programación (de ordenadores) y permite a los visitantes registrarse y enviar sus soluciones a los mismos. El juez en línea recoge esas soluciones y las comprueba dando a los usuarios en pocos segundos una repuesta sobre la validez de las mismas. La acogida del portal fue buena desde el principio y en poco más de un año tenía ya 1.500 usuarios registrados que habían enviado más de 32.000 soluciones a sus 147 problemas. Sin embargo los promotores del portal nos dimos cuenta de que el éxito de la iniciativa depende directamente de la cantidad y calidad de los problemas disponibles. Estábamos seguros de que si la colección de ejercicios no crecía en los meses siguientes, su uso y aceptación entre la comunidad caería. Además de esa cantidad y calidad, también era importante la diversidad de ejercicios. Un año después del lanzamiento la mayoría de los problemas alojados en el juez eran de un nivel de programación inicial, apto para alumnos de un primer curso de programación, pero demasiado básicos para estudiantes de cursos superiores. Una buena colección de ejercicios, por el contrario, haría atractivo el sistema al resto de profesores de la Facultad de Informática para su adopción en las asignaturas de programación que imparten, y a los alumnos que, bien instigados por sus profesores o bien por un afán de aprendizaje autónomo y reconocimiento social, entrarían en el sistema para resolver los problemas propuestos. Con estas premisas, nos reunimos varios profesores de la Facultad de Informática que impartimos docencia en los distintos niveles de programación y con amplia experiencia en la creación de ejercicios de programación (no adaptados, eso sí, al juez) bien por ser autores de libros de ejercicios que forman parte de la bibliografía básica de muchas asignaturas de la Facultad o bien por participación en PIMCD anteriores en los que se generaron y recopilaron enunciados y soluciones a ejercicios de programación. Por lo tanto, como bien se especificó en la solicitud del PIMCD, “el objetivo último de este proyecto consiste en hacer disponible a alumnos y profesores un portal Web con una colección de problemas de programación cuya eficacia ya ha sido demostrada gracias a experiencias docentes previas para que puedan ser evaluados automáticamente por un juez on-line”. Los ejercicios que se construirían, seguíamos diciendo, “estarán distribuidos en distintas categorías en base a los conceptos de programación de forma que los profesores puedan seleccionar fácilmente aquellos ejercicios mejor adaptados al tema impartido en cada momento. La categorización beneficiará también el autoaprendizaje pues los mismos alumnos, a la vista de esas categorías, podrán elegir los siguientes problemas a resolver sin tener que mirar uno a uno cada enunciado.” https://www.aceptaelreto.com/ Por dar números concretos y a modo resumen, el objetivo que indicábamos en la propuesta era incrementar el número de problemas del portal en unos 60-70, pasando de los 147 que tenía en ese momento a aproximadamente 210 problemas. Objetivos alcanzados Los objetivos del PIMCD se han cubierto con creces. Antes incluso de la concesión del proyecto, el equipo comenzó a trabajar en la elaboración de nuevos problemas que fueron utilizados en dos concurso de programación e incrementaron el número de problemas en 22. Durante el periodo de ejecución del PIMCD, el equipo publicó en el portal otros 41 nuevos ejercicios, lo que suman 63 problemas nuevos como resultado y haciendo que el portal a finales del año 2015 sumara los 210 problemas disponibles. Por último, algunos de los problemas que el equipo planteó pero no publicó dentro el periodo de ejecución del PIMCD se utilizaron en dos concursos de programación realizados en la Facultad de Informática en enero y febrero de 2016 e incorporados al portal en esas mismas fechas. Metodología utilizada Para realizar el trabajo, el equipo de profesores involucrados hizo un primer análisis del material previo disponible tanto como resultado de PIMCDs anteriores como de los ejercicios aparecidos en los libros escritos por parte del equipo. A este análisis le siguió la adaptación de los problemas al formato del juez. Para eso, se utilizaron las herramientas que el portal tiene disponibles para la elaboración de ejercicios realizada. Utilizando un sistema de control de versiones (SVN), el responsable de cada problema subía al servidor una primera versión del mismo y el resto del equipo lo revisaba, aportando comentarios al enunciado, otras soluciones y/o generadores de casos de prueba con los que validar las soluciones enviadas por los usuarios. Cuando un problema se daba por cerrado, se marcaba como pendiente de publicar en el juez. Los detalles de cómo se fueron publicando esos problemas aparece en una sección posterior. Recursos humanos Los recursos humanos con los que ha contado el proyecto han sido los siete profesores que iban en la propuesta original: - María de las Mercedes Gómez Albarrán: responsable de cuatro proyectos de innovación educativa que entre 2006 y 2010 consiguieron reunir una colección de ejercicios que sirvió como punto de partida de ideas de problemas para migrar al juez automático. - Marco A. Gómez Martín: el responsable de este PIMCD, había sido previamente miembro de varios de los proyectos anteriores, así como del PIE 2011-307 en el que se construyó el juez automático; jefe de jueces en ProgramaMe, el concurso de programación para ciclos formativos (http://www.programa-me.com). Tiene también experiencia en el uso de jueces en línea en clase (cursos 2011-2014), así como experiencia en el desarrollo de herramientas de evaluación automática. Es uno de los desarrolladores originales del portal/juez en línea disponible https://www.aceptaelreto.com al que se incorporaron los problemas desarrollados en el PIMCD. - Pedro P. Gómez Martín: miembro del PIE 2011-307; codirector de ProgramaMe y juez de todas sus ediciones. El otro desarrollador del portal/juez en línea https://www.aceptaelreto.com y con amplia experiencia creando problemas, ejemplos y casos de prueba, como juez de ProgramaMe. - María Isabel Pita Andreu: coordinadora durante un curso de la asignatura Estructura de Datos y Algoritmia de segundo de los grados con experiencia en aplicación de metodologías docentes que incorporan el uso del portal y métodos de evaluación continua basada en la resolución de problemas con el formato del juez en línea. - Clara María Segura Díaz: coordinadora actual de la asignatura Estructura de Datos y Algoritmia de segundo de los grados que, igual que la anterior, utiliza metodologías similares en sus clases. Es además coautora del libro "Algoritmos correctos y eficientes. Diseño razonado ilustrado con ejercicios" con más de 100 ejercicios resueltos y propuestos, algunos de ellos se han migrado al juez durante el PIMCD. - Luis Hernández Yáñez: responsable del PIE 2011-307 y miembro de los PIEs con los que se creó la colección de ejercicios que fueron uno de los puntos de partida del proyecto solicitado; director de varios concursos de programación para estudiantes universitarios, como el concurso nacional CUPCAM (http://pc.fdi.ucm.es/cupcam/) o el internacional SWERC (http://swerc.eu). - J. Alberto Verdejo López: profesor de asignaturas de tercero de los grados cuyo nivel no quedaba cubierto con los ejercicios disponibles en el juez al principio del proyecto. Coautor de los libros "Algoritmos correctos y eficientes. Diseño razonado ilustrado con ejercicios" y "Estructuras de datos y métodos algorítmicos. 213 ejercicios resueltos.", así como juez y autor de problemas en concursos universitarios desde 2005 (CUPCAM'05). Desarrollo de las actividades Como ya hemos dicho anteriormente, el periodo de ejecución del proyecto terminó con 63 problemas nuevos publicados en el juez (problemas 247-311), a los que podemos sumar 19 problemas adicionales que se incorporaron en los meses posteriores a la finalización (problemas 312-330). La publicación de los distintos problemas la podemos dividir en tres fases distintas, que se describen a continuación. Fase previa Poco tiempo después de hacer la propuesta del PIMCD y antes de la confirmación de la concesión, el equipo de profesores ya se puso a trabajar en la elaboración de problemas. En concreto, el equipo organizó dos concursos de programación de dos niveles educativos distintos: http://www.programa-me.com/ https://www.aceptaelreto.com/ https://www.aceptaelreto.com/ - Concurso AdaByron, 2015 (http://ada-byron.es/2015/) para alumnos de la Facultad de Informática de la UCM. Se realizaron 12 problemas nuevos que abarcan los niveles impartidos en todas las asignaturas de programación de la Facultad de Informática. Se convirtieron en los problemas 247 al 258 del juez y pueden encontrarse aquí: https://www.aceptaelreto.com/problems/categories.php/?cat=83. - Concurso nacional de ProgramaMe 2015 (http://www.programa- me.com/2015/nac/), para ciclos formativos. Los 10 problemas resultantes se convirtieron en los problemas 259-268 del portal, y pueden encontrarse en el enlace https://www.aceptaelreto.com/problems/categories.php/?cat=86 Ejecución del PIMCD Durante los meses de verano se estuvo trabajando en la colección de problemas con la intención de comenzar su publicación coincidiendo con el principio del curso 2015/2016. Únicamente se publicó un problema, el que pasó a ser el problema número 269 del juez, pues el equipo consideró que merecía la pena adelantar su aparición al tener como temática la vuelta ciclista a España (https://www.aceptaelreto.com/problem/statement.php?id=269). A partir del lunes 14 de septiembre, el PIMCD comenzó la publicación periódica de problemas. En la portada del portal anunciamos que desde ese día todos los lunes, miércoles y viernes aparecería un problema nuevo, cosa que mantuvimos hasta el viernes 18 de diciembre (14 semanas). El resultado fueron 42 problemas nuevos (números 270-311 en el juez). En la página de historia del portal dejamos reflejado el hecho: Fase posterior Aunque la ejecución del PIMCD terminaba en Diciembre de 2015, la realidad fue que el equipo dejó a medio elaborar otro buen número de problemas en los que se siguió http://ada-byron.es/2015/ https://www.aceptaelreto.com/problems/categories.php/?cat=83 http://www.programa-me.com/2015/nac/ http://www.programa-me.com/2015/nac/ https://www.aceptaelreto.com/problems/categories.php/?cat=86 https://www.aceptaelreto.com/problem/statement.php?id=269 trabajando tras la finalización del PIMCD. La mayoría de ellos fueron problemas que no habían salido de los recursos previos disponibles (ejercicios publicados en los libros escritos por parte del equipo o elaborados en otros PIMCD) sino ideas novedosas que se decidió dejar sin publicar para utilizarlos en dos concursos de programación que tendrían lugar poco después de terminar el proyecto. En concreto, se publicaron: - 7 problemas (números 312-318) utilizados en la fase local de la UCM del concurso AdaByron organizado en la Facultad (http://ada- byron.es/2016/locales/ucm/). El resultado puede verse aquí: https://www.aceptaelreto.com/problems/categories.php/?cat=90 - 12 problemas (números 319-330) utilizados en el concurso AdaByron (http://ada-byron.es/2016/) que fue organizado por el equipo del PIMCD y que estuvo abierto a los estudiantes de informática de las universidades públicas madrileñas. La lista de todos ellos está aquí: https://www.aceptaelreto.com/problems/categories.php/?cat=91 Conclusiones del proyecto Como responsable del PIMCD-279 estoy plenamente satisfecho con el resultado del proyecto. No sólo hemos superado con creces los objetivos (nos propusimos incrementar el número de problemas en 60-70, pero podemos decir que se ha incrementado en 82) sino que, además, el PIMCD ha supuesto una llamada de atención sobre el uso de este tipo de ejercicios para las asignaturas de programación para varios profesores de la Facultad de Informática. Pero como toda luz tiene una sombra, también nos ha hecho reflexionar sobre las limitaciones que, hoy día, tiene el portal para su uso directo en clase. El diseño original del portal estaba pensado para favorecer el auto-aprendizaje de los estudiantes que, gracias a su existencia, son capaces de encontrar problemas de programación interesantes, seleccionar los más adecuados según su nivel, resolverlos y tener la respuesta sobre la validez de esas soluciones. Al ser ahora una herramienta demanda para su uso en clase, se pone de manifiesto que el profesor no tiene ningún control sobre quiénes son sus alumnos ni qué problemas están resolviendo. No descartamos avanzar en esa línea en el futuro. http://ada-byron.es/2016/locales/ucm/ http://ada-byron.es/2016/locales/ucm/ https://www.aceptaelreto.com/problems/categories.php/?cat=90 http://ada-byron.es/2016/ https://www.aceptaelreto.com/problems/categories.php/?cat=91 Objetivos propuestos Objetivos alcanzados Metodología utilizada Recursos humanos Desarrollo de las actividades Fase previa Ejecución del PIMCD Fase posterior Conclusiones del proyecto