UNIVERSIDAD DE JAÉN Vicerrectorado de Docencia y Profesorado Secretariado de Innovación Docente y Formación del Profesorado MEMORIA FINAL DE PROYECTOS DE INNOVACIÓN DOCENTE CONVOCATORIA CURSO 2011/2013 DATOS DEL/DE LA SOLICITANTE Nombre Luis Miguel Apellidos Nieto Nieto D.N.I. 25994988C Centro EPS de Jaén Departamento Categoría E-mail [email protected] Teléfono 82811 Ingeniería Electrónica y Automática Prof. Colaborador DATOS DEL PROYECTO Título Sistema virtual para realización de prácticas de programación en lenguaje ensamblador Línea de actuación Proyectos para asignaturas Departamento/s implicados Ingeniería Electrónica y Automática Asignatura/s implicada/s Diseño de Computadores, Informática Industrial, Fundamentos de Arquitectura de Ordenadores (Grado de Ing. Inf.) Titulación/Grado implicado/s Diplomatura en Estadística e Ing. Técnica en Informática Informática Curso/s implicado/s 1º y 4º curso Nº de alumnos afectados 60 de Gestión, Grado de Ing. UNIVERSIDAD DE JAÉN Vicerrectorado de Docencia y Profesorado Secretariado de Innovación Docente y Formación del Profesorado MEMORIA DEL PROYECTO Justificación La Arquitectura y la Organización del computador son materias que se imparten en los estudios de Informática de esta universidad, tanto en los plantes antiguos como en los nuevos estudios de Grado. Este proyecto en particular cubre un aspecto de la enseñanza de estas materias utilizando un procedimiento común a muchos de los planes de estudio de diversas universidades, que consiste en abordar el estudio del hardware del microprocesador mediante la comprensión de los resultados de su actividad a nivel de registros. Con este enfoque se plantea comprender cómo se procesa la información a nivel de lenguaje máquina, relacionando hardware y software. La aplicación debía ilustrar esta relación para facilitar al alumno su comprensión y por lo tanto su aprendizaje. Por ello se planteó desarrollar una herramienta con entorno gráfico, interactiva, de bajo coste y abordable dentro del marco de un Proyecto de Innovación Docente. Además se planteó la participación activa del alumnado, principalmente en la etapa de especificaciones del entorno, para adecuarlo lo más posible a las preferencias del principal usuario final, que no es otro que los propios alumnos. Esto motivó plantear la aplicación como un simulador de un microprocesador tratado en las clases de teoría, virtualizando su funcionamiento a nivel de transferencias de registros, limitándolos a los que un programador puede incorporar en su programa en ensamblador. Además la aplicación debía funcionar como una página web, con entorno gráfico que presentara la actividad de los registros al ejecutar las instrucciones máquina de un programa precargado. Como resultado se ha desarrollado una versión operativa de sistema virtual y de bajo coste, que permite realizar prácticas de ejercicios en lenguaje ensamblador sobre un procesador base con arquitectura correspondiente al microprocesador Intel 8085, el más documentado de los que actualmente UNIVERSIDAD DE JAÉN Vicerrectorado de Docencia y Profesorado Secretariado de Innovación Docente y Formación del Profesorado estudian los alumnos de Diseño de Computadores y materias afines. La aplicación funciona en un visor web, lo que facilita su difusión y favorece el aprendizaje autónomo. La principal motivación consistió en facilitar a los alumnos de las asignaturas implicadas (en particular la de Diseño de Computadores) un sistema abierto que le permitiera poner en práctica conceptos relacionados con el funcionamiento del microprocesador a través de ejercicios de programación en ensamblador. Hasta el momento no se disponía de un sistema abierto, flexible y de bajo coste que ofreciera esa posibilidad, por lo que se consideró interesante la puesta en marcha del presente proyecto. A esto se unió el interés de un grupo de alumnos de la citada asignatura, que ayudaron a definir las especificaciones de la primera versión. UNIVERSIDAD DE JAÉN Vicerrectorado de Docencia y Profesorado Secretariado de Innovación Docente y Formación del Profesorado Objetivos conseguidos - Se ha completado una versión operativa del software de la aplicación desarrollada en JavaScript, que permite realizar prácticas de programación en lenguaje ensamblador para el microprocesador 8085, así como el seguimiento de la actividad de sus registros durante la ejecución del programa-ejercicio. - Apertura del proyecto a la participación del alumnado, contando con dos equipos de trabajo de estudiantes de Diseño de Computadores, cuatro durante el primer año del desarrollo del proyecto y tres en el segundo. El coordinador ha intervenido especialmente en la temporización del desarrollo de su trabajo para que este sirviera de refuerzo a los conocimientos que se iban presentando en las clases teóricas de la asignatura. - Participación activa por parte de los alumnos implicados, en particular en lo relativo a la aportación de comentarios e ideas, resultando especialmente valiosas para configurar diversos detalles (usabilidad, estructura del código y accesibilidad) de una aplicación que utilizarán los propios alumnos. - Puesta del sistema a disposición de un grupo de alumnos para una evaluación preliminar. - Presentación del trabajo en un congreso de educación dentro del ámbito universitario. - Se ha dispuesto un procedimiento para añadir instrucciones al lenguaje, con funcionalidades limitadas y especificadas a nivel de transferencia de registros. - Se ha preparado un manual de uso en formato electrónico en una página web dedicada. - Se han desarrollado varios trabajos de clase, en el ámbito de la asignatura Diseño de Computadores, relacionados con el proyecto y que fueron presentados al resto de los alumnos. - Se han recogido diferentes ideas y sugerencias procedentes de todos los alumnos para la mejora de la aplicación. UNIVERSIDAD DE JAÉN Vicerrectorado de Docencia y Profesorado Secretariado de Innovación Docente y Formación del Profesorado Contenidos desarrollados Descripción de la aplicación: - Objeto: simulación de sistema computador basado en un microprocesador Intel 8085 a nivel de transferencia de registros, con ejecución de instrucciones máquina propias en modo continuo y paso a paso, visualizar la actividad de los registros y la memoria, y capacidad para alterarlos en tiempo de ejecución. Además se ha incorporado un procedimiento para añadir instrucciones máquina personalizadas. - Formato: página web desarrollada en HTML, CSS y JavaScript. - Interfaz: o Accesos a manuales de usuario y a interfaz gráfica para visualizar o Presentación del contenido de memoria en formato de tabla, con traducción a nemónicos del lenguaje ensamblador, y del espacio de periféricos. o Presentación de un esquema interactivo de los registros del procesador, flags, sección de la pila, contador de programa y puntero de pila. o Sección para interrupciones, para solicitud y activación/desactivación de las distintas fuentes de interrupción. o Recursos para editar y cargar un programa desarrollado en ensamblador. o Capacidad para ejecución continua o paso a paso (instrucción a instrucción), con posibilidad de alterar el contenido de los registros durante la ejecución paso a paso. UNIVERSIDAD DE JAÉN Vicerrectorado de Docencia y Profesorado Secretariado de Innovación Docente y Formación del Profesorado Descripción global de la experiencia El aspecto más destacable es la participación del alumnado de la asignatura de Diseño de Computadores durante la etapa de desarrollo, que ha obligado a una estricta coordinación del aprendizaje de conceptos que se impartían en la asignatura y que tuvieron que aplicarse en el desarrollo de la aplicación. Como consecuencia el proyecto les sirvió para reforzar el aprendizaje de la materia y aplicar conocimientos transversales de otras materias de la titulación, lo que redundó en su motivación. Además se han ofrecido diversos trabajos de clase en la asignatura de Diseño de Computadores de duración media (de 3 a 6 semanas), relacionados con el desarrollo de la aplicación, que fueron presentados en clase por los propios alumnos, y contribuyó a motivar a otros compañeros en el aprendizaje de la materia y a la realización de otros trabajos. Se ha presentado la experiencia en el XX1 Congreso Universitario de Innovación Educativa en las Enseñanzas Técnicas (CUIEET), celebrado en Valencia del 10 al 12 de julio 2013, como un trabajo titulado “Desarrollo de un simulador para prácticas de programación en ensamblador”. Se tiene previsto presentar el trabajo en el próximo Congreso de Innovación que organice la Universidad de Jaén. UNIVERSIDAD DE JAÉN Vicerrectorado de Docencia y Profesorado Secretariado de Innovación Docente y Formación del Profesorado Metodología empleada (sesiones de trabajo, actividades, recursos didácticos, cronograma, etc) - Convocatoria de reuniones de trabajo periódicas para planificación y seguimiento de la ejecución de las tareas. - Revisión inicial de herramientas didácticas de temática similar. - Selección de bibliografía docente y técnica relacionada con la asignatura. - Elaboración de las especificaciones del sistema. - Apertura del proyecto a la participación del alumnado en la modalidad de Proyectos Fin de Carrera y de trabajos de clase para colaboración en la realización de parte del material. - Desarrollo de la aplicación empleando los recursos de diseño y fabricación disponibles. - Test del sistema mediante simulación de redes virtuales de ordenadores con servidor para la aplicación y clientes de varios sistemas operativos, empleando un PC multiprocesador con SO Windows 7 y software de virtualización VirtualBox. Este se empleó para montar una máquina virtual como servidor con SO Windows 7, más 4 máquinas virtuales actuando como clientes, con asignación de 1 procesador por máquina + 512MB de RAM y sistemas operativos Windows 7, Windows XP y Ubuntu. Todo el conjunto se virtualizó con acceso a Internet, por lo que el servidor también estaba disponible para máquinas físicas conectadas en red WAN. - Recogida en clase de opiniones y sugerencias de los alumnos sobre el diseño y el uso de la aplicación en función de las asignaturas que puedan utilizarla. - Estudio de resultados y elaboración de conclusiones orientadas al desarrollo de una futura versión, en particular relacionados a su aprovechamiento en las distintas asignaturas implicadas en el proyecto. UNIVERSIDAD DE JAÉN Vicerrectorado de Docencia y Profesorado Secretariado de Innovación Docente y Formación del Profesorado Resultados obtenidos (los materiales o documentos que se hayan producido en la experiencia deben presentarse en forma de anexo) - Aplicación web desarrollada en JavaScript con correcta funcionalidad en distintas plataformas, con capacidad para cargar un programa escrito en ensamblador y visualizar la actividad en los registros de un microprocesador Intel 8085. - Permite la ejecución paso a paso, e intervenir alterando los registros del procesador y los contenidos de la memoria. - Se ha establecido un procedimiento para añadir nuevas instrucciones al repertorio del lenguaje. - Manuales de usuario integrados en la web. - Participación de alumnos en foros de preguntas y opinión del uso de la aplicación. - Difusión de resultados en congresos de docencia de la Ingeniería. - Aplicación y manuales accesible en http://www4.ujaen.es/~lmnieto2/DC/Sim8085/index.php Proyección e Impacto (transferencia de los resultados y mejoras en el aprendizaje demostrables) - Se ha presentado la experiencia en el XX1 Congreso Universitario de Innovación Educativa en las Enseñanzas Técnicas (CUIEET), celebrado en Valencia del 10 al 12 de julio 2013, como un trabajo titulado “Desarrollo de un simulador para prácticas de programación en ensamblador”. - Se ha puesto a disposición para uso de toda la comunidad universitaria en la web, en la dirección http://www4.ujaen.es/~lmnieto2/DC/Sim8085/index.php. UNIVERSIDAD DE JAÉN Vicerrectorado de Docencia y Profesorado Secretariado de Innovación Docente y Formación del Profesorado Evaluación del proceso y Autoevaluación (instrumentos y recursos empleados) Recursos: Para la planificación y seguimiento del proyecto se han utilizado las siguientes herramientas libres, que también se han aprovechado para evaluar el desarrollo y el cumplimiento de las especificaciones: - Software para elaborar mapas mentales FreeMind, utilizado en sesiones de trabajo conjuntas. - Calendario on-line Google Calendar para difusión de hitos previstos y cumplidos, gestionado por los coordinadores del Proyecto. - Google Tasks para publicar listas de tareas. Debe indicarse que, aunque se planteó inicialmente la aplicación de conceptos de planificación UML, se optó por utilizar herramientas más simples y generales con el fin de elaborar mapas mentales, en lugar de aplicaciones para elaborar diagramas UML. Para la edición del código fuente de la aplicación se emplearon las siguientes herramienta libres: - Editores de texto plano Notepad++ (código HTML y JavaScrit) - Editor HTML Kompozer. Para la evaluación el recurso principal han sido las reuniones de trabajo periódicas con los alumnos directamente implicados en el desarrollo de la aplicación. Además, tras presentar el trabajo a los demás alumnos, se constituyó un foro de opinión y ayuda para usuarios de la aplicación, abierto hasta el curso académico actual empleando los recursos propios de la Universidad de Jaén. En este foro se abrieron las siguientes temáticas para realizar comentarios y sugerencias: - Facilidad de uso de la aplicación. Sugerencias de mejora de la interfaz. - Utilidad de la aplicación en el aprendizaje de conceptos de la asignatura. UNIVERSIDAD DE JAÉN Vicerrectorado de Docencia y Profesorado Secretariado de Innovación Docente y Formación del Profesorado - Sugerencias para añadir o cambiar funcionalidades. Evaluación de los alumnos: En general ha sido muy positiva la valoración de los usuarios, y en particular la de los participantes activos que colaboraron en la planificación y elaboración del código fuente. Sus propias conclusiones son las de haber conseguido aprender con profundidad el funcionamiento de un sistema computador al necesitar comprender e implementar las operaciones que realiza al ejecutar cada instrucción máquina, y los recursos auxiliares que precisa para esa ejecución. Además para la mayoría de los colaboradores ha sido la primera vez que trabajaban en equipo tan numeroso y en un desarrollo de tan larga duración, con los consiguientes compromisos que debían asumirse, y la novedad en el manejo de herramientas de planificación y gestión. La motivación del resto de los alumnos se ha manifestado con las numerosas solicitudes de participación en este trabajo o en otros de más corta duración, así como en la participación en los foros relacionados. Autoevaluación: La elaboración de una aplicación de bajo coste para ayuda al aprendizaje que permita aplicar las TIC ha contado con el valor añadido de la participación activa de un grupo de alumnos colaboradores. Como consecuencia, algunas especificaciones que han sido alteradas o añadidas no habrían sido posibles sin la participación de los propios alumnos durante el proceso de planificación y desarrollo alumnos. En este sentido consideramos un acierto la implicación desde etapas de planificación, y no únicamente en la fase de desarrollo o test. De este modo se consiguió desarrollar una versión preliminar en pocos meses, a falta de un test posterior en red. La utilización de herramientas propias de la universidad y otras UNIVERSIDAD DE JAÉN Vicerrectorado de Docencia y Profesorado Secretariado de Innovación Docente y Formación del Profesorado aplicaciones freeware, ha posibilitado la ejecución del proyecto dentro de presupuesto. Sin embargo el tiempo de dedicación de los alumnos se ha limitado en la práctica a un cuatrimestre por curso académico. Además, el tiempo de vida de cada grupo ha sido también de un cuatrimestre, lo que obligó a constituir y a formar un nuevo grupo de trabajo en el cuatrimestre del segundo curso académico de duración del Proyecto. UNIVERSIDAD DE JAÉN Vicerrectorado de Docencia y Profesorado Secretariado de Innovación Docente y Formación del Profesorado Otras consideraciones Gastos generados en el segundo año Fungibles - 198,16€ Inventariables - 894,99€: compra de material informático Viajes/Actividades - 400,00€: inscripción en el 21 Congreso Universitario de Innovación Educativa en las Enseñanzas Técnicas (XX1 CUIEET). Universidad de Valencia. 10 al 12 de julio de 2013. Otros Justificación - Material informático: se empleó el software de virtualización VirtualBox para montar una red de ordenadores (servidor de la aplicación y clientes) con diferentes sistemas operativos (Windows, Linux). La virtualización de este sistema en un único equipo agilizó el desarrollo y test de la aplicación, aunque exige un soporte hardware suficientemente potente. - Inscripción al congreso nacional: difusión del Proyecto a la comunidad universitaria. UNIVERSIDAD DE JAÉN Vicerrectorado de Docencia y Profesorado Secretariado de Innovación Docente y Formación del Profesorado DATOS DE LOS MIEMBROS DEL GRUPO Nombre Luis Miguel Apellidos Nieto Nieto D.N.I. 25994988C Centro EPS de Jaén Departamento E-mail [email protected] Teléfono 82811 Ingeniería Electrónica y Automática Asignatura impartida Diseño de Computadores (Diplom. Est. e ITIG) Curso 4º Categoría Prof. Colaborador Firma DATOS DE LOS MIEMBROS DEL GRUPO Nombre Rafael Apellidos Gutiérrez Moya D.N.I. 20416415 M Centro EPS de Jaén Departamento Categoría E-mail [email protected] Teléfono 82807 Ingeniería Electrónica y Automática Prof. Titular de Escuela Firma DATOS DE LOS MIEMBROS DEL GRUPO Nombre Ángel G. Apellidos González Rodríguez D.N.I. 26014077 L Centro EPS de Jaén Departamento Categoría E-mail [email protected] Teléfono 82457 Ingeniería Electrónica y Automática Prof. Contratado Doctor Firma VºBº de Coordinador/a Fdo.: Luis Miguel Nieto Nieto Jaén, a 17 de julio de 2013 VICERRECTOR DE DOCENCIA Y PROFESORADO DE LA UNIVERSIDAD DE JAÉN