Back to top

Ficha Proyecto I.E. 2019-2020



AIGORA 2.0: Aprendizaje de Informática con GitHub y Retos

Coordinador(a): OSCAR PERPIÑAN LAMIGUEIRO
Co-coordinador(a): RAQUEL CEDAZO LEON
Centro: E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL
Nivel: Nivel 1. Proyectos promovidos por los Grupos de Innovación Educativa (GIEs)
Código: IE1920.5601
memoria >> prorrogado 2021
Línea: E3. Aprendizaje Basado en Retos - Design Thinking
Palabras clave:
  • Aprendizaje Activo
  • Aprendizaje Basado en Retos
  • Aprendizaje Colaborativo
  • Aprendizaje Cooperativo
  • Aprendizaje Orientado a Proyectos
  • Competencias transversales
  • Interdisciplinariedad/multidisdiplinariedad
  • Moodle
  • Recursos Educativos en Abierto (REA)
  • Trabajo en Equipo/Grupo
  • Uso de las TIC
Miembros de la comunidad UPM que lo componen
Nombre y apellidos Centro Plaza *
LUIS DAVILA GOMEZ E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL TITULAR E.U.
PEDRO LUIS CASTEDO CEPEDA E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL TITULAR E.U.
CECILIA ELISABET GARCIA CENA E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL TITULAR UNIVERSIDAD
BASIL MOHAMMED AL-HADITHI ABDUL QADIR E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL TITULAR UNIVERSIDAD
RAQUEL CEDAZO LEON E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL L.D. PRF.CONTR.DOCT.
ANTONIO ZANON BALLESTEROS E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL TITULAR E.U.
OSCAR PERPIÑAN LAMIGUEIRO E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL L.D. PRF.CONTR.DOCT.
ALBERTO BRUNETE GONZALEZ E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL L.D. PRF.CONTR.DOCT.
JOAQUIN GONZALEZ GIGOSOS E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL L.D. PROF. ASOCIADO
* 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

La asignatura “Informática”, una materia de carácter básico y transversal ubicada en el segundo semestre del primer curso de los grados impartidos en la ETSIDI, incluye entre sus competencias la adquisición de “conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería”, “la capacidad para diseñar, desarrollar, implementar, gestionar y mejorar productos, sistemas y procesos en los distintos ámbitos industriales”, la aplicación de “los conocimientos adquiridos para identificar, formular y resolver problemas en contextos amplios, siendo capaces de integrarlos trabajando en equipos multidisciplinares”, la incorporación de “las TIC y las tecnologías y herramientas de la Ingeniería Industrial en sus actividades profesionales”.

Esta asignatura se desarrolla en base a tres pilares:

  • Lecciones magistrales para exponer los conceptos principales de la programación. Estas lecciones se apoyan en diapositivas y en material bibliográfico.

  • Espacios de trabajo en clase con apoyo del profesorado para la resolución de problemas en los que se aplica lo expuesto en las lecciones magistrales.

  • Trabajo por grupos, consistente en un proyecto definido por cada equipo, y desarrollado durante un tiempo no inferior a un mes. El resultado de este proyecto es un programa informático que debe ser ejecutado y defendido en sesión pública.

En la anterior convocatoria de PIE, la docencia de esta asignatura se desarrolló en el proyecto “AIGORA”, en el que se implantó el uso de repositorios colaborativos dentro de la plataforma GitHub con diversos objetivos: aprendizaje de un lenguaje de programación mediante el uso de herramientas y técnicas empleadas habitualmente en entornos profesionales; desarrollar la capacidad de mejorar el código a partir de las revisiones de pares o de un maestro; desarrollar la capacidad de contribuir y revisar el código desarrollado por otros; aprendizaje del trabajo por objetivos, con gestión del tiempo individual y del equipo para desarrollar ideas y alcanzar objetivos con restricciones temporales; desarrollar la capacidad de trabajo en equipo; y desarrollar el hábito de documentar el código, ya sea de manera individual o en equipo.

