VPL (Virtual Programming Lab)

De Documentación Campus Virtual de la UEx
Ir a la navegación Ir a la búsqueda

Laboratorio Virtual de Programación VPL (Virtual Programming Lab)

VPL (Virtual Programming Lab), es una herramienta software de código abierto que permite la gestión de prácticas de programación, en Moodle.

En nuestra plataforma de Moodle del Campus Virtual de la UEx tenemos instalada la última versión disponible VPL 3.3 y el servidor de ejecución VPL-JAIL-SYSTEM 2.6. Actualmente, disponemos de cuatro servidores de ejecución con la instalación por defecto. Estos servidores cuentan con los compiladores e intérpretes, así como sus librerías que vienen incluidas por defecto. En cualquier caso, si requiere algún componente con el que no cuentan puede utilizar el servidor de ejecución que haya utilizado hasta ahora configurándolo en su laboratorio en el Campus Virtual. Con la intención de facilitar su utilización en sesiones de prácticas, se han incluido los depuradores y entornos de programación para los lenguajes más usuales como Java o C. De manera que, los alumnos puedan llegar incluso a realizar sus prácticas sin tener ninguno de estos programas en su equipo.

Información básica sobre VPL

  • Implementar una herramienta abierta, con una amplia distribución y capaz de captar aportaciones externas. *
  • Cubrir un amplio abanico de posibilidades de uso, incluyendo prácticas presenciales, no presenciales, exámenes en laboratorio, etc. *
  • Ser independiente del lenguaje de programación utilizado en las prácticas. *
  • Proveer un entorno de desarrollo simple para facilitar el aprendizaje en los primeros cursos. *
  • Facilitar la evaluación automática de las prácticas entregadas. *
  • Garantizar la seguridad del sistema. *

Ejemplos de VPLs

VPL CVUEx.png
En los siguientes enlaces mostramos ejemplos de qué puede hacer la actividad Laboratorios Virtuales de Programación en cuatro lenguajes diferentes:

Descripción de la herramienta

VPL permite la gestión de prácticas de programación teniendo como características más destacadas:

  • Posibilidad de editar el código fuente en el navegador.
  • Posibilidad de ejecutar las prácticas de forma interactiva desde el navegador.
  • Posibilidad de ejecutar pruebas que revisen las prácticas.
  • Búsqueda de similitud entre prácticas para el control del plagio.
  • Restricciones de entrega de prácticas que limitan el corta y pega de código externo.
Lenguajes de programación
Se pueden especificar los script de ejecución o depuración, o dejar que el sistema ejecute uno de un lenguaje determinado en función de la extensión de los ficheros entregados.
La siguiente tabla muestra los lenguajes soportados, las extensiones de ficheros usadas, los script predefinidos disponibles, el compilador/intérprete depurador usado por éste y finalmente un comentario sobre uso del lenguaje.
Lenguaje Extensiones Ejecutar Depurar Compilador / interprete depurador Comentario
Ada ada, adb, ads X X gnat (Ada 2005)/gdb Usa primer fichero como principal
C c X X gcc C99/gdb Compila todos los ficheros fuente
C++ cpp, C X X X g++/gdb Compila todos los ficheros fuente
C# cs X X mono/mdb Compila todos los ficheros fuente
Fortran f, f77 X X gfortran/gdb Compila todos los ficheros fuente
Haskell hs X hugs Ejecuta el primer fichero
Java java X X javac+java/jdb Compila todos los ficheros fuente. Localiza la clase con main.
Matlab/Octave m X matlab, octave Ejecuta el primer fichero. Use vpl_replot después de dibujar.
Pascal pas, p X X fpc o gpc/gdb Compila el primer fihero (fpc) o compila todos los ficheros fuente.(gpc).
Perl perl, prl X X perl Ejecuta el primer fichero.
PHP php X php5 Ejecuta el primer fichero.
Prolog pl, pro X swipl Ejecuta el primer fichero.
Python py X X python Ejecuta el primer fichero.
Java java X X javac+java/jdb Compila todos los ficheros fuente. Localiza la clase con main. Ejecuta el primer fichero.
Ruby rb X X ruby Ejecuta el primer fichero.
Scheme scm, s X mzscheme Ejecuta el primer fichero.
SQL sql X sqlite3 Ejecuta todos los ficheros fuente.Primero los establecidos en ficheros de ejecución
VHDL vhd, vhdl X ghdl Compila todos los ficheros fuente, el primero debe tener el método Main.


Cómo crear una actividad VPL sencilla

MoodleVPLLogo.png
Para crear una actividad de Laboratorio Virtual de Programación, sigue estos pasos:
1.- Crear una actividad VPL
2.- Establecer el nombre de la actividad y su descripción
3.- Establecer la fecha límite
4.- Establecer la cantidad máxima de archivos que cada alumno puede cargar
5.- Establezcer la puntuación máxima para obtener
6.- Guardar la nueva actividad

Agregar una actividad VPL en nuestro aula virtual

VPL CVUEx.png
  • Entrar en nuestro curso y activar edición
  • Anadir una nueva actividad o recurso
  • Seleccionar la opción “Laboratorio Virtual de Programación” y Agregar.
