Post on 28-Jan-2016
Una experiencia de aprendizaje basado en proyectos utilizando
herramientas colaborativas de desarrollo de software
libre Jose Emilio Labra Gayo, Daniel Fernández Lanvin,
Jesús Calvo Salvador, Agustín Cernuda del Río
Escuela Universitaria de Ingeniería Técnica Informática de Oviedo
EUITIO
Universidad de Oviedo
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát ica
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát icaEntorno
Escuela Universitaria Ingeniería Técnica Informática de OviedoUnos 1200 alumnos
2 titulaciones: IT Informática de Gestión y Sistemas
Reciente cambio de plan de estudiosGuerra de optativas
Muchas asignaturas optativas atractivas
Intensificaciones
Menos de 20 alumnos Desaparición de optativa
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát icaAsignatura
Programación declarativaOptativa de 6 créditos (1 cuatrimestre), 25 alumnos aprox.Impartir paradigmas de programación declarativos
Asignatura anterior: Programación Lógica y Funcional2 meses de Programación funcional (lenguaje Haskell)2 meses de Programación lógica (lenguaje Prolog…Curry)
Esquema anterior de prácticas atractivo10 entregables a lo largo del curso
Cada entregable = pequeños ejercicios Resueltos previamente por el profesorEntorno y objetivos bien delimitado ( estudiantes
contentos)Profundizar en características de los lenguajes
Temática atractivaVocabularios XMLGráficos en 2-dimensiones (SVG)Mundos virtuales infinitos mediante octrees (WRML, X3D)
Aceptado en varios congresos (JENUI’03, WFLP’04, SINDI’05)¡Ya estábamos en el EEES!
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát ica
Algunas dudas en el paraíso
Los alumnos estaban contentos, pero…Ejercicios un poco artificiosos (pocas posibilidades de fracaso)
Fuerte auto-estima de los estudiantes (quizá excesiva?)
Algunos casos de plagio
¿Qué estaban aprendiendo?Los ejercicios atacaban diferentes características de los lenguajes
No se planteaba un desarrollo software complejo
¿Y las competencias transversales?Trabajo en grupo, resolución de problemas, búsqueda de
información…
Falsa sensación de seguridad…¿y cuando salgan a la calle?
¿Y el profesor?Complejidad = definir ejercicios atractivos (con solución = artificiales)
Trabajo completamente de docenciaLa línea de investigación del profesor va por otro lado
Al año siguiente había que modificarlos…Repetición…¿aburrimiento?...¿sensación de pérdida de
tiempo?
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát icaLa idea
Resolver un proyecto real mediante técnicas de software libre
Tema del proyecto:Intentar resolver un problema actual y real
Que no esté resuelto
Que sea atractivo y novedoso
Que esté abierto para poder cambiar de rumbo
Que el profesor conozca bien
Que les guste a los estudiantes y al profesor
Sobre el desarrollo:Un proyecto único durante el curso para toda la clase
Utilizando herramientas colaborativas (sourceforge)
El profesor = un desarrollador más
El desarrollo similar a la creación de software libre…muy libre
Tema de investigación
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát icaElección del problema
Un único lenguaje de desarrollo (Haskell, lenguaje funcional)
La web semánticaCampo muy reciente y que está de moda en Internet
Línea de investigación del profesor
Muchos problemas por resolver
Mucha relación con la programación lógicaLa inclusión de reglas en lenguajes de web semántica
equivale a incorporar un lenguaje de programación lógica
Desarrollar herramientas para la web semántica en HaskellProblema abierto: no existe ninguna herramienta actualmente
Un solo sistema desarrollado pero no activo
Relacionado con interés de investigación del profesor
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát icaMetodología
Un único equipo = Toda la clase (incluidos los profesores)27 desarrolladores
Exposición pública del proyectoNombre: WESO (WEb Semántica Oviedo)
Inclusión en almacen público de proyectos (Sourceforge)
Página Web (http://www.weso.sourceforge.net)
Herramientas colaborativas de desarrolloSourceforge
Lista de correo, cvs, gestión de bugs, releases, etc.
Canal IRC del proyecto
Foro de discusión
Pruebas unitarias (HUnit)
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát icaSourceForge
Plataforma más utilizada en desarrollo de software libreMás de 100.000 proyectos y de 1millón de usuarios
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát icaGrupos de trabajo
El desarrollo se basó en grupos de trabajo auto-coordinadosObjetivo = que los estudiantes aprendiesen a coordinarse
Creación de actas de cada reunión
Trabajos en periodos cortos
Grupos creados por el profesorSe intentaron romper lazos de amistad previos al principio
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát ica
Fases del Desarrollo (1)
Identificación del problemaGrupos de 4 ó 5 personas
Componentes de cada grupo elegidos por el profesorObjetivo: mezclar a los estudiantes
Cada grupo investigó una posible aplicación: EARL, RDF/RSS, FOAF, Open Directory, RDFCalendar y un grupo debía buscar “otras”
Tiempo: 1 mes
Exposición pública al resto de la clase de la investigaciónEl profesor seleccionaría al ponente
Votación sobre el tema más atractivo El desarrollo posterior sería por la línea elegida
Se eligió FOAF y un tema propuesto por los alumnos
NOTA: En esta fase, en las horas de prácticas fueron aprendiendo el lenguaje Haskell
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát ica
Fases del Desarrollo (2)
Primer prototipoNuevo reparto en grupos intentando que no se repitan los
miembros
Se parte de un esqueleto de aplicación desarrollado por los profesoresConsta de diversos módulos
Cada grupo se encargará de un módulo
Cada módulo contiene unas pruebas unitarias (HUnit)
Objetivo: Obtener una primer release que haga algo
Tiempo: 1 mes y medio (17 de diciembre, antes de navidad)
Dicha versión sería publicada en InternetMotivación: exposición pública del código
Solicitud del primer auto-informe de contribución al proyecto
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát ica
Fases del Desarrollo (3)
Corrección del prototipoCreación de nuevos grupos más reducidos (2 personas)
Objetivo: Mayor control de la actividad intra-grupo
Tareas más concretas: Mantenimiento de módulos
Reparación de bugs
Creación de ejemplos
Banco de pruebas
etc.
Tiempo: 1 mes (Hasta mediados de Enero)
Objetivo: Versión corregida del prototipo
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát ica
Fases del Desarrollo (4)
AmpliacionesDisminución de actividad durante la fase anterior
Fechas: últimos 15 días de enero y principios de febreroCoincide con exámenes de muchas asignaturas
Mayor estrés de los estudiantes
Menos tiempo para que se coordinen
Solicitud de segundo auto-informe de contribuciones
Breve trabajo final individualComplemento al resto de contribuciones al proyecto
Objetivo: distinguir mejores estudiantes
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát ica
Evaluación de la asignatura
Participación en el proyectoParticipación en los diferentes grupos
Implementación de soluciones
Incorporación de mejoras al proyecto
Otras colaboraciones: lista de correo, página web, etc.
Auto-informes realizados por los estudiantesIndicarán cuál ha sido su contribución
Se han solicitado 2 auto-informesEl primer auto-informe sirvió para captar la evolución del
proyecto
Trabajo individual sobre el tema del proyecto
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát icaEvaluación del proceso
Encuesta a los estudiantes
Puntos positivos:El método es bueno, pero hay que mejorarlo
Importante trabajar en proyecto real
Les hubiese gustado dedicarle más tiempo
Prefieren este método a uno más tradicional
Aprendizaje de técnicas reales de softwarePruebas unitarias, control de versiones, gestión de bugs, etc.
Puntos negativos:Algunos se desmotivaron porque otros compañeros trabajaron mucho
Falta de objetivos claros
Excesivos cambios de grupos
Poco tiempo para coordinarse
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát icaConclusiones
Método nuevo para los profesores
¿Qué aprendieron los estudiantes? Posiblemente, menos programación declarativa
Pero más competencias transversalesTrabajo en grupo, Desarrollo de software colaborativo, (control
de versiones, módulos, etc.), Gestión del tiempo, etc.
Sobre el esfuerzo para el profesor…Mayor que con enseñanza tradicional…¡seguro!
PERO es más divertidoMayor interacción con los estudiantesSe puede aprender de los estudiantes!!!Se puede investigar mientras se enseña
OJO: Los estudiantes quedan con la sensación de que el profesor no conoce todas las respuestas ¿es éso malo?Diversas anécdotas…
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát icaAnécdotas
Propuesta improvisada de un tema por parte de unos alumnosMACO: Mapa de titulaciones mediante web semántica
Colaboración de un estudiante de la Universidad de OxfordParticipación en la sala de Chat
Hijo del desarrollador del Swish (el sistema anterior)
Creación espontánea de líderes de grupoProblemática del manejo de grupos
Roce entre 2 alumnos en una de las presentaciones2 módulos debían comunicarse y tenían que ponerse de acuerdo en
la interfaz
Reciente artículo de unos estudiantes sobre la experienciaEnseñanza declarativa vs. Imperativa
Grupode Estudio
para la Innovac ión de laDocenc ia en Inf ormát ica
Fin de la Presentación