Back to top

Ficha Proyecto I.E. 2021-2022



Automatización de la Retroalimentación en Metodologías de Aprendizaje aplicadas al Diseño de Asignaturas de Programación (ARMADA-P)

Coordinador(a): CRISTIAN OLIVER RAMIREZ ATENCIA
Co-coordinador(a): MARIA GEMA BELLO ORGAZ
Centro: E.T.S DE ING. DE SISTEMAS INFORMÁTICOS
Nivel: Nivel 2. Proyectos promovidos por otros colectivos de profesores de la UPM
Código: IE22.6107
memoria >>
Línea: E3. Aprendizaje Basado en Retos - Design Thinking
Miembros de la comunidad UPM que lo componen
Nombre y apellidos Centro Plaza *
MARIA GEMA BELLO ORGAZ E.T.S DE ING. DE SISTEMAS INFORMÁTICOS L.D. PRF.CONTR.DOCT.
DAVID CAMACHO FERNANDEZ E.T.S DE ING. DE SISTEMAS INFORMÁTICOS CATEDRÁTICO UNIVERSIDAD
CARLOS CAMACHO GOMEZ E.T.S DE ING. DE SISTEMAS INFORMÁTICOS L.D. PRF.AYUD.DOCTOR
SERGIO ALEJANDRO D'ANTONIO MACEIRAS E.T.S DE ING. DE SISTEMAS INFORMÁTICOS L.D. PRF.AYUD.DOCTOR
ALEJANDRO MARTIN GARCIA E.T.S DE ING. DE SISTEMAS INFORMÁTICOS L.D. PRF.AYUD.DOCTOR
JESUS MARTINEZ BARBERO E.T.S DE ING. DE SISTEMAS INFORMÁTICOS L.D. PRF.CONTR.DOCT.
ANGEL PANIZO LLEDOT E.T.S DE ING. DE SISTEMAS INFORMÁTICOS L.D. AYUDANTE
CRISTIAN OLIVER RAMIREZ ATENCIA E.T.S DE ING. DE SISTEMAS INFORMÁTICOS L.D. PRF.AYUD.DOCTOR
VICTOR RODRIGUEZ FERNANDEZ E.T.S DE ING. DE SISTEMAS INFORMÁTICOS L.D. PRF.AYUD.DOCTOR
Francisco Javier Torregrosa López Otro centro de la UPM OTROS UPM
* La plaza que se muestra corresponde a la ocupada en el momento de la convocatoria
(para PDI/PAS de la UPM, en el resto de casos no se especifica).
DESCRIPCIÓN DEL PROYECTO

En todos los grados relacionados con las ciencias de la computación, así como en grados de ingeniería y ciencias en los que cada vez es más común que el plan docente incluya una o varias asignaturas de programación informática, el aprendizaje tanto de los fundamentos de la programación así como de las metodologías más comunes de programación es el eje básico para el desarrollo de todo buen informático, así como una herramienta cada vez más necesaria para el resto de ingenieros y científicos.

Existen diversas metodologías de aprendizaje que permiten fomentar el aprendizaje de estos conceptos de programación mediante el desarrollo por parte del estudiante de aplicaciones informáticas. Estas metodologías incluyen el aprendizaje basado en retos, design thinking, aprendizaje basado en problemas, aprendizaje orientado a proyectos o incluso aula invertida. En todas estas metodologías, uno de los conceptos claves es la retroalimentación o "feedback", en la que se informa al alumno sobre su evolución, puntos fuertes y posibles errores o mejoras a realizar mediante tutorías o asistencia durante clases prácticas.

No obstante, la implantación de estas metodologías en los primeros cursos de grado resulta altamente complicada y exigente para los profesores que imparten estas asignaturas debido a la cantidad masiva de alumnos presentes en estos cursos potenciada por la reciente popularidad de las carreras informáticas. Debido a esto, el proceso de retroalimentación tanto en tareas de programación de carácter individual como grupal realizados por el alumnado, que conlleva la revisión y corrección de dichas tareas por parte del profesorado, se extiende de forma excesiva, suponiendo en muchos casos que los estudiantes no reciban "feedback" hasta varias semanas o incluso meses después de haber entregado dicha tarea. En este contexto, existen ciertas herramientas desarrolladas recientemente que permiten cierto grado de autoevaluación de tareas de programación no demasiado complejas, como por ejemplo CodeRunner o CSGrader. Además, exiten varios cursos online masivos (MOOC) que utilizan algunas de estas herramientas o "scripts" propios creados por los profesores del curso que permiten cierto grado de autoevaluación instantanea para las tareas de programación realizadas por los alumnos del MOOC. Sin embargo, estas herramientas suelen limitarse a comprobar los valores de salida de las tareas para unos valores de entrada predefinidos, y no analizan el código fuente para comprobar si se siguen ciertas normas de estilo de programación estructurada.