CrearVPL.png
  • Rellenamos el formulario de configuración de la actividad: nombre de la actividad, una descripción corta y la descripción completa de la actividad.
Crear VPL2.jpg
  • ... y configuramos todas las opciones de la actividad:
  • Periodo de entrega:
    Como en cualquier actividad de Moodle, definimos las fechas de disponibilidad de la actividad en el periodo de entrega.
    En la sección “Disponibilidad” se puede especificar la fecha y la hora a partir de la cual estará disponible la actividad en la plataforma. En la sección “Limite de entrega “se determina la fecha y la hora máximo para que se pueda enviar un resultado a la actividad planteada.
  • Restricciones de entrega:
    Podemos implementar ciertas restricciones de las entregas, que puedan realizar sobre la actividad, como se muestra en la imagen:
    Crear VPL3.jpg
    • Número de ficheros máximos que se pueden subir, fundamental si una actividad requiere un número de ficheros múltiples para desarrollarla.
    • Tipo de entrega: individual o grupal
    • Activar o desactivar la carga de archivos, el pegado de texto y el arrastrar contenido externo al editor de desarrollo de VPL.
    • Restringir el tamaño máximo de los ficheros que se pueden subir como respuesta a la actividad.
    • Añadir contraseña a la actividad hará que sólo puedan acceder aquellos usuarios del aula que conozcan dicha contraseña.
    • Restringir la actividad a una red determinada, hará que solo aquellos que accedan a la actividad desde la red especificada puedan añadir una solución a la actividad.
    • Como si se tratara de un examen, podemos activar la opción de navegador segura activando el SEB.
  • Calificación:
    Podemos evaluar la actividad mediante escala o puntuación, según evaluemos por objetivos o por puntos, y en una escala de 10 o 100.
    Y también...
    • Especificar la puntuación mínima para aprobar
    • Reducir puntos por número de evaluaciones automáticas (pruebas del alumno)
    • Número de evaluaciones permitidas sin reducción de puntuación.
    • Mostrar o no la evaluación obtenida al estudiante
    La herramienta de VPL permite la calificación automática de las actividades creadas, para esto, se deben definir casos de prueba los cuales se deben cuplir con exactitud con las soluciones especificadas.
    Crear VPL4.jpg
  • Por último, haremos clic en “Guardar cambios y mostrar”.

Visualización de la actividad VPL en nuestro aula virtual

VPL CVUEx.png
Nuestro VPL de ejemplo se nos mostrará así:
Mostrar VPL.png
Como vemos, NO tenemos activas las acciones de Ejecutar y Evaluar, que tendremos que configurar en Opciones de Ejecución una vez creada la actividad VPL.


Lista de Entregas
La Lista de entregas nos muestra las entregas de los estudiantes, pudiendo filtrar la vista por “Todas las entregas” – “No evaluadas” – “Evaluadas” – “Evaluadas por el usuario”
Entregas.jpg Entregas1.jpg
Igualmente podemos filtrarlas por “No ejecutado” – “No evaluado” – “Todos”
Entregas2.jpg
… y descargar sólo las que nos interese.


Similaridad
El módulo de VPL permite detectar fraude y similitudes entre las diferentes entregas.
Similaridad2.png
Opciones de búsqueda de similitud entre trabajos
Podemos buscar similitudes entre las distintas soluciones entregadas y determinar la cantidad de salidas que queremos que exporte nuestra búsqueda (en nuestro ejemplo, 5). La búsqueda mostrará parejas relacionadas por el porcentaje de similaridad o similitud que existe entre ellas, y el profesor podrá tener un criterio para evaluar si dichas soluciones realmente pueden ser consideradas como fraude o no.
El profesor también puede adjuntar a las fuentes de búsqueda de similitud, las entregas de actividades del mismo tipo creadas con anterioridad en este u otro de sus cursos.
Se mostrará una matriz de relación entre cada solución entregada en la presente actividad y las demás soluciones, así como el porcentaje de semejanza que hay entre cada una de ellas. De esta manera se puede analizar con más profundidad las soluciones y el porcentaje de coincidencia que existe entre ellas.
También se pueden importar soluciones obtenidas en otros cursos ajenos para luego compararlas con las soluciones de nuestro curso y de esta manera crear un banco de soluciones más amplio que nos permita detectar más eficazmente los posibles plagios.
Por supuesto, la última palabra en la evaluación de la actividad es siempre del profesor, y las opciones de calificación y detección de plagio que se ofrecen en el módulo VPL sólo sirven de referencia para facilitar el proceso de evaluación.


Probar actividad
Otra de las opciones que tenemos en este módulo, es la de Probar la actividad haciendo una entrega de fichero, …
Probar entrega.JPG
… acceder al editor y ver entrega.
Por último, también podemos ver actividad tal y como se muestra a los estudiantes:
Editar entrega.PNG
Ejecutado.PNG Editamos programa.PNG

Administración de un VPL

En la siguiente página vamos a ver más a fondo la configuración y administración de un Laboratorio Virtual de Programación.
Continúa en la siguiente página: Administración de un VPL
0.00
(0 votos)