Instrucciones para autores JENUI 2004

Anuncio
101
PLAG: Plataforma RIA para la gestión centralizada
de prácticas de programación
Preciado Rodríguez, J.C.; Linaje Trigueros, M.; Plaza Collado, J.P.; Pérez-Montes Regajo, J.M.
Universidad de Extremadura
jcpreciado@unex.es
Resumen - Este trabajo presenta una plataforma de
gestión de prácticas de programación que permite a
múltiples usuarios acceder mediante tecnología Web a
un espacio virtual en el que puedan realizar tareas de
programación, compilación, gestión de archivos y
gestionar los proyectos activos de forma centralizada.
Esta metodología de trabajo en red permite el máximo
aprovechamiento de los recursos hardware y un
seguimiento preciso del trabajo de todos los usuarios del
sistema, además facilita numerosas vías de comunicación
para poner en marcha estrategias de descubrimiento
dirigido y fomentar la colaboración entre usuarios.
•
Proporcionar a los alumnos un espacio virtual en el que
puedan gestionar y almacenar de manera ordenada y
segura sus prácticas, añadiendo la posibilidad de
realizar la compilación de las prácticas directamente en
PLAG como ventaja añadida.
•
Facilitar a los docentes el seguimiento del trabajo de los
alumnos, permitiendo las labores de supervisión y
evaluación durante cualquier momento del desarrollo y
desde cualquier lugar de forma “online”, disponiendo
así de un sistema de gestión centralizado que permite
realizar estadísticas sobre los datos almacenados.
Palabras clave - Aprendizaje y evaluación del alumnado,
Entornos RIA, Tecnología educativa.
•
Permitir más independencia entre los alumnos y sus
puestos de trabajo, evitando la necesidad de instalar
software específico en la máquina cliente para poder
desarrollar las tareas de gestión y programación
pertinentes al necesitar solamente una conexión a
Internet para acceder al sistema (independiente tanto del
Sistema Operativo como del hardware de acceso).
•
Habilitar un sistema de entrega de prácticas innovador
permitiendo al docente hacer una copia automática de
todas las prácticas y almacenarlas en su propio espacio
virtual.
•
Como ventaja añadida obtenemos una prolongación en
el tiempo de vida útil de los equipos a los que tienen
acceso los alumnos para desarrollar sus practicas,
reduciendo la necesidad de disponer de equipos de
última generación.
INTRODUCCIÓN
Cuando se crea un entorno de programación, el equipo de
desarrollo suele centrar sus esfuerzos en la inclusión del
mayor número de facilidades y herramientas para que los
usuarios finales puedan realizar su trabajo.
En la creación de la Plataforma RIA de Gestión de Prácticas
de Programación (PLAG), se ha tratado además de
conseguir que los usuarios finales no tengan que instalar
ningún software en su equipo de trabajo, ni llevar sus copias
de seguridad de un equipo a otro, evitando de esta manera
problemas frecuentes como la pérdida de trabajo por
deterioro del hardware; copia de trabajos o infección por
virus de diferentes equipos debido al incesante trasiego de
discos flexibles y unidades extraíbles.
Para la implementación del entorno virtual de gestión se ha
optado por una tecnología basada en un sistema clienteservidor. La aplicación se ejecuta en un servidor de forma
centralizada y los usuarios se conectan a través de la red a
dicha aplicación para obtener el servicio.
PLAG está desarrollada conjugando las tecnologías JSP
sobre Tomcat Server, los compiladores gcc [2] y J2SE para
el subsistema servidor y una capa de presentación basada en
RIA[7], que puede ser ejecutada en cualquier navegador
web.
Los objetivos fundamentales que el sistema resultante de
este trabajo debe cumplir son:
Hoy día asistimos a procesos de enseñanza en los que es
factible sustituir el aula física por aulas virtuales auspiciadas
por proyectos basados en tecnologías Web[5].
ORGANIZACIÓN DEL DOCUMENTO
Este trabajo se estructura como sigue: En la siguiente
sección planteamos los antecedentes de este trabajo.
Después indicamos las metodologías y tecnologías
empleadas en el análisis, diseño y desarrollo. Las últimas
secciones tratan el sistema integrado de gestión de prácticas
y nuestras experiencias y los resultados obtenidos.
Finalmente indicamos nuestras conclusiones y el trabajo
futuro en este campo.
VII Simpósio Internacional de Informática Educativa – SIIE05
Leiria, Portugal, 16-18 Novembro de 2005
102
ANTECEDENTES
Antes de plantearnos el desarrollo del sistema analizamos
otras propuestas previas, algunas trataban los aspectos de
gestión y centralización de prácticas de forma remota, otras
se centraban en las tareas de compilación remota y otras en
aspectos de e-learning, cada uno de ellos con alguno de los
planteamientos que necesitábamos para PLAG.
En la empresa suiza Innovation[11] encontramos un Entorno
Web de Compilación Remota sobre Java y desde su página
Web se pueden realizar compilaciones de ficheros escritos
en JAVA. Para realizar dicha compilación el usuario
necesita tener en su disco duro uno o varios ficheros escritos
en JAVA e introducir la dirección de la página Web donde
se encuentra el Servicio de Compilación desde su
navegador. Es un sistema potente de compilación remota
pero no soporta aspectos de gestión o historial de desarrollo.
En la Universidad Autónoma de Madrid encontramos
Laboweb[12], otro entorno de compilación remota basado
en Web, LabomatWeb. Esta vez se trata de la compilación
de ficheros VHDL, aunque el funcionamiento general de
este entorno es parecido al anterior.
ELP[4] (A Web Based Environment for learning to
Program) permite a los estudiantes programar desde el
comienzo del curso sin la necesidad de familiarizarse con
una herramienta de compilación. Lo más importante es que
elimina todas las dificultades que tiene la instalación y
puesta en marcha de un compilador Java pero no contempla
las ventajas de gestión centralizada de alumnos y prácticas.
Al igual que ELP, PLAG también elimina todas estas
dificultades de instalación y puesta en marcha de los
compiladores, que en el caso de PLAG son actualmente Java
y C++.
Los sistemas descritos realizan una compilación remota de
archivos que se envían generando un resultado ejecutable, y
por tanto nos sirven como punto de partida para el estudio
de las soluciones de nuestro subsistema de compilación
remoto, aunque la propuesta es integrar a modo de
componentes un motor de gestión y un motor de
compilación para cada lenguaje.
METODOLOGÍAS Y HERRAMIENTAS
Llegado el momento de decidir la metodología de desarrollo
y el servidor que da soporte a PLAG valoramos diferentes
posibilidades [4][5][6][8][9][10] y nos decantamos por la
oferta de servicios de WebML y Tomcat. En cuanto al
lenguaje de páginas de servidor nos decidimos por JSP, que
es soportado por WebRatio, herramienta que implementa el
modelo de WebML , que es fácil de utilizar, eficiente y se
integra muy bien con la capacidad de las bases de datos SQL
Server.
En cuanto a los motores de compilación, y para las primeras
fases de desarrollo del sistema, hemos utilizado el
compilador “gcc”, que viene portado de Linux y es invocado
por “make” y que se puede utilizar en línea de comandos
para compilar.
La integración del sistema se ha realizado mediante
desarrollo de componentes, por lo que en cualquier
momento se puede elegir el compilador que deseamos
utilizar por medio de la interfaz del componente que actúa
sobre los motores de compilación, y extender el modelo del
sistema añadiendo nuevos componentes o redefiniendo los
existentes.
Garantizar la utilidad es una de las cuestiones principales en
el desarrollo de sistemas de este tipo. Algunas de las
características que debería tener un producto formativo, para
obtener resultados satisfactorios, deberían ser[6]:
•
•
•
•
•
Tener objetivos específicos.
Ser interactivo.
Motivar y comunicar una sensación de cambio.
Proporcionar herramientas adecuadas.
Evitar factores de distracción.
Para alcanzar estos parámetros de usabilidad en el lado del
cliente hemos empleado Flash[3] y Action Script[3]
basándonos en la filosofía RIA[7]. El resultado final es una
aplicación que proporciona una experiencia de usuario más
intuitiva y efectiva, proporcionando una interfaz interactiva
para validar y formatear, tiempos de respuesta rápidos y sin
refresco de páginas, soporte para los comportamientos de las
interfaces más comunes como ”arrastrar y soltar” y la
capacidad de trabajar “online”.
Una de las características principales de RIA es que, a
diferencia de las aplicaciones Web tradicionales, se otorga
más capacidad de proceso al lado del cliente, eliminado del
servidor las tareas de generación de las capas de
presentación e interacción, minimizando así la transferencia
de datos entre cliente y servidor, al enviar una sola vez la
interfaz de usuario.
Teniendo en cuenta la cantidad de datos que va a soportar la
aplicación Web hemos optado por WebML[1] para el
desarrollo del modelo de datos y la estructura del sistema.
Todos los conceptos del WebML están asociados con una
notación gráfica y una sintaxis textual en XML. Las
especificaciones de WebML son independientes tanto del
lenguaje del lado cliente, para el envío de la aplicación a los
usuarios, como de la plataforma del lado servidor, utilizada
para asociar la información a las páginas; aunque pueden ser
empleados eficientemente para llevar a cabo la
implementación de un sitio Web en un escenario
tecnológico específico.
PLATAFORMA DE GESTIÓN INTEGRADA
El sistema pretende crear un vínculo de unión entre
alumnos, prácticas y docentes. La idea de unir estas
entidades ofreciendo un entorno personalizado de
centralización y gestión de prácticas.
VII Simpósio Internacional de Informática Educativa – SIIE05
Leiria, Portugal, 16-18 Novembro de 2005
103
La aplicación se divide en varios módulos, cada uno de ellos
con un fin específico y una interfaz que establece la
comunicación con las capas adyacentes. En la figura 1 se
observa gráficamente como se disponen los diferentes
elementos funcionales del sistema y como se realiza la
comunicación entre los mismos.
Una vez que se ha accedido al sistema, el alumno dispone de
una sección de bienvenida en la que puede revisar todos los
mensajes que los profesores de las asignaturas en las que
está dado de alta, leer notas y enunciados de prácticas o leer
comentarios individualizados sobre su evolución si han sido
enviados previamente por los docentes.
El alumnado dispone de una sección de creación de carpetas
de prácticas, almacenándose en cada una de ellas los
archivos que conformen la propia práctica.
Por cada carpeta/práctica un alumno dispone del listado de
sus ficheros, el historial de desarrollo, que el alumno a modo
de seguimiento de proyecto va creando, y dos líneas de
tiempo que el propio alumno controla.
FIGURA 1
ESQUEMA DE CONEXIÓN MODULAR
Los usuarios del sistema, alumnos y profesoresadministradores, acceden mediante navegadores Web, cada
uno de ellos dependiendo del nivel de acceso del que
disponga a una u otra sección del sistema. PLAG ofrece
funcionalidades de personalización del entorno en base a las
asignaturas asociadas a cada usuario.
Cuando este tipo de usuario crea una nueva carpeta de
prácticas establece qué motor de compilación, asignatura y
profesor asocia a dicha práctica de entre los recursos,
asignaturas y profesores que existen en el sistema. En esta
carpeta dispone de las herramientas de creación, edición y
compilación de archivos, así como de un historial de
seguimiento de proyecto, que cuando se crea dicha carpeta
comienza a funcionar y que el propio alumno utiliza para
comentar su evolución, problemas, planteamientos y
soluciones respecto a esa práctica.
En la figura 3 se ve la pantalla correspondiente a la
herramienta de gestión de prácticas de la zona de alumnos.
El alumno y el profesor acceden al sistema como usuarios
registrados mediante nombres y claves de usuario,
encriptadas previamente en el proceso de alta y almacenadas
en las bases de datos ya cifradas. De esta manera se
consigue aumentar la seguridad del sistema, dificultando
significativamente el robo de contraseñas de usuarios
registrados.
La figura 2 muestra la pantalla de acceso al entorno de
compilación remota, en la que los diferentes usuarios se
identifican de manera unívoca en el sistema.
FIGURA 3
ZONA DE ALUMNOS. GESTIÓN DE PRÁCTICAS
Cada carpeta de prácticas se crea con dos líneas temporales,
una de seguimiento y otra de entrega. La línea de
seguimiento establece una línea porcentual de trabajo
terminado, desde el momento de comienzo de la práctica
hasta el momento de la entrega de la misma. El propio
alumno la pone en marcha cuando inicia la práctica y la
incrementa a medida que avanza en dicha práctica, es una
medida subjetiva de autocontrol del trabajo terminado.
FIGURA 2
ZONA DE ACCESO A PLAG
La línea de entrega la incrementa automáticamente el
sistema teniendo en cuenta la fecha de inicio del trabajo y la
fecha de entrega definitiva de la práctica. La aplicación
VII Simpósio Internacional de Informática Educativa – SIIE05
Leiria, Portugal, 16-18 Novembro de 2005
104
automáticamente informa al usuario de los días transcurridos
y del tiempo que falta para la entrega de la práctica.
La figura 4 corresponde a la pantalla de control de alumnos
de la zona privada del profesor.
práctica, para evitar la actual acumulación de prácticas en
los despachos de los profesores, así como para ofrecer las
correcciones y anotaciones o recomendaciones sobre la
práctica y documentación directamente al alumno desde el
propio sistema.
Actualmente disponemos de una versión temprana del
entorno, en el que se han tratado de cumplir una serie de
objetivos básicos que cubran aspectos básicos para poder
comprobar el grado de aceptación de la metodología de
trabajo que se propone con el uso de esta plataforma.
EXPERIENCIA Y RESULTADOS
Los primeros resultados se han obtenido a partir de la
evaluación y puesta en marcha de los prototipos con un
grupo de 10 alumnos voluntarios de la titulación de
Ingeniería Informática en la Escuela Politécnica,
Universidad de Extremadura, en la que se han realizado
ejercicios de programación y de gestión de prácticas.
FIGURA 4
ZONA DE PROFESOR. CONTROL DE ALUMNOS
En las primeras versiones del sistema hemos utilizado
ficheros que el alumno editaba de forma local y que el motor
de compilación del sistema compilaba subiendo dichos
archivos al servidor, actualmente estamos trabajando con
ficheros de prácticas virtuales, ya que su contenido está
almacenado en bases de datos, esta solución proporciona
varias ventajas como centralización y facilidad de gestión,
copias de seguridad unificadas, posibilidad de cifrado del
contenido de los ficheros, etc.
Para la compilación de los ficheros de código fuente en el
servidor, se ha probado el componente DynuCOM[13], que
permite la ejecución de comandos del sistema operativo,
sobre el que corre el servidor Web. El proceso de
compilación en el servidor consiste en la recepción del
fichero, y la ejecución del compilador indicando como
argumentos el fichero virtual a compilar, las opciones de
compilación y el nombre del fichero ejecutable deseado.
Una vez completa la compilación, se devuelve al usuario el
fichero ejecutable. En el caso en que no se haya podido
completar la compilación porque el fichero de código fuente
contenga errores, el motor de compilación genera una serie
de mensajes de error, los cuales se capturan y notifican
automáticamente al usuario para que pueda corregirlos.
Por otro lado, el historial de desarrollo de cada práctica, se
alimenta continuamente de manera incremental, permitiendo
a los alumnos ir desarrollando la documentación de sus
trabajos elaborando un “diario de prácticas” en el que anotar
la información más relevante sobre el trabajo que están
completando en cada momento o completar las anotaciones
hechas anteriormente.
Junto a estas características hemos incluido un medio de
envío, gestión y revisión de la documentación de cada
Establecimos los principales elementos de sondeo que
queríamos usar con los alumnos del grupo piloto y les
pedimos que valorasen de 0 a 9 la utilidad de cada uno de
ellos. Sus respuestas las resumimos en la tabla I. En las
columnas incluimos las respuestas de los 10 alumnos, así el
alumno 1 se indica como A1, el alumno 2 como A2 y así
sucesivamente. En las filas indicamos los elementos
sondeados.
TABLA I
VALORACIÓN DE LOS ALUMNOS SOBRE LA UTILIDAD DE LOS ELEMENTOS
PRINCIPALES DEL SISTEMA
A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
Líneas de tiempo
9
9
6
8
9
9
7
7
8
9
Interfaz RIA
8
9
8
7
8
7
8
6
5
8
Motores compilación
6
5
3
4
5
6
6
5
3
4
Gestión remota
7
8
5
7
7
6
7
6
5
6
Utilidad del sistema
6
7
5
8
7
8
8
7
6
7
Historial de desarrollo
7
7
6
8
8
9
8
7
6
7
Usable e intuitivo
8
8
7
8
7
7
8
7
6
8
¿Te parece seguro?
6
8
3
6
6
5
5
5
3
4
De la lluvia de ideas que estos primeros alumnos piloto
aportaron, se deduce que agradecen la centralización de las
prácticas en un solo sistema y la posibilidad de acceder al
mismo “online”, con las ventajas que esto conlleva.
Otro aspecto que han agradecido mucho los alumnos ha sido
el planteamiento de carpetas para la organización de las
prácticas junto con las líneas de tiempo. Por el contrario
algunos señalan un cierto recelo por no controlar
directamente los medios físicos donde se almacena su
trabajo y manifiestan un cierto temor a que otros se apropien
de su trabajo o se vean desamparados ante una caída del
sistema, pero comprenden que aplicando correctas políticas
VII Simpósio Internacional de Informática Educativa – SIIE05
Leiria, Portugal, 16-18 Novembro de 2005
105
de seguridad y mantenimiento estos problemas pueden
resolverse.
para que el profesor pueda ir revisando el trabajo durante la
fase de desarrollo.
Desde el punto de vista docente el sistema supone una
ventaja en la gestión de alumnos y prácticas, una
herramienta muy potente para realizar un seguimiento del
trabajo de los alumnos, permitiendo de esta manera analizar
si el ritmo de trabajo es el deseado. Es una oportunidad para
detectar de una manera más directa errores y dudas comunes
entre los alumnos en las primeras fases de la elaboración de
un trabajo.
Estimamos que sería oportuno incluir un sistema de foros en
el que los alumnos encuentren un espacio para poder realizar
comentarios sobre los temas que los docentes consideren
convenientes, fomentando de esta manera estrategias y
herramientas de aprendizaje colaborativo[14] y generando
material que sirva de ayuda a cualquier alumno que pueda
acceder a dichos foros.
CONCLUSIONES
Del estudio previo al desarrollo de este sistema y las ideas
aportadas durante la experiencia realizada, se destaca el
reconocimiento de la idoneidad de un sistema de gestión de
documentos basado en tecnología Web, para gestionar el
historial de desarrollo de proyectos de programación, el
seguimiento y la entrega de las prácticas que elaboran los
alumnos. Se destaca el beneficio que aporta la centralización
de toda la información relevante y la facilidad para clasificar
los trabajos usando diferentes criterios.
El nivel de aceptación del sistema por parte de los alumnos
del proyecto piloto es muy satisfactorio, valoran la ventaja
que aporta no tener que depender de los compiladores de los
laboratorios de prácticas, y la comodidad de disponer de un
sistema de gestión documental y versionado de ficheros con
el que organizar de manera eficaz y automática su trabajo.
La aceptación por parte de los docentes también es
satisfactoria, sobre todo por la posibilidad de poder realizar
un seguimiento del trabajo de los alumnos y una gestión
centralizada de prácticas mucho más cómoda que la usada
en la actualidad.
TRABAJO FUTURO
Tenemos previsto incorporar nuevas capacidades de
compilación y de gestión, además de nuevas secciones de
recursos para el alumno y control de copia de prácticas
mediante similitudes basadas en texto simple. En cualquier
caso nuestra propuesta pretende evaluar el sistema a fondo
mediante la puesta en práctica de PLAG con grupos de
alumnos diversos y en base a la recogida de nuevas
sensaciones y experiencias, enfocar de nuevo el desarrollo
del sistema en uno u otro sentido.
Estamos trabajando para que el sistema permita además de
un control de versiones, ver de una forma sencilla la
evolución temporal del trabajo realizado, controlar los
cambios que ha sufrido la práctica en un determinado
momento e ir generando una serie de ficheros entregables
Otro de los aspectos importantes que queremos reforzar es la
generación del historial de desarrollo de cada práctica en
formato PDF, que actualmente es completado mediante
hitos por el alumno.
También está previsto incluir un control de asistencia a clase
y la realización de pruebas de uso directamente en los
laboratorios de prácticas, además de incluir en la zona de
docente-administrador opciones de filtrado de información
para generar informes y gráficos de asistencia, así como de
evolución del alumnado.
REFERENCIAS
[1] Ceri, Fraternali & Bongio, A. Web Modeling Language (WebML): a
Modeling Language for Designing Web Sites. ACM WWW9
Conference, Amsterdam, May 2000
[2] The GCC home page http://gcc.gnu.org
[3] http://www.macromedia.com
[4] Nghi Truong, Peter Bancroft, Paul Roe. A Web Based Environment for
Learning to Program. ACM. February 2003
Proceedings of the
twenty-sixth Australasian computer science conference on Conference
in research and practice in information technology - Volume 16
[5] By Dongsong Zhang, J. Leon Zhao, Lina Zhou, & Jay F. Nunamaker,
Jr. CAN E-LEARNING REPLACE CLASSROOM LEARNING?. May
2004 Communications of the ACM, Volume 47 Issue 5.
[6] Michael Derntl Renate Motschnig-Pitrik. Patterns for Blended, PersonCentered Learning:Strategy, Concepts, Experiences, and Evaluation.
March 2004. Proceedings of the 2004 ACM symposium on Applied
computing.
[7] Duhl, Joshua. IDC white papers: RIA. November 2003.
http://www.idc.com
[8] M.A. Vega, J.M. Sánchez, M. Rubio, F. Chavez, J.A. Gómez.
Utilización de Internet para la enseñanza de sistemas. VIII Jornadas de
Enseñanza Universitaria de la Informática 2002.
[9] A. Cañas, A. Díaz, A. Prieto. Sistema de servicios web de apoyo a la
docencia y gestión de una asignatura. VIII Jornadas de Enseñanza
Universitaria de la Informática 2002.
[10] J.C. Preciado, J.A. Zarandieta. Aplicación didáctica para la gestión de
sistemas telemáticos mediante XML, PHP y Action Script. Simposio
Internacional en Informática Educativa 2004.
[11] http://innovation.ch/java
[12] http://ii.uam.es/~laboweb
[13] http://www.cravis.com
[14] J.C. Preciado, V. Masero, D. Castañera, C. Gil. Mapas conceptuales
para enseñar cooperativamente vía web. First Internacional
Conference on Concept Mapping 2004.
VII Simpósio Internacional de Informática Educativa – SIIE05
Leiria, Portugal, 16-18 Novembro de 2005
Descargar