12.07.2015 Views

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Como se ha mencionado, el sistema <strong>de</strong>sarrol<strong>la</strong>do<strong>de</strong>be ceñirse a su incorporación en un sistemaexistente. En <strong>la</strong> actualidad, se utiliza el sistemaWebCT, pero es necesario tener en cuenta <strong>la</strong>posible utilización <strong>de</strong> otros estándares <strong>de</strong>enseñanza a distancia. Existen numerosaspropuestas <strong>de</strong> estandarización <strong>de</strong> material <strong>de</strong>enseñanza a distancia [1, 13, 14] que <strong>de</strong>bentenerse en cuenta en <strong>la</strong> e<strong>la</strong>boración <strong>de</strong> materialdocente.4.10. Evaluación automática <strong>de</strong>l trabajo <strong>de</strong><strong>la</strong>lumno.Sin duda alguna, <strong>la</strong> evaluación representa unpunto c<strong>la</strong>ve <strong>de</strong>l proceso <strong>de</strong> enseñanza-aprendizaje;para los maestros, este proceso <strong>de</strong> calificar untrabajo o bien un examen, en don<strong>de</strong> no existe unarespuesta concreta es una tarea ardua cuyacomplejidad aumenta en re<strong>la</strong>ción con el número<strong>de</strong> alumnos a los que se <strong>de</strong>sea evaluar.De forma particu<strong>la</strong>r, los profesores <strong>de</strong>lenguajes <strong>de</strong> programación, tienen un gran retotratando <strong>de</strong> asignar una nota cuyo valor reflejerealmente <strong>la</strong> cantidad y calidad <strong>de</strong> losconocimientos adquiridos por el alumno durante elcurso.Llevar a cabo lo anterior <strong>de</strong> maneraautomática, es quizás, <strong>la</strong> parte más difícil <strong>de</strong>implementar. Teniendo en cuenta que <strong>la</strong> mayoría<strong>de</strong> <strong>la</strong>s pruebas que se realizarán en este cursoserán <strong>de</strong>l tipo <strong>de</strong> construir un programa, eldominio <strong>de</strong> <strong>la</strong>s respuestas que pue<strong>de</strong> consi<strong>de</strong>rarsecorrectas resulta infinito. Una posibilidad teóricasería <strong>la</strong> utilización <strong>de</strong> sistemas <strong>de</strong> interpretaciónabstracta [15] que analicen ciertas componentes <strong>de</strong>los programas e<strong>la</strong>borados por los estudiantes, sinnecesidad <strong>de</strong> ejecutarlos. Sin embargo, este tipo<strong>de</strong> análisis requiere un estudio <strong>de</strong> <strong>la</strong> semánticadinámica <strong>de</strong> los lenguajes implicados y en <strong>la</strong>actualidad sólo podría aplicarse a subconjuntos <strong>de</strong>dichos lenguajes. Este estudio semántico ha sidorealizado <strong>de</strong> una forma modu<strong>la</strong>r en [16] y seconsi<strong>de</strong>ra una futura línea <strong>de</strong> investigación.De una forma más pragmática, <strong>la</strong> evaluación<strong>de</strong> ejercicios <strong>de</strong> programación <strong>de</strong> formaautomática se ha realizado en [18]. En el proyectoIDEFIX, se <strong>de</strong>sarrol<strong>la</strong>rá un sistema basado en <strong>la</strong>especificación, para cada ejercicio <strong>de</strong>programación, <strong>de</strong> un conjunto <strong>de</strong> pruebas quere<strong>la</strong>cionan los datos <strong>de</strong> entrada con <strong>la</strong> respuesta aobtener. Algunas <strong>de</strong> estas pruebas serán visibles alos estudiantes, para que puedan validar ellosmismos sus programas. Otras pruebas seránocultas, para evitar posibles trampas y permitiruna evaluación automática. De <strong>la</strong> misma forma, seincorporará un sistema <strong>de</strong> chequeo automático <strong>de</strong>posibles copias o p<strong>la</strong>gios.5. Arquitectura <strong>de</strong>l Sistema.La arquitectura <strong>de</strong>l sistema se presenta en <strong>la</strong> figura2. Se mantienen los nombres en inglés <strong>de</strong> losdiversos componentes para facilitar sureconocimiento en <strong>la</strong> implementación real. Losprincipales componentes son:• Problem Manager: Forma el núcleo <strong>de</strong>lsistema. Se comunica a través <strong>de</strong> Internet conlos usuarios (alumnos, profesores yadministradores) y gestiona <strong>la</strong> realización <strong>de</strong>los problemas <strong>de</strong> programación en losdiferentes intérpretes y máquinas. Para ello,se crean diferentes procesos para <strong>la</strong> ejecución<strong>de</strong> cada problema utilizando un protocolo <strong>de</strong>comunicación con dichos procesos.• X Wrapper: Encapsu<strong>la</strong> <strong>la</strong> funcionalidadmínima <strong>de</strong> un intérprete genérico. Dichafuncionalidad viene dada por primitivas <strong>de</strong>ltipo: load (carga un programa), execute(ejecuta un programa), add (aña<strong>de</strong> uncomponente a un programa), abort (aborta <strong>la</strong>ejecución <strong>de</strong> un programa), etc. Seimplementará un wrapper por cada uno <strong>de</strong> loslenguajes <strong>de</strong> programación que <strong>de</strong>seenincorporarse al sistema. En <strong>la</strong> actualidad secontemp<strong>la</strong> <strong>la</strong> incorporación <strong>de</strong> los lenguajesHaskell y Prolog.• Machine (EXE): El protocolo <strong>de</strong>comunicaciones con el problem managertambién admite <strong>la</strong> ejecución <strong>de</strong> programasejecutables distribuidos (componenteMachine) que forman uno <strong>de</strong> los requisitospara impartir <strong>la</strong> asignatura <strong>de</strong> SistemasDistribuidos.• Web based IDE: Se encarga <strong>de</strong>l interfaz <strong>de</strong>usuario y <strong>de</strong> <strong>la</strong> creación <strong>de</strong> un entorno <strong>de</strong><strong>de</strong>sarrollo amigable. El entorno se adaptará a<strong>la</strong>s necesida<strong>de</strong>s específicas <strong>de</strong> los usuarios.• Col<strong>la</strong>borative Programmer Assistant: Seencarga <strong>de</strong> <strong>la</strong> creación <strong>de</strong> un sistema <strong>de</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!