Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/309277418 Innovación educativa con software libre Conference Paper · September 2009 CITATIONS 3 READS 284 2 authors, including: Manuel Palomo-Duarte Universidad de Cádiz 150 PUBLICATIONS 959 CITATIONS SEE PROFILE All content following this page was uploaded by Manuel Palomo-Duarte on 19 October 2016. The user has requested enhancement of the downloaded file. https://www.researchgate.net/publication/309277418_Innovacion_educativa_con_software_libre?enrichId=rgreq-986da87d593142b0bae77bf23918f2e8-XXX&enrichSource=Y292ZXJQYWdlOzMwOTI3NzQxODtBUzo0MTg4ODUxMDg2Nzg2NTZAMTQ3Njg4MTQwMDI3Mw%3D%3D&el=1_x_2&_esc=publicationCoverPdf https://www.researchgate.net/publication/309277418_Innovacion_educativa_con_software_libre?enrichId=rgreq-986da87d593142b0bae77bf23918f2e8-XXX&enrichSource=Y292ZXJQYWdlOzMwOTI3NzQxODtBUzo0MTg4ODUxMDg2Nzg2NTZAMTQ3Njg4MTQwMDI3Mw%3D%3D&el=1_x_3&_esc=publicationCoverPdf https://www.researchgate.net/?enrichId=rgreq-986da87d593142b0bae77bf23918f2e8-XXX&enrichSource=Y292ZXJQYWdlOzMwOTI3NzQxODtBUzo0MTg4ODUxMDg2Nzg2NTZAMTQ3Njg4MTQwMDI3Mw%3D%3D&el=1_x_1&_esc=publicationCoverPdf https://www.researchgate.net/profile/Manuel-Palomo-Duarte?enrichId=rgreq-986da87d593142b0bae77bf23918f2e8-XXX&enrichSource=Y292ZXJQYWdlOzMwOTI3NzQxODtBUzo0MTg4ODUxMDg2Nzg2NTZAMTQ3Njg4MTQwMDI3Mw%3D%3D&el=1_x_4&_esc=publicationCoverPdf https://www.researchgate.net/profile/Manuel-Palomo-Duarte?enrichId=rgreq-986da87d593142b0bae77bf23918f2e8-XXX&enrichSource=Y292ZXJQYWdlOzMwOTI3NzQxODtBUzo0MTg4ODUxMDg2Nzg2NTZAMTQ3Njg4MTQwMDI3Mw%3D%3D&el=1_x_5&_esc=publicationCoverPdf https://www.researchgate.net/institution/Universidad-de-Cadiz?enrichId=rgreq-986da87d593142b0bae77bf23918f2e8-XXX&enrichSource=Y292ZXJQYWdlOzMwOTI3NzQxODtBUzo0MTg4ODUxMDg2Nzg2NTZAMTQ3Njg4MTQwMDI3Mw%3D%3D&el=1_x_6&_esc=publicationCoverPdf https://www.researchgate.net/profile/Manuel-Palomo-Duarte?enrichId=rgreq-986da87d593142b0bae77bf23918f2e8-XXX&enrichSource=Y292ZXJQYWdlOzMwOTI3NzQxODtBUzo0MTg4ODUxMDg2Nzg2NTZAMTQ3Njg4MTQwMDI3Mw%3D%3D&el=1_x_7&_esc=publicationCoverPdf https://www.researchgate.net/profile/Manuel-Palomo-Duarte?enrichId=rgreq-986da87d593142b0bae77bf23918f2e8-XXX&enrichSource=Y292ZXJQYWdlOzMwOTI3NzQxODtBUzo0MTg4ODUxMDg2Nzg2NTZAMTQ3Njg4MTQwMDI3Mw%3D%3D&el=1_x_10&_esc=publicationCoverPdf INNOVACIÓN EDUCATIVA CON SOFTWARE LIBRE Pablo Neira Ayuso1 y Manuel Palomo Duarte2 1: Departamento de Lenguajes y Sistemas Informáticos Escuela Técnica Superior de Ingeniería Informática Universidad de Sevilla Avda. Reina Mercedes, s/n. 41012 Sevilla email: pneira@us.es, web: http://www.lsi.us.es /~quivir 2: Departamento de Lenguajes y Sistemas Informáticos Escuela Superior de Ingeniería Universidad de Cádiz C/ Chile, 1. 11002 Cádiz email: manuel.palomo @uca.es , web: http://neptuno.uca.es Resumen. En los últimos años se viene observando un aumento en la demanda de profesionales TIC con conocimiento de software libre por parte de la sociedad. En este documento presentamos dos experiencias exitosas de aplicación de técnicas de desarrollo de software libre en la formación del alumnado universitario con miras a los nuevos títulos. En dichas experiencias el alumnado, además de aprender, produce resultados totalmente válidos para la comunidad de software libre, beneficiándose ambos. En primer lugar, el Concurso Universitario de Software Libre es una iniciativa nacional en la que desde 2006 participan alumnos de universidades españolas desarrollando sistemas libres. El trabajo que éstos hacen durante el curso académico está disponible públicamente, y es valorado por profesionales del sector TIC y de universidades con experiencia en dicho campo. Posteriormente, desde este curso 20089, en la asignatura Diseño de Videojuegos de la titulación Ingeniería Técnica en Informática de Sistemas de la Universidad de Cádiz, los alumnos desarrollan durante un cuatrimestre un videojuego con licencia libre siguiendo un formato basado en el del Concurso. La asignatura se imparte siguiendo la metodología del aprendizaje basado en proyectos, que realizan grupos de tres alumnos. Al igual que en el Concurso, todo el desarrollo es público, pero en este caso la valoración se hace en la clase, mediante rúbricas acordadas previamente con los alumnos. En ambas experiencias se usa la Forja de Conocimiento Libre de la Comunidad RedIRIS (Red Española de Educación e Investigación), que facilita enormemente tanto el desarrollo colaborativo de software de manera asíncrona y distribuida entre los diferentes integrantes del grupo como la evaluación del trabajo realizado. A lo largo del documento se muestran y analizan las estadísticas recogidas durante el desarrollo de los proyectos en las dos experiencias y los resultados de las encuestas realizadas a su finalización. Palabras clave: Aprendizaje basado en proyectos; Seguimiento del trabajo del alumno; Desarrollo colaborativo de software. 1 mailto:pneira@us.es http://www.grupo.es/ mailto:manuel.palomo@uca.es mailto:manuel.palomo@uca.es http://www.lsi.us.es/quivir http://www.lsi.us.es/quivir 1 INTRODUCCIÓN En este documento presentamos dos experiencias de aplicación de técnicas y herramientas de desarrollo de software libre en la formación del alumnado universitario: el Concurso Universitario de Software Libre y la asignatura Diseño de Videojuegos de Ingeniería Técnica en informática de Sistemas de la Universidad de Cádiz. Cabe destacar que en estas dos experiencias los alumnos producen resultados totalmente válidos para la comunidad de software libre, beneficiándose no sólo ellos por su experiencia, sino también a la comunidad, al disponer de los programas creados para su uso y profesionales formados. El Concurso Universitario de Software Libre (que en este curso 2008/9 ha celebrado su tercera edición) es una iniciativa en la que participan alumnos de universidades españolas desarrollando sistemas libres. Los alumnos pueden participar individualmente o en grupos de hasta tres. Todo el trabajo que hacen durante el concurso está disponible públicamente y en tiempo real. Para su evaluación se cuenta con profesionales del sector TIC y personal de universidades con experiencia en el desarrollo de software libre. Hay que aclarar que el objetivo último del concurso no es la competencia entre participantes, sino fomentar la autosuperación y la colaboración para el desarrollo de software libre. Por otro lado, en la asignatura Diseño de Videojuegos de la titulación Ingeniería Técnica en Informática de Sistemas de la Universidad de Cádiz, los alumnos desarrollan durante el segundo cuatrimestre un videojuego con licencia libre en grupos de tres. La asignatura se imparte con una metodología basada en proyectos. Al igual que en el caso anterior, todo el desarrollo es público, pero la valoración se hace en la clase, utilizando plantillas acordadas previamente con los alumnos. Cabe destacar que para llevar a cabo estas experiencias es clave el uso de una infraestructura que facilite por un lado el desarrollo de software de manera colaborativa entre los integrantes del grupo y que permita, por otro lado, evaluar el trabajo realizado. En este sentido, en ambas experiencias se ha decidido usar la Forja de Conocimiento Libre de la Comunidad RedIRIS (Red Española de Educación e Investigación), que ofrece a las universidades españolas un entorno estable y accesible públicamente en tiempo real para desarrollar software libre con repositorios de código centralizados, listas de correos, foros, gestión de tareas, publicación de noticias con RSS, wikis, gestión de informes externos de fallos, etc. A esto se suman herramientas libres para aprovecharesta estructura y generar un producto de calidad, como pueden ser Subversion, Doxygen, autotools, etc. Es relevante resaltar que la tendencia actual en la administración pública española, como es el caso de la Junta de Extremadura y la Junta de Andalucía, es la adopción del software libre y los estándares abiertos. Es por ello que existe una demanda ingente de profesionales formados en el software libre que, de no cubrirse, podría suponer una amenaza para el proceso de migración al que se está sometiendo la administración pública [Cenatic2008]. Además, es interesante destacar que el software libre se presenta como una gran oportunidad para la Unión Europea para aumentar su capacidad competitiva ya que ésta ha desempeñado un rol eminentemente consumidor en lo que se refiere a las TIC en las últimas décadas [Ghosh2006]. El resto del artículo se organiza como sigue: en el siguiente apartado presentamos los aspectos éticos y prácticos del uso de software libre en la Universidad. En el tercer apartado comentamos la experiencia del Concurso Universitario de Software Libre, y en el cuarto la de la asignatura Diseño de Videojuegos. Por último ofrecemos una serie de conclusiones comunes a ambas experiencias. 2 2 SOFTWARE LIBRE Y UNIVERSIDAD El término software proviene de la tradición anglosajona y se emplea para referirse al aspecto lógico de un sistema de computación. A grandes rasgos, dichos sistemas están compuestos por una parte material, conocida como hardware, y una parte lógica, comúnmente referida como software. En concreto, la parte lógica engloba el conjunto de programas que hacen posible que un sistema de computación sea funcional desde la óptica del usuario. Desde el punto de vista técnico, un programa es una secuencia de instrucciones que, en conjunto, dan vida a una cierta tarea que realiza el sistema. Un programa es, por decirlo en términos culinarios, la receta de un preparado, tales como una tarta o unas lentejas. Entre los técnicos, es frecuente el uso del término código para referirse a esta secuencia de instrucciones que componen un programa. Dicho código es fruto de la actividad intelectual de un ser humano y por ello debe ser considerado como una forma de conocimiento. El código juega un papel fundamental para comprender el concepto de software libre. En este mundo en el que vivimos, el término libre tiende a confundirse con el de gratis. Por ello, vemos conveniente hacer un inciso en cuanto a que el software libre en nada tiene que ver con el precio, sino la libertad. En concreto, la definición de software libre se refiere a la libertad de ejecución del programa, la libertad de estudio su código, la libertad para realizar modificaciones y la libertad de distribución del código ya sea con o sin modificación alguna [Stallman2004]. En el ámbito universitario, el software libre nos brinda un acceso total a la tecnología, que es materia prima para la adquisición y generación del conocimiento. Además, nos permite, como docentes, formar a nuestros alumnos en tecnologías que podrán emplear a lo largo de su vida profesional sin las restricciones clásicas que impone el software privativo. Es por ello que, especialmente en el ámbito universitario, el software libre nos ofrece un marco docente idóneo para la formación de los que serán los futuros profesionales de las TIC. 2.1 Aspectos éticos El desarrollo de software libre ofrece ventajas desde diferentes frentes éticos [Lessig2009], que son los siguientes: • El software libre permite al estudiante el acceso total y sin restricciones al conocimiento y la tecnología. De esta forma, se eliminan barreras artificiales impuestas por las tecnologías privativas, que establecen hasta dónde es posible conocer y hasta dónde no. Esto da la oportunidad al estudiante de recuperar el protagonismo en el proceso de aprendizaje, pues es él quien establecerá hasta dónde llegarán los límites de su conocimiento. • La emancipación del estudiante de factores foráneos, ya que éstos son formados en tecnologías que podrán emplear en el futuro para resolver problemas sin necesidad de depender tácitamente de terceras partes. Es interesante remarcar el hecho de que, generalmente, es la Universidad la que afronta los costes de adquisición y uso de la tecnología privativa durante la etapa formativa del estudiante. Sin embargo, serán los estudiantes los que tendrán que afrontar dichos costes durante su etapa profesional, lo cual no hace sino poner más trabas al posible desarrollo de un tejido tecnológico en el ámbito local. • El software libre es legal, lo cual elimina los problemas éticos que plantean una posible formación del estudiante mediante software privativo usado de forma ilegítima durante su 3 etapa formativa, es decir, sin la adquisición de las licencias pertinentes. • Los resultados del trabajo realizado por el estudiante, en caso de que los hubiere, revierten sobre toda la sociedad la cual tendrá acceso sin restricciones a una nueva forma de conocimiento en forma de software libre. Nótese que, de esta forma, el estudiante abandona el rol de mero consumidor de tecnologías para adoptar un rol de productor de conocimiento. En este aspecto, es fundamental que el desarrollo del software libre se realice a partir de software libre ya existente para garantizar el retorno del resultado sin restricciones. 2.2 Aspectos docentes Consideramos que el software libre ofrece una serie de aspectos relevantes desde el punto de vista docente y técnico [Raymond2001]: • La puesta en práctica de las metodologías adquiridas en el ámbito académico, tales como la Ingeniería del Software, así como la familiarización con las tecnologías que permiten el desarrollo de un programa, tales como los lenguajes de programación y el uso de un entorno de desarrollo integrado. • La posibilidad potencial de trabajar en equipo junto a profesionales en el desarrollo del software. El mundo del software libre despierta interés en aquellas empresas que comienzan a entender las ventajas de colaborar en el desarrollo de software común y accesible a todos. Es por ello que, en proyectos estratégicos, existen profesionales dedicados en exclusividad al desarrollo del software libre siguiendo, por supuesto, un modelo abierto y colaborativo. Por tanto, la contribución a proyectos de software libre ya existentes da la posibilidad al estudiante de entrar en contacto con la realidad del trabajo en equipo y el desarrollo de software a nivel profesional. • La posibilidad potencial de creación de una comunidad de usuarios del software resultante, lo que permite a los estudiantes aprender a responder a las necesidades de la sociedad. Además, esto fomenta una actitud emprendedora, de autoempleo y que permite aprovechar las ventajas de un canal de comunicación global e instantáneo como es Internet. • La exposición del resultado del trabajo realizado a escrutinio público, lo que es interesante puesto que, generalmente, los estudiantes son reacios a exponer públicamente el resultado de su trabajo por temor a ser sometido a crítica. • El desarrollo del sentido autocrítico y la asertividad. El estudiante tiene que evaluar por sí mismo si el fruto de su trabajo es relevante para la comunidad del software libre, así como aprender a ser asertivo ante posibles peticiones que están fuera de la hoja de ruta del desarrollo del proyecto, o que no son correctas o apropiadas desde el aspecto técnico. • El fomento de la autoformación. El acceso sin límites a la tecnología que ofrece el software libre fomenta el desarrollo de las capacidades de autoaprendizaje. •El aprendizaje de estrategias de promoción del resultado del trabajo realizado mediante la búsqueda de canales de promoción del trabajo resultante, tales como congresos temáticos orientados al software libre o a las tecnologías de la información, revistas y portales web especializados en la material. • El aprender a resolver problemáticas relacionadas con el software desarrollado, en muchos casos, mediante información proveniente de usuarios sin conocimientos técnicos. Esto permite al estudiante desarrollar la capacidad de resolución de problemas relacionados con 4 el software y entender las dificultades que suponen los diálogos entre un agente con conocimientos técnicos y uno que no los tiene. • El aprendizaje del uso de herramientas colaborativas que facilitan el trabajo en grupo, tales como wikis, gestores de versiones, gestores de errores, listas de correo y foros. • La puesta en práctica de idiomas extranjeros, que en el caso de proyectos de ámbito internacional es predominantemente el inglés. 3 CONCURSO UNIVERSITARIO DE SOFTWARE LIBRE El concurso universitario de software libre (CUSL) es una actividad de promoción del software libre en el que pueden participar estudiantes universitarios de primer y segundo ciclo del ámbito universitario estatal español. Desde su origen es una actividad coordinada por Pablo Neira Ayuso. El concurso consiste en el desarrollo de software, hardware y documentación técnica bajo licencias libres1. En la actualidad, la experiencia cuenta con el apoyo de las universidades de CastillaLa Mancha, Granada, Málaga, Cádiz y Sevilla que promocionan activamente la iniciativa en sus respectivos entornos. No obstante, es una actividad abierta a todos los estudiantes del ámbito estatal español. Por tanto, cualquier estudiante, incluso si su universidad no está directamente involucrada, puede tomar parte en el concurso. 3.1 Objetivos Uno de los objetivos principales del concurso es la promoción del software libre en el entorno académico universitario. Esto supone un acercamiento del mundo software libre a aquellos estudiantes que no están familiarizados con él, así como la promoción de estudiantes que ya se encuentran involucrados en el mundo del software libre con el fin de darles mayor visibilidad. Además, se pretende fomentar con esta actividad un diálogo bidireccional entre la Universidad y la comunidad del software libre. Esto impulsa la imagen de la Universidad no únicamente como formadora de futuros profesionales expertos en software libre sino también como generadora de conocimiento, en forma de software libre, que revierte sobre todo el conjunto de la sociedad. 3.2 Desarrollo de la actividad La actividad del concurso comprende diferentes fases, que son las siguientes: Fase de inscripción, que tiene lugar desde mediados de octubre hasta mediados de noviembre. Durante esta etapa los estudiantes proponen un proyecto de software libre a desarrollar a lo largo del año académico en curso. Para ello, completan un formulario en la web del concurso2 describiendo brevemente el proyecto que pretende realizar, la licencia de software libre seleccionada y las tecnologías empleadas. Es importante reseñar que se aceptan proyectos finales de estudios y ampliaciones de trabajos ya realizados en asignaturas regladas, siempre que se basen en tecnologías libres y que su resultado sea software libre. La inscripción es gratuita gracias a la financiación de instituciones públicas y empresas que apoyan la actividad con el fin de promocionar la formación de futuros profesionales expertos en software libre. Fase de aceptación, que tiene lugar una vez finalizada la fase de inscripción y que tiene por 1 Se adopta el conjunto de licencias libres definidas por la Fundación del Software Libre: 2 La web del concurso está disponible en http://www.concursosoftwarelibre.org 5 objetivo la validación de las propuestas con respecto a las bases del concurso. En este aspecto, consideramos fundamental que los proyectos de software libre que los estudiantes nos proponen se basen en software libre, por tanto, no se aceptan proyectos de software libre basados en tecnologías privativas. No obstante, se asesora a los candidatos a participantes con el fin de subsanar su propuesta mediante la búsqueda de alternativas basadas en tecnologías libres. Fase de desarrollo, que comprende prácticamente todo el curso académico desde mediados de noviembre hasta finales de abril. Los participantes disponen de la forja de RedIRIS y un blog donde cada uno cuenta su experiencia en el desarrollo durante el curso 2008/9. Además, existe una web que acumula todas las entradas de blog de los participantes que denominamos Planeta Concurso3. Los participantes disponen de visibilidad absoluta entre ellos mismos mediante una lista de correo que les permite plantear cuestiones que ellos mismos pueden resolver, de forma se pueden involucrar en la organización del concurso dando soporte a otros participantes. Además, se les ofrece la oportunidad a los participantes de escribir una breve recensión para revistas especializadas, tales como Linux Magazine, para promocionar su proyecto. Fase de evaluación, que tiene lugar tras las finalización del periodo de desarrollo. A diferencia de otro tipo de concursos, no se envía una versión final con el resultado del trabajo realizado. Siguiendo la naturaleza orgánica del software libre, se evalúa el propio desarrollo sin necesidad de bloquear una posible progresión del proyecto más allá del concurso. Con ello aspiramos a que los proyectos de software libre desarrollados no finalicen con el periodo de evaluación, en su lugar, consideramos que su continuidad es un indicador de éxito. La evaluación es realizada por un jurado compuesto por profesionales de la TIC vinculados al mundo del software libre en los que se cuidan los aspectos relacionados con la Ingeniería del Software y las buenas prácticas en el desarrollo de tecnología. Fallo del jurado, que se realiza a principios de mayo. La entrega de premios se engloba dentro de unas jornadas divulgativas del software libre que representan el colofón a la actividad. Los premios están categorizados teniendo en cuenta a) el impacto en la comunidad del software libre, b) la componente innovadora y c) aquellos proyectos orientados a la educación y el ocio. 3.2 Premios locales El concurso tiene a una arquitectura distribuida con la que se pretende dar la mayor visibilidad posible a todas aquellas universidades que tomen parte de la actividad. Es por ello que el concurso contempla una modalidad de colaboración denominada premio local que permite a una universidad colaboradora premiar a los participantes de su ámbito, así como realizar una fase final local que tendrá lugar antes de la fase final a nivel estatal del concurso. 3.3 Resultados A continuación, indicamos una serie de aspectos indicadores que nos parecen relevantes para mostrar la marcha de esta actividad. 3.3.1 Participación En la siguiente tabla hemos representado el número de participantes y de proyectos presentados a las tres ediciones de la actividad que han tenido lugar desde su comienzo en octubre de 2006. En los resultados se puede observar un ligero incremento en el número de participantes y de proyectos 3 La web del Planeta Concurso está disponible en http://planet.concursosoftwarelibre.org 6 presentados, algo más destacado en lo que se refiere a la tercera edición que ha tenido lugar durante el presente curso académico. Edición Primera: 2006/7 Segunda: 2007/8 Tercera: 2008/9 Proyectos 93 95 111 Participantes 135 131 168 Es interesante considerar que el porcentaje de proyectos finalizados, es decir, de aquellosproyectos que han alcanzado un nivel de madurez considerable, ronda entre el 35 y 40%. La siguiente figura desglosa el número de participantes por comunidad autónoma en la tercera edición. En ella queda reflejada el papel fundamental que juegan las universidades y entidades colaboradoras que organizan el premio local para la promoción de la actividad, que son en la actualidad las Universidades de Cádiz, Málaga, Granada y Sevilla por Andalucía, y la Universidad de CastillaLa Mancha a instancias de la CESCALM. 3.3.2 Descarga de proyectos En cuanto a las descargas de los proyectos participantes en base a la información disponible en la Forja de RedIris4, cabe destacar que son tres proyectos del ámbito del ocio y videojuegos los que han obtenido más descargados. Estos proyectos son Tucan, con 155.036 descargas, Subdownloader, con 89.539 descargas, y Pro Evolution Chapping, con 43,295 descargas. El primero de ellos es el ganador del premio al proyecto de más relevancia para la comunidad del software libre en la tercera edición, y el segundo es el ganador del premio al mejor proyecto de ocio de la segunda edición. Además, destaca el proyecto QtOctave, que ofrece una interfaz gráfica para el programa matemático GNUOctave. que dispone de 34.220 descargas. Le sigue una adaptación del compilador del lenguaje de programación C denominado GNUcc para el microcontrolador PIC16, con 10.574 descargas. 3.3.3 Evaluación por parte de los participantes Hemos solicitado a los participantes que completen un formulario web que incluye una serie de cuestiones con el fin de obtener sus impresiones. Con respecto a los proyectos que han sido abandonados, los participantes nos han indicado la razón por la cual los proyectos no han podido llegar a buen puerto, que nosotros hemos representado en la siguiente tabla: 4 A día 9 de julio de 2009, la Forja de RedIris está disponible en la dirección: http://forja.rediris.es/ 7 Aspecto evaluado (porcentaje de síes) 2008/9 Falta de tiempo 100% Objetivos muy ambiciosos 60% Problemas con los compañeros 20% Problemas con las fechas 20% ¿Tienes pensado volver a participar en el CUSL? 80% ¿Recomendarías a tus compañeros que participaran en la próxima edición del Concurso? 80% Cabe resaltar que la falta de tiempo ha sido un factor determinante para el abandono de los proyectos. Es interesante remarcar que la mayor parte de los encuestados se plantea volver a participar en el CUSL y recomendaría a compañeros suyos a animarse a participar. En la siguiente tabla hemos representado la valoración de los participantes que sí han llevado a cabo sus proyectos. Aspecto evaluado (1 mínimo, 5 máximo) 2008/9 Valora el uso de la forja 2,9 Valora en conjunto las herramientas libres usadas 3,8 ¿Has echado de menos herramientas privativas? 1,4 Valora las fechas y plazos del concurso 3,6 Valora el trato con la organización nacional 4,0 Valora la evaluación de proyectos 3,5 ¿Cómo valoras la experiencia vivida al participar en el concurso? 4,4 Valora el concurso en general 4,0 Destacamos que los participantes han echado muy poco en falta el uso de herramientas privativas durante el desarrollo, lo que nos permite deducir que el uso de herramientas libre no supone un impedimento para la marcha de los proyectos participantes. Además, la experiencia y la valoración de la actividad puede ser calificada de notable. A continuación, aparece el grado de satisfacción de los participantes que han finalizado su proyecto. Aspecto evaluado (porcentaje de síes) 2008/9 ¿Piensas seguir trabajando en tu proyecto? 100% ¿Tienes pensado volver a participar en el CUSL? 50% ¿Recomendarías a tus compañeros que participaran en la próxima edición del Concurso? 80% Resaltar el hecho de que todos los encuestados pretenden continuar con el desarrollo de su proyecto, lo cual consideramos que es un éxito pues, desde la organización del concurso, aspiramos a que los 8 proyectos tengan vida más allá de esta actividad. 3.3.4 Alumnos colaboradores Por último, hay que destacar la labor realizada por los alumnos/as colaboradores Ana Rey Botello, Rafael Tovar Florencio, Francisco Javier Aguirre y Adrían López que han desempeñado una tarea fundamental en la organización de la actividad a lo largo de las últimas tres ediciones. Gracias a ellos el CUSL es una realidad. 4 ASIGNATURA DISEÑO DE VIDEOJUEGOS La asignatura Diseño de Videojuegos [DV2009] es optativa de tercer curso de Ingeniería Técnica en Informática de Sistemas. Tiene una carga de 6 créditos LRU (4,5 créditos ECTS), divididos al 50% entre teoría y práctica (que se imparten en dos sesiones de dos horas semanales durante el segundo cuatrimestre). Desde el primer curso que se impartió está coordinada e impartida íntegramente por Manuel Palomo. La asignatura tiene un marcado carácter multidisciplinar, que integra conocimientos de programación, inteligencia artificial, física, modelado, trabajo en grupo, etc. Tras la experiencia del responsable de la asignatura en el Grupo de Formación de Profesorado GFUCA17 (Adaptación de las asignaturas de las titulaciones de informática al EEES), en el curso 2007 la asignatura se incluyó dentro del Proyecto de Innovación Educativa IE26 y en 2009 se incorporó a la Experiencia Piloto de Adaptación al EEES de la titulación. Todas estas iniciativas forman parte del Proyecto Europa de la Universidad de Cádiz [UCA2009]. Dicho Proyecto está financiado por la Consejería de Innovación, Ciencia y Empresa de la Junta de Andalucía, el Ministerio de Educación y Ciencia, y la propia Universidad de Cádiz, y engloba las líneas de acción de su plan estratégico para llevar a cabo el proceso de convergencia europea. La asignatura se imparte desde el curso 2006/7, y siempre ha mantenido un compromiso firme con el software, utilizando exclusivamente herramientas libres para la docencia. En el segundo curso, 2007/8 se decidió recomendar a los alumnos a usar un sistema de desarrollo colaborativo y se incorporó a la docencia un wiki para ayudar en el aprendizaje de la biblioteca libSDL. Por último, en este curso 2008/9 se ha dado un paso más al ser obligatorio el uso de una forja pública para el desarrollo colaborativo y la liberación del producto resultante bajo licencia libre. 4.1 Desarrollo de la asignatura La asignatura se imparte usando aprendizaje basado en proyectos [Ayllón2009]: el primer día de clase los alumnos organizan grupos de tres que trabajarán juntos a lo largo del cuatrimestre desarrollando un videojuego (en dos dimensiones) bajo licencia libre. La mayoría de alumnos afirman que este trabajo es el proyecto más grande con el que se enfrentan en su formación universitaria, pues comprende cuatro meses de trabajo de tres personas. Por ello se insiste en clase en los aspectos de organización del trabajo: planificación con Gantt, asignación de trabajos a los miembros con fechas de entrega, etc. Como además la temática de los videojuegos resulta, por lo general, de interés para los alumnos (al ser una asignatura optativa cursada voluntariamente), se cuenta con una disposición muy buena del alumnado para llevar su proyecto a buen término, registrándose muy pocos problemas internos en los grupos. La docencia cuenta con el apoyo indispensable de la herramienta de Campus Virtual de la Universidad de Cádiz, basada en el sistema libre Moodle [Palomo2006]. A través de ella los alumnos tienen acceso a los recursos necesarios en la asignatura y se facilita la comunicación entre 9 alumno y profesor. En este sentido cabe destacar la iniciativa de la Universidad de Cádiz que permite a los alumnos sacar de biblioteca ordenadores portátilesen préstamo en condiciones similares a los libros, que facilitan el acceso al Campus Virtual en cualquier momento gracias a la red inalámbrica de la Universidad. La nota de la asignatura se divide en dos partes que valen un 50% cada una: nota individidual y nota de grupo. La primera es independiente para cada miembro del grupo, pero la segunda es igual para todos ellos. Así se consigue un equilibrio entre un objetivo común (el proyecto) y la aportación personal de cada miembro del equipo. La nota individual se subdivide en tres componentes: participación en clase (30%), nota de la competición de sistemas expertos (30%) (que se explica más adelante) y nota de aportación individual al proyecto (40%). Mientras que la nota de grupo se reparte en cuatro componentes que se corresponden con cada una de las presentaciones mensuales que deben de hacer de su proyecto. La nota de cada una de ellas va aumentando a medida que es mayor el trabajo a evaluar, siendo la el La evaluación de cada componente se realiza con rúbricas que han sido publicadas y discutidas con los alumnos previamente. De esta forma, al igual que con otras medidas comentadas anteriormente se fomenta el trabajo autónomo del alumno, aplicando la experiencia del profesor en implantación de técnicas escalables para gestionar grupos grandes de alumnos aplicando técnicas del EEES [Estero2006]. 4.2 Software Libre y Diseño de Videojuegos En las sesiones prácticas de la asignatura se enseña a los alumnos el uso de las distintas herramientas que les ayudarán en el desarrollo de su proyecto. Todas ellas se incluyen en prácticamente cualquier distribución GNU/Linux, por lo que los alumnos pueden disponer de ellas gratuitamente en las aulas, en el ordenador de su casa y donde deseen. A continuación pasamos a detallar las más importantes: Las bibliotecas libSDL* (Simple DirectMedia Layer) son un conjunto de bibliotecas para programación multimedia. Permiten realizar gráficos, animaciones, sonidos y todo lo necesario para implementar un videojuego en Windows, GNU/Linux, MacOS o PlayStation Portatil (PSP) entre otros sistemas. Forja de Conocimiento Libre de la Comunidad RedIRIS: la forja de software es el sistema más importante de cuantos se usan en la asignatura. En ella se centraliza la información y los servicios que permiten el trabajo asíncrono y descentralizado de software. Entre ellos destacan: un repositorio de código centralizado con Subversion (SVN), listas de correos para comunicación entre desarrolladores de la aplicación o con usuarios, foros, gestión de tareas, publicación de noticias con RSS (lo que permite que otras webs las incorporen automáticamente), un wiki para la creación colaborativa de documentación, gestión de informes externos de fallos y web del proyecto. Toda la información almacenada en la forja (incluido el videojuego en sí) está disponible de manera pública en tiempo real, lo que facilita enormemente el seguimiento del trabajo de los alumnos entre compañeros y por parte del profesor. Subversion es un sistema para el control de versiones centralizado que está soportado por las principales forjas de software libre. Es clave para que los distintos miembros de un grupo puedan realizar desarrollo de código de manera asíncrona y distribuida. Permite que, por ejemplo, un alumno amplíe una parte de su videojuego mientras otro hace un módulo nuevo y otro corrige errores. Y después, cuando los usuarios den el visto bueno, es sistema incorpora las 10 distintas aportaciones al repositorio de código y las distribuye entre ellos. Doxygen es un sistema que recopila los comentarios en el código de un programa para generar automáticamente un documento en PDF o una serie de páginas web. En ellos se muestra información de las clases de la aplicación, como Diagramas de Clase, de Herencia y de Colaboración, listado jerárquico de ficheros de código fuente, dependencias entre clases, etc, reduciendo significativamente el tiempo necesario para labores de ingeniería. Planner es un programa sencillo para hacer el diagramas de Gantt. ArgoUML es una aplicación para generar la documentación de análisis y diseño UML. Eclipse es un entorno integrado de desarrollo (IDE) gráfico con soporte para muchas extensiones (como Subversion, Doxygen, ayuda contextual libSDL, compilación dirigida, etc). Además de las anteriores, en la asignatura se usan otras herramientas más generales como OpenOffice (para presentaciones y procesado de texto), GIMP (para diseño gráfico), Audacity (para retoque de audio), etc. También se proporcionan una serie de repositorios de recursos multimedia libres [Lessig2005] que pueden integrar en su proyecto [StLaurent2004] para facilitar su trabajo. 4.3 Resultados de la asignatura A continuación mostramos los datos técnicos y académicos recopilados en la la experiencia. 4.3.1 Datos técnicos Al acabar el curso 2008/9 se han recogido las siguientes estadísticas de los nueve proyectos realizados, así como las medias por proyecto y por alumno. Aspecto 9 Proyectos Media proy. Media alum. Número de revisiones (commits) 964 107,11 37,08 Total de ficheros (bruto) 3.516 390,67 135,23 Total de ficheros de código (.h + .cpp) 1.096 121,78 42,15 Total de líneas (bruto) 286.495 31.832,78 11.019,04 Total de líneas de código (.h + .cpp) 177.884 19.764,89 6.841,69 Número de añadidos 3.724 413,78 143,23 Número de modificaciones 1.462 162,44 56,23 Las cifras brutas y el número de revisiones han sido generados por la utilidad StatSVN, mientras que las de añadidos y modificaciones son los proporcionados por la interfaz web de la forja de RedIris y las estadísticas de código se han realizado con un programa (script) creado al efecto. Hay que aclarar que la diferencia tan grande entre las cifras de ficheros y líneas en bruto y de código se debe al uso de Doxygen, que genera automáticamente una gran cantidad de documentación en formato HTML (lo que aumenta significativamente el número de ficheros y líneas). Entendemos que dichas cifras brutas dan una idea de la envergadura alcanzada por el sistema resultante (pues son parte de él), pero no tanto del trabajo de los alumnos (para eso está los datos de código). 11 Consideramos que, en líneas generales, el trabajo realizado por los alumnos es considerable para ser una asignatura cuatrimestral optativa. Destacamos la media de 37 aportaciones al proyecto con un total de más de 40 ficheros creados por alumno. También es interesante ver cómo gracias a la generación automática de documentación las 177.884 líneas de código de todos los proyectos han generado casi de 110.000 líneas de documentación (la diferencia entre el total de líneas en bruto y las de código). Respecto a StatSVN podemos comentar que es un sistema libre muy completo que, aparte de las estadísticas del proyecto en sí ya mostradas, incluye gran cantidad de información sobre el trabajo realizado en cada proyecto. Por ejemplo, es interesante el seguimiento temporal que hace de las aportaciones de cada desarrollador. Podemos ver a qué horas suele realizar aportaciones (esto es, trabaja) cada integrante de un grupo, así como el día de la semana y del mes. Esto permite clasificar a los alumnos por perfiles. Observando por ejemplo, alumnos que prefieren trabajar de noche (algunos tienen casi el 40% de las aportaciones de madrugada), mientras que otros lo hacen casi por igual durante todo el día. En cuanto a los días de la semana algunos grupos aprovechan el tiempo de clase para trabajar y sus aportaciones se centran en los días de clase, a diferencia de otros que centransu trabajo en el fin de semana. Sin embargo, también hay comportamientos generalizados, cómo la concentración de aportaciones los días previos a la fecha de las presentaciones intermedias. 4.3.1 Datos académicos A continuación se muestran los resultados de una encuesta que se hace todos los cursos el día de la presentación final de los proyectos. Como se observa en 2006/7 y 2007/8 había herramientas no obligatorias que no se evaluaron: Aspecto evaluado (1 mínimo, 5 máximo) 2006/7 2007/8 2008/9 Impartir asignatura en proyectos en grupos de tres alumnos 4,46 4,75 4,52 Estructura de las clases de teoría (explicación de conceptos y dejar tiempo para aplicarlos al proyecto) y levantar actas 3,77 4,25 4,15 Estructura de las clases prácticas (dejar tiempo para trabajo en grupo y resolver dudas) 4,31 4,50 4,44 Campus Virtual 4,62 4,25 4,37 Forja 4,41 Subversion 4,44 Bibliotecas libSDL 4,54 4,75 4,58 Doxygen 4,15 Herramientas auxiliares (Planner, GIMP, etc) 4,54 4,75 4,27 Evaluación de la asignatura (plantillas públicas) 4,31 5,00 4,48 Temario tratado (dificultad, cantidad, calidad, etc) 4,08 4,29 4,27 Uso de un juego para aprendizaje de sistemas expertos 4,69 4,86 4,15 Preparación y conocimientos del profesor 4,62 4,57 4,85 Valoración general de la asignatura 4,46 4,86 4,74 12 Nos gustaría destacar que todas las notas se encuentran por encima de 4, excepto las clases teóricas del primer curso (que se solucionaron con la incorporación de Tutorial Wiki libSDL). En lo referente a las notas finales de la asignatura en 2008/9, los 27 alumnos matriculados han superado la asignatura en la primera convocatoria (junio de 2009), obteniendo 7 notables, 19 sobresalientes y una matrícula de honor. 4.4 Aportaciones de los alumnos En la asignatura se intenta fomentar que los alumnos aporten valor a su curso y siguientes. Esto encaja perfectamente con la filosofía de relaciones horizontales típica del software libre y permite realizar una aportación a la comunidad (sobre todo en alumnos de último año de carrera, como suelen ser los que cursan la asignatura). A continuación se detallan las iniciativas más interesantes desarrolladas en este aspecto: Tutorial Wiki libSDL y el sistema La Batalla del Guadalete. 4.4.1 Tutorial Wiki libSDL Tutorial Wiki libSDL [García2008] es, como bien indica su nombre, un wiki que es la base de la docencia teórica en la asignatura. Fue realizado por el alumno Antonio García Alba como Proyecto Fin de Carrera, obteniendo la calificación de Matrícula de Honor. Incluye todo lo necesario para que un alumno de segundo o tercer curso de una titulación de Ingeniería Informática pueda aprender a desarrollar videojuegos en dos dimensiones. La decisión de hacer el tutorial en formato wiki es porque permite que cualquier alumno haga fácilmente aportaciones, permitiendo que comente problemas que ha encontrado, que puntualice afirmaciones, etc. Sin embargo, comprendemos que la pantalla de un ordenador no suele ser un medio adecuado para leer, por ello está disponible una versión PDF, ocupando casi 700 páginas. Se ha tenido especial cuidado en hacer el texto didáctico a la vez que riguroso: cada capítulo comienza con una lista de objetivos junto con los conocimientos básicos necesarios para conseguirlos. Después describen las bases teóricas del tema a tratar y se implementan en libSDL. Durante la exposición se incluyen ejemplos y pequeños ejercicios de programación para hacer más ameno el aprendizaje. Por último, cada capítulo termina recopilando lo aprendido. Como colofón del tutorial se incluye un sencillo videojuego de plataformas que permite ver la aplicación de todos los conocimientos adquiridos. El ejemplo incluye todos los elementos de un producto de Ingeniería Informática: especificación de requisitos, análisis, diseño, implementación, etc. Hay que destacar que el texto del wiki, el código del videojuego de ejemplo, de los ejemplos del texto y las soluciones de los ejercicios propuestos está disponible para descarga, incluyendo multitud de comentarios para facilitar su comprensión. En lo referente a la aportación al software libre hay que destacar que se colabora con la comunidad de usuarios hispanos de libSDL. Actualmente en su página principal, la comunidad recomienda a aquellas personas que quieran aprender libSDL que visiten nuestro wiki y en la portada del wiki recomendamos que quien desee recibir ayuda o contactar con otras personas interesadas en el desarrollo con libSDL acudan a la comunidad. 4.4.2 La Batalla de Guadalete Por otro lado está La Batalla de Guadalete [Palomo2007], un sistema creado con fines didácticos. En concreto implementa un juego de tablero en el que se enfrentan dos ejércitos (cada uno controlado por un módulo de inteligencia artificial) realizando movimientos por turnos. 13 En clase se dedica una sesión teórica a explicar cómo desarrollar un módulo de inteligencia artificial para él usando el lenguaje para sistemas expertos CLIPS. Y la sesión práctica de esa semana se dedica a que los alumnos programen un módulo en él, para lo que se les proporciona algunos ejemplos sencillos. La siguiente semana se realiza una competición entre los módulos de todos los alumnos. Como se observa en la encuesta, la iniciativa ha tenido gran éxito todos los años. Fruto de ello tres alumnos han decidido ampliar el sistema gradualmente (de manera similar a como ocurre en el mundo del software libre). En 2008 Roberto García Carvajal realizó una interfaz gráfica para el sistema, en 2009 Jesús Soriano Candón ha realizado una interfaz gráfica que permite crear competiciones tipo liga o eliminatoria y para 2010 Pablo Recio Quijano tiene asignado como Proyecto Fin de Carrera hacer una interfaz que permita a un humano jugar contra una inteligencia artificial que seleccione. 4.4.3 Alumnos colaboradores Por último hay que destacar la labor realizada por los alumnos colaboradores de la asignatura Roberto García Carvajal y Fabián Sellés Rosa, que han atendido las consultas realizadas en los foros de Campus Virtual de la asignatura y han fomentado la participación en él. 5 CONCLUSIONES Como primera conclusión podemos destacar que actualmente existen herramientas libres de calidad que proporcionan una cobertura total para el desarrollo de software a estudiantes de Ingenierías en Informática. Éstas se han usado con éxito en una asignatura multidisciplinar de docencia reglada (la asignatura de Diseño de Videojuegos) y en otra iniciativa (el Concurso Universitario de Software Libre). Entre ellas destacamos la Forja de Conocimiento Libre de la Comunidad RedIRIS, que proporciona un entorno cómodo para que varios alumnos universitarios puedan colaborar de manera distribuida y asíncrona en el desarrollo de un proyecto de envergadura media. Además, facilita enormemente el trabajo de evaluadores para seguir cada proyecto y alumno de manera individual en tiempo real. Por otro lado la comunidad de software libre también ha ganado. Sumando CUSL y DV hay un total de 123 proyectos libres realizados por 196 alumnos, más gran cantidad de documentación técnica (muchos proyectos son Proyectos Fin de Carrera). Habrá proyectos terminados, a medio acabar, con errores, en estado embrionario, etc. Pero al igual que con cualquier otro proyecto libre que no provenga del mundo universitario las personas y empresas interesadas podrán continuar su desarrollo, contactar con el autor para pedir ayuda en su implantación, formación, documentación, etc. No obstante, entendemos que el beneficio principal va más allá de de la liberación de tecnología y documentación. Creemos que el aspecto más interesante es que los alumnos desarrollan un proyecto “in vivo”. Noson prácticas de laboratorio, sino que forman parte de una comunidad que les aporta visibilidad, ideas, críticas, colaboraciones, etc. Al respecto hay que decir que aunque a veces un profesor pueda sugerir en clase las mismas ideas que puede recibir un alumno por otros miembros de la comunidad, este segundo medio suele ser mejor recibido. Del mismo modo la comunidad se asegura una cantidad considerable de futuros profesionales TIC formados en técnicas de trabajo colaborativas con herramientas libres, que pueden ayudar a la comunidad en un futuro próximo desde sus puestos de trabajo. 14 AGRADECIMIENTOS Queremos agradecer el apoyo recibido de la organización del Concurso Universitario de Software así como por los departamentos de Lenguajes y Sistemas Informáticos de las universidades de Cádiz y Sevilla. REFERENCIAS [Ayllón2009] Experiencias en la aplicación de técnicas y herramientas de desarrollo colaborativo de software en una asignatura basada en proyectos. A. Álvarez Ayllón, M. Palomo Duarte, J. R. Rodríguez Galván. Actas del 17 Congreso Universitario de Innovación Educativa en las Enseñanzas Técnicas, 2009 [Cenatic2008] Software de Fuentes Abiertas para el desarrollo de la Administración Pública española: una visión global. Centro Nacional de referencia de las Tecnologías de la Información y las Fuentes Abiertas. [DV2009] Ficha de la asignatura Diseño de Videojuegos. M. Palomo Duarte. http://www.uca.es/wuca_fichasig_asignatura?titul=1711&asign=1711031 [Estero2006] Hacia el modelo EEES en una asignatura masificada. A. Estero Botaro, J. J. Domínguez Jiménez, M. Palomo Duarte. Actas de las Jornadas nacionales de intercambio de experiencias piloto de implantación de metodologías ECTS, 2006 [García2008] Tutorial Wiki libSDL. A. García Alba. http://www.uca.es/softwarelibre/wikiSDL [Ghosh2006] R. A. Ghosh. Study on the: Economic impact of open source software on innovation and competitiveness of the information and communication technologies (ICT) sector in the EU, Report ENTR/04/112 for European Commission, UNUMERIT, 2006. http://www.flossimpact.eu/ [Lessig2005] Por una cultura libre. L. Lessig. Editorial Traficante de sueños, 2005. ISBN: 84 96453022 [Lessig2009] El Código 2.0. L. Lessig. Editorial Traficante de sueños, 2009. ISBN: 9788496453 388 [Palomo2006] Empleo de plataformas de aprendizaje electrónico para el fomento de la participación activa del alumnado. M. Palomo Duarte, I. Medina Bulo y F. Palomo Lozano. Actas de las Primeras Jornadas de Innovación Educativa de la Escuela Politécnica Superior de Zamora, 2006 [Palomo2007] La competitividad como un factor motivante para el aprendizaje de sistemas expertos. M. Palomo Duarte. Actas de las II Jornadas Nacionales de Metodologías ECTS, 2007 [Raymond2001] The Cathedral & the Bazaar. Eric S. Raymond. Editorial O'Reilly Media, ISBN: 1 565927249 [Stallman2004] Software libre para una sociedad libre. Richard M. Stallman. Editorial Traficante de sueños, 2004. ISBN: 8493355518 [StLaurent2004] Understanding Open Source and Free Software Licensing. A. M. St. Laurent. Editorial O’Reilly, 2004. ISBN 0596005814 [UCA2009] Página web principal del Proyecto Europa. Universidad de Cádiz. http://www.uca.es/web/estudios/proyecto_europa 15 View publication stats https://www.researchgate.net/publication/309277418 1 INTRODUCCIÓN 2 SOFTWARE LIBRE Y UNIVERSIDAD 2.1 Aspectos éticos 2.2 Aspectos docentes 3 CONCURSO UNIVERSITARIO DE SOFTWARE LIBRE 3.1 Objetivos 3.2 Desarrollo de la actividad 3.2 Premios locales 3.3 Resultados 3.3.1 Participación 3.3.2 Descarga de proyectos 3.3.3 Evaluación por parte de los participantes 3.3.4 Alumnos colaboradores 4 ASIGNATURA DISEÑO DE VIDEOJUEGOS 4.1 Desarrollo de la asignatura 4.2 Software Libre y Diseño de Videojuegos 4.3 Resultados de la asignatura 4.3.1 Datos técnicos 4.3.1 Datos académicos 4.4 Aportaciones de los alumnos 4.4.1 Tutorial Wiki libSDL 4.4.2 La Batalla de Guadalete 4.4.3 Alumnos colaboradores 5 CONCLUSIONES AGRADECIMIENTOS REFERENCIAS
Compartir