Como resultado de AIGORA se desarrolló una web pública (https://aigora.github.io/) que enlaza a la colección de 150 proyectos implementados cada uno por equipos de 3 estudiantes y en el que es posible acceder a su código fuente y documentación. En AIGORA se creó el material necesario (video tutoriales y wikis de documentación) para que, a partir de los siguientes cursos, los estudiantes puedan seguir la misma metodología de trabajo.

Sin embargo, el equipo docente pudo observar a través de las analíticas de los repositorios la manera discontinuada en la que los estudiantes trabajan a lo largo del curso. Un gran número de equipos de estudiantes realizaron sus proyectos en la semana previa a las tres entregas establecidas, de forma apresurada y con un reparto ineficiente de las tareas en el equipo. Esto se debe a que estos estudiantes no siguen una metodología de desarrollo adecuada y no son capaces de planificar bien sus tareas, especialmente en primer curso.

Por esta razón, planteamos utilizar la técnica de Aprendizaje Basado en Retos, siendo los profesores los que ayuden a los estudiantes a marcar los hitos y conseguir una mejor consecución del proyecto. El APR es un enfoque que involucra al estudiante en una situación real, que es su proyecto informático a desarrollar, y es una técnica ideal para definir el proyecto de manera progresiva: clarificando el problema y proponiendo soluciones. Se centra además en satisfacer las necesidades del cliente y usuario, iterando en ciclos de co-desarrollo en la que se formulan retos, se desarrollan, evalúan y se generan nuevos retos.

Por una parte, durante las primeras semanas del proyecto, el equipo docente junto con los becarios asignados al proyecto realizarán una búsqueda de proyectos existente adecuados para la participación de nuestros estudiantes. Estos proyectos deberán tener necesidades de desarrollos nuevos, optimización de algoritmos existentes, o situaciones similares que favorezcan la implicación de estudiantes de informática en un desarrollo real. Esta búsqueda se iniciará en primer lugar en los ámbitos de investigación y desarrollo de los profesores participantes, a saber, robótica, astrofísica, internet de las cosas, y energía solar.  Por otra parte, se animará a los estudiantes a buscar potenciales proyectos, que serán analizados por el equipo docente y los becarios del proyecto. Con ambas vías se compondrá una cartera de proyectos que se ofrecerán a los estudiantes para ser asumidos por los equipos de trabajo.

Así pues, en la fase de trabajos por equipos se simulará un entorno real de una consultora informática en la que los estudiantes serán los equipos de desarrolladores y los profesores actuarán como clientes y/o usuarios finales de la aplicación. De esta forma se espera que los estudiantes se motiven y aprendan realmente cómo se trabaja en un entorno profesional, aprendiendo a gestionar un proyecto software marcados por hitos de desarrollo. En este contexto se emplearán las funcionalidades de gestión de proyectos que ofrece GitHub: https://github.com/features/project-management/.

En lo que se refiere a la impartición del temario de la asignatura, se emplearán dos herramientas docentes: CodeRunner y Kahoot. Por una parte, al completar un capítulo del contenido de la asignatura, el profesor obtendrá realimentación del aprendizaje y repasará los conceptos más importantes mediante juegos de preguntas y respuestas basados en Kahoot. Por otra parte, se llevarán a cabo ejercicios de evaluación con CodeRunner (plugin de Moodle), de forma que el equipo de profesores planteará una serie de problemas cortos que cada estudiante deberá resolver mediante código que será evaluado de forma automática en Moodle. La herramienta CodeRunner proporciona realimentación de errores tras la respuesta del estudiante, facilitando así el entrenamiento.

OBJETIVOS DEL PROYECTO
  • Desarrollar la capacidad de planificar las tareas del proyecto de los estudiantes de forma incremental por medio de retos.

  • Iniciar a los estudiantes en la metodología de gestión de proyectos software de una manera sencilla.

  • Aprendizaje de un lenguaje de programación del uso de herramientas y técnicas empleadas en entornos profesionales, como es GitHub.

  • Utilizar las funcionalidades de gestión de proyectos de GitHub para plantear y desarrollar retos.

  • Mejorar la consecución de los trabajos mediante la evaluación por medio de iteraciones de desarrollo cortas.

  • Desarrollar la capacidad de trabajo en equipo.

  • Ampliar la colección de repositorios colaborativos, de libre acceso a través de AIGORA, con los nuevos trabajos desarrollados.

  • Autoevaluación de los estudiantes a través de herramientas online: Kahoot y CodeRunner.

  • Realimentación automática al profesor sobre el grado de aprendizaje del estudiante y detección temprana de problemas.

CONTRIBUCIÓN A LA MEJORA DE LA CALIDAD

El trabajo en equipo tiene un peso muy importante en la asignatura de Informática porque los estudiantes dedican mucho tiempo a su realización. Es precisamente durante su realización cuando realmente los estudiantes asientan todo el conocimiento de la programación y desarrollan todas sus competencias. Los profesores hemos percibido que una mala gestión del trabajo, conlleva a veces el abandono o a una pobre realización del mismo. Además, se ha visto durante todos estos años que gran parte de los estudiantes posponen su desarrollo a las semanas previas de la fecha límite de entrega. Por esta razón, el curso anterior 2018/2019, los profesores propusimos dos entregas intermedias incluidas en la planificación en la Guía de Aprendizaje. Esto significó una notable mejoría porque en el primer mes los estudiantes ya habían propuesto su tema del trabajo y unos objetivos iniciales. Aún así, se ha mantenido la tendencia de dejar el grueso del trabajo hasta el final. Por ese motivo, este proyecto pretende implantar una metodología para conseguir un mayor seguimiento de los trabajos aumentando el número de entregas. Con este nuevo proyecto, y gracias a las funcionalidades de gestión de proyectos que ofrece GitHub, se pretende ayudar a los estudiantes a hacer una mejor gestión de sus trabajos y un mayor seguimiento.

GitHub es una herramienta que el estudiante va a poder utilizar en asignaturas de cursos posteriores y en el desarrollo de los Trabajos Fin de Grado que traten con software. De hecho, hay otras asignaturas en las que de forma opcional u obligatoria ya se está utilizando Github para el desarrollo de trabajos en equipo y prácticas. Por tanto, el alumno va a adquirir una competencia transversal desde primer curso.

Por otra parte, el uso de las herramientas Kahoot, CodeRunner y GitHub va a permitir trazar la evolución y el aprendizaje de cada estudiante a través del curso, pudiendo asignar de forma automática una nota como parte de la evaluación continua. Esta característica va a ser especialmente útil para nuestros grupos, que son muy numerosos, y en los que se hace difícil evaluar el trabajo diario y dar una realimentación rápida a las tareas de los estudiantes.

Finalmente, creemos que el uso de Github da un valor añadido en la asignatura de Informática por la conexión que tiene con el mundo profesional y con conocidos proyectos que mantienen el código a través de su plataforma. Github cuenta con más de 30 millones de repositorios y se ha convertido en el estándar para desarrollar colaborativamente y compartir código.

ALCANCE Y PÚBLICO OBJETIVO AL QUE SE DIRIGE

Titulación/es Grado: GRADO EN INGENIERIA QUIMICA
DOBLE GRADO EN INGENIERIA ELECTRICA Y EN ING. ELECTRO INDUSTRIAL Y AUTOMATI


Titulación/es Máster:
Nº de Asignatura/s: 1
Centro/s de la UPM:
  • E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL
    E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL
    E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL
    E.T.S. DE INGENIERÍA Y DISEÑO INDUSTRIAL
  • FASES DEL PROYECTO Y ACCIONES QUE SE VAN A DESARROLLAR
    1.  Sesión introductoria a GitHub para los estudiantes (primera semana de febrero).
    2. Configuración de cuentas individuales y de equipos en GitHub (segunda semana de febrero). Esta fase estará asistida por los becarios y con el material elaborado (vídeos y documentación) durante el PIE de la convocatoria anterior.
    3. Búsqueda de proyectos susceptibles de ser planteados como retos a los equipos de estudiantes (tres primeras semanas de febrero).
    4. Planteamiento inicial del proyecto de equipo por parte de cada grupo, alojando el texto descriptivo en GitHub y el código inicial. Al final del primer mes de la asignatura, todos los proyectos deben estar propuestos. 
    5. Los profesores revisarán los proyectos y establecerán hitos a través de las issues de GitHub. 
    6. Los estudiantes desarrollarán los retos, subirán los cambios a GitHub y cerrarán las issues. 
    7. Los profesores, con la asistencia de los becarios del proyecto, evaluarán el código de cada proyecto y establecerán nuevas issues. 
    8. Se repetirán los pasos 5, 6 y 7 hasta finalizar el proyecto completo.
    9. Cierre del proyecto (junio-julio). Los trabajos finalizados, junto con sus wikis, se mostrarán en la página web https://aigora.github.io/
    RECURSOS Y MATERIALES DOCENTES

    Todo el material docente estará puesto a disposición de los alumnos a través de Github, YouTube, Kahoot.it y la plataforma Moodle institucional de la universidad. Además, todos los resultados de los trabajos, páginas web y ejercicios individuales serán almacenados en la plataforma de Github y accesibles a través de la página web del proyecto. 

    Los estudiantes necesitan un ordenador y una cuenta en Github (gratuita). Actualmente, todos los alumnos de la asignatura de Informática asisten a las clases con sus propios ordenadores, por lo que la propuesta es factible desde el punto de vista de recursos, al no implicar necesidades adicionales a las habituales en la asignatura.

    SEGUIMIENTO Y EVALUACION

    El seguimiento de la consecución de los retos se hará a través de las issues que incluye GitHub, por parte de los profesores y con soporte de los becarios. Posteriormente, se utilizará la propia API que ofrece GitHub para extraer las métricas más relevantes del aprendizaje del estudiante: tiempo medio en resolver los retos, número de líneas desarrolladas, participación de cada integrante del equipo, etc.

    Se analizará también el impacto de este proyecto en los resultados académicos representados por las tasas de eficiencia y absentismo, tomando como base de comparación los valores de estas tasas en cursos anteriores.

    Finalmente, una vez terminado el curso, haremos un cuestionario de satisfacción anónimo para que los estudiantes nos indiquen qué les ha parecido la experiencia, el aprendizaje basado en retos y el uso de GitHub en la asignatura.

    PRODUCTOS RESULTANTES

    El producto resultante es un conjunto de repositorios públicos con toda la colección de ejercicios resueltos y trabajos de grupo de los estudiantes, disponibles para que cualquier otro estudiante universitario o incluso cualquier persona, de forma autodidacta, pueda aprender a programar en C.

    También se desarrollará otra colección de cuestionarios de evaluación en Kahoot y ejercicios en CodeRunner asociados a cada contenido de la asignatura, con el fin de evaluar el trabajo individual que hacen los estudiantes a lo largo del curso. 

    MATERIAL DIVULGATIVO

    El proyecto y sus resultados se presentarán en un congreso de innovación educativa, además de en las jornadas que organiza la propia UPM. Se seguirá utilizando la página web del proyecto anterior, AIGORA, para ampliarla con los resultados de los proyectos del curso 2019/2020 y se seguirá manteniendo toda la documentación pública a través de los canales de YouTube (video-tutoriales) y Wikis de GitHub.

    COLABORACIONES

    El equipo que propone este proyecto integra a profesores de asignaturas de todos los cursos de los Grados. Esta circunstancia se aprovechará con el objetivo de contar con propuestas de trabajos para la asignatura de Informática planteadas por estos profesores y que establezcan vínculos con dichas asignaturas. De esta manera, se espera fomentar el interés de los alumnos y visibilizar la utilidad de la programación y sistemas de control de versiones en otros contextos.