Por otro lado, una de las preocupaciones del profesorado dentro de este proceso es la originalidad de los tareas realizados por el alumnado. En la actualidad existen herramientas anti-plagio como Turnitin que permiten comprobar dicha originalidad, pero que están limitadas a ciertos formatos de documentos como .doc o .pdf.

Por todo ello, este proyecto tiene como objetivo principal la implementación de una herramienta informática que automatice el proceso de corrección y retroalimentación para tareas de programación, tanto en enfoques de problemas como proyectos de programación.

  1. En una primera fase, se recopilará información (estado del arte) sobre herramientas educativas ya desarrolladas con enfoques similares, así como su encapsulación dentro de la plataforma educativa Moodle. Con esto, se seleccionará aquella herramienta que se acerque más a la autoevaluación de tareas de programación deseada.
  2. En una segunda fase, se extenderá la herramienta escogida en la primera fase para incorporarle un sistema de retroalimentación automático. Este sistema se basará en una definición de problemas o proyectos dada por el profesorado, así como unas pautas de revisión y mensajes de retroalimentación a mostrar. En base a esto, la herramienta podrá realizar una autoevaluación de las tareas que los alumnos cargarán a través de la plataforma educativa Moodle y generar de forma (casi) instantánea una retroalimentación para los alumnos en base a la entrega realizada. Esta herramienta tratará tanto valores de salida obtenidos para valores predefinidos de entrada, como también análisis de código fuente para comprobar el uso correcto de conceptos de programación estructurada.  A su vez, la herramienta desarrollada permitirá la comprobación de la originalidad mediante la integración con la herramienta anti-plagio Turnitin mencionada anteriormente.
  3. Una vez desarrollada la herramienta, se procederá a la integración y prueba de la misma en asignaturas de aprendizaje básico de programación (Fundamentos de Programación, Taller de Programación y Estructura de Datos). Para ello, el profesorado de las distintas asignaturas definirá previo al comienzo del curso académico distintos materiales docentes, problemas y proyectos de programación a resolver y desarrollar por el alumnado. Estos materiales deberán incluir las pautas de revisión y mensajes de retroalimentación que serán proporcionados a la herramienta para la posterior revisión de las tareas  de programación realizados por el alumnado. Durante el curso académico, parte del alumnado recibirá los comentarios de retroalimentación de la herramienta desarrollada (grupo experimental), mientras que otra parte seguirá recibiendo comentarios generados por el profesorado de la asignatura (grupo de control). Se estudiarán varios factores como el número de tutorías adicionales solicitadas por alumnos, así como las calificaciones finales obtenidas en dichas asignaturas. Este estudio pretende demostrar el beneficio de estas herramientas, estudiando si la herramienta es más o menos estricta en la corrección de las tareas que los profesores, y esperando que la retroalimentación proporcionada por la herramienta desarrollada no suponga ninguna diferencia para el alumno en su consecución de los objetivos de aprendizaje en comparación con la retroalimentación proporcionada por el profesorado.

La consecución de este proyecto supondrá una mejora tanto para los alumnos, que recibirán retroalimentación de forma instantánea o casi instantánea; así como para los profesores, que verán reducida su carga de trabajo y podrán invertir más tiempo en la prepración de materiales docentes. Además, la herramienta permitirá a los docentes proponer tareas más complejas que fomenten un mayor aprendizaje en programación por parte de los alumnos, las cuales no suelen proponerse debido al excesivo tiempo requerido para corregir dichas tareas en un entorno con grupos numerosos de estudiantes.

OBJETIVOS DEL PROYECTO

La puesta en marcha de este proyecto tiene como fin cumplir el objetivo general de facilitar la implantación en asignaturas de programación de metodologías activas de aprendizaje: aprendizaje basado en retos, design thinking, basados en problemas, orientados a proyectos y de aula invertida. Gracias a la herramienta que se pretende desarrollar para la automatización de la retroalimentación en tareas de programación, será factible para el profesorado la aplicación de estas metodologías en asignaturas del primer curso académico de grado, con cantidades masivas de alumnos.

Por otra parte, la consecución del proyecto conllevaría también cumplir con los siguientes objetivos específicos:

  • Mejora de los sistemas de evaluación continua en asignaturas de programación, mediante la reducción de los tiempos de espera del alumnado a la hora de recibir retroalimentación.
  • Mejora de los sistemas de detección de originalidad. La inclusión en la herramienta a desarrollar de una integración con Turnitin permitiría la comprobación de originalidad en tareas de programación, extendiendo el tipo de formatos aceptados.
  • Reducción de la carga de trabajo del profesorado, permitiendo que estos dediquen más tiempo a la preparación de nuevos materiales docentes más complejos.
CONTRIBUCIÓN A LA MEJORA DE LA CALIDAD

Con esta propuesta, se espera poder contribuir a la implantación de metodologías de aprendizaje que mejoren la calidad de los conocimientos adquiridos por los estudiantes mediante la resolución de retos, problemas, proyectos, etc. Estas metodologías requieren un esfuerzo excesivo por parte del profesorado cuando el número de alumnos es muy grande, como es el caso de los primeros cursos académicos. Las principales contribuciones de este proyecto para la mejora de la calidad son las siguientes:

  • Disminuir el tiempo de respuesta de retroalimentación para el alumnado, permitiendo así una retroalimentación más continua, lo que permitiría al alumnado mejorar sus tareas de programación de forma más continuada y así disponer de una experiencia más ágil del proceso de programación y un mayor seguimiento en su aprendizaje.
  • Optimizar el tiempo dedicado por los profesores a la creación de materiales docentes, reduciendo altamente el tiempo dedicado a las correcciones y retroalimentación de tareas de programación, y permitiendo aumentar el tiempo para la preparación de tareas más complejas y desafiantes para los alumnos.
  • Automatizar las comprobaciones de originalidad de las tareas de programación, evitando así malas praxis por parte del alumnado y sentando precedentes para fomentar el trabajo individual del alumnado.
ALCANCE Y PÚBLICO OBJETIVO AL QUE SE DIRIGE

Titulación/es Grado: GRADO EN INGENIERIA DE COMPUTADORES
GRADO EN INGENIERIA DEL SOFTWARE
GRADO EN SISTEMAS DE INFORMACION
GRADO EN TECNOLOGIAS PARA LA SOCIEDAD DE LA INFORMACION
Titulación/es Máster:
Nº de Asignatura/s: 3
Centro/s de la UPM:
  • E.T.S DE ING. DE SISTEMAS INFORMÁTICOS
  • FASES DEL PROYECTO Y ACCIONES QUE SE VAN A DESARROLLAR

    El proyecto se desarrollará en tres fases:

    • Fase I: estudio del estado del arte en herramientas de corrección de tareas de programación y anti-plagio. En esta primera fase se estudiarán diferentes herramientas desarrolladas en los últimos años para la autoevaluación de código fuente (como por ejemplo CodeRunner o CSGrader) y su implantación dentro de plataformas educativas (como por ejemplo Moodle, actualmente usado por la UPM). Del mismo modo, se estudiarán herramientas anti-plagio que permitan la comprobación de la originalidad de las tareas de programación entregadas por el alumnado.
    • Fase II: desarrollo de una herramienta para la retroalimentación automática y comprobación de la originalidad. En base a las herramientas estudiadas en la fase I, se extenderá o desarrollará una herramienta que permita la autoevaluación de tareas de programación definidas a partir de materiales proporcionados por los profesores (puntos a evaluar y mensajes de retroalimentación). Además, esta herramienta también se encargará de la comprobación de la originalidad de dichas tareas.
    • Fase III: evaluación de la herramienta en asignaturas relacionadas con el proyecto. Los miembros del presente proyecto forman parte del profesorado en asignaturas de programación de los primeros cursos académicos, donde el número de alumnos es elevado. Así pues, se encargarán de definir problemas y proyectos de programación que los alumnos deberán desarrollar durante el curso académico, y dividirán al alumnado de tal forma que una parte use la herramienta de retroalimentación automática desarrollada (grupo experimental), y otra parte continúe con la retroalimentación clásica proporcionada por el profesorado (grupo de control). Los alumnos no sabrán si forman parte del grupo de control o del experimental (ensayo a ciegas). Se llevará a cabo un estudio basado tanto en las calificaciones obtenidas en las asignaturas, así como el número de tutorías adicionales solicitadas por aquellos alumnos que usan la herramienta y aquellos que no. En base a este estudio, se concluirá la efectividad del uso de la herramienta desarrollada.
      Feb 2022 Mar 2022 Abr 2022 May 2022 Jun 2022 Jul 2022 Ago 2022 Sep 2022 Oct 2022 Nov 2022
    Fase I X                  
    Fase II   X X X X X X      
    Fase III           X X X X X

     

    SEGUIMIENTO Y EVALUACION

    Dado que la Fase I está limitada a documentación, no será necesario evaluar dicha fase.

    Evaluación Fase II: Para la evaluación de la herramienta desarrollada, el profesorado definirá cuatro tareas de programación de diversos tipos (tres problemas de programación, y un proyecto de programación). Se desarrollarán diversas soluciones tanto válidas como erróneas para dichas tareas de programación, y se cargarán dentro de la herramienta para que esta proporcione retroalimentación. Para dos de las tareas, se simulará un escenario de plagio con una alta similitud entre ambas (90%). A continuación se estudiarán los resultados proporcionados por la herramienta usando la siguiente metodología:

    • Por cada solución propuesta para cada problema, un profesor diferente al que ha propuesta la solución evaluará dicha solución proporcionando retroalimentación.
    • Se comparará la retroalimentación proporcionada por el profesor con la proporcionada por la herramienta, evaluando las causas de posibles falsos positivos y falsos negativos. Esto se utilizará para refinar la herramienta y hacerla más precisa.
    • Una vez el número de falsos positivos y falsos negativos se haya reducido a un nivel bajo o nulo, se procederá a continuar con la fase III.

    Evaluación Fase III: La evaluación se realizará mediante cuestionarios a los alumnos y profesores así como mediante comparativa entre grupos de control y grupos experimentales:

    • Realización de cuestionario a alumnos sobre el grado de consecución de los objetivos de la asignatura y la satisfacción general con el aprendizaje obtenido. Se hará especial hincapié en conocer cuantas tutorías extras han necesitado solicitar y cual consideran que ha sido la calidad del "feedback" proporcionado.
    • Realización de cuestionario a profesores sobre la carga de trabajo durante el curso. Se buscará conocer las impresiones de cada profesor en el uso de la herramienta y su facilidad de implantación en la asignatura.
    • Estudio en el que se valorará la calidad de la retroalimentación (en base a los cuestionarios) junto con el grado de éxito de los alumnos en las asignaturas (en base a las calificaciones obtenidas). Se estudiará si los resultados del grupo de control y del grupo experimental son similares, si el grupo experimental considera que su evaluación ha sido más estricta o más benevolente con respecto al grupo de control, así como el grado de satisfacción del profesorado con el uso de la herramienta.
    PRODUCTOS RESULTANTES
    • Herramienta de corrección y retroalimentación automática, con comprobación de originalidad. El resultado principal de este proyecto será una herramienta, potencialmente integrada dentro de una plataforma educativa, que permita la automatización de la retroalimentación para tareas de programación, así como comprobación de la originalidad de la tarea enviada. Esta herramienta tendrá un gran potencial para ser reusada tanto dentro de la UPM en otros departamentos a través de la plataforma educativa, como también de ser publicada como recurso académico y reusada por otras universidades y centros educativos que puedan beneficiarse de su utilidad.
    • Manual de uso de la herramienta desarrollada. Se desarrollará documentación sobre la herramienta desarrollada dentro de un manual de uso, que mostrará todas las funcionalidades de dicha herramienta. Se perseguirá su publicación como artículo.
    • Publicación de un artículo en revista de investigación educativa. Se intentará maximizar la publicidad del proyecto mediante publicaciones en alguna revista importante del ámbito de la investigación educativa mostrando los resultados obtenidos tras la aplicación de la herramienta en las asignaturas relacionadas con el proyecto.
    • Se atenderán y enviarán resultados a congresos especializados del área. Además de revistas, también se propondrán ponencias y se enviarán artículos a congresos del área de la investigación educativa.
    MATERIAL DIVULGATIVO
    • Se trabajará tanto con el departamento de comunicación de la Universidad Politécnica de Madrid y también con la propia Escuela Técnica Superior de Ingeniería de Sistemas Informáticos para dar publicidad al proyecto
    • Se desarrollará un artículo de divulgación docente que presentará la herramienta desarrollada dentro del proyecto y se documentará su uso.
    • Se desarrollará un vídeo explicativo para mostrar el uso de la herramienta y publicitarla
    • Se construirá una página web mostrando todos los resultados del proyecto y para dar publicidad al mismo
    COLABORACIONES

    Se realizarán colaboraciones internas dentro de la Escuela Técnica Superior de Ingeniería de Sistemas Informáticos con el profesorado de las asignaturas Fundamentos de Programación, Taller de Programación y Estructuras de Datos. Este profesorado probará la herramienta que se desarrollará durante el proyecto con sus respectivos grupos de alumnos de dichas asignaturas.