Virtual Programming Lab

Activities ::: mod_vpl
Maintained by Picture of Juan Carlos Rodríguez-del-PinoJuan Carlos Rodríguez-del-Pino
VPL is an activity module to manage programming assignments

Virtual Programming Lab 3.0.1

Moodle 2.3, 2.4, 2.5, 2.6
Released: Friday, April 4, 2014, 10:53 PM

This is a fix release of VPL v3.0

The main issues resolved are the followings:

  • Fix activity of type "example"
  • Remove PHP short tags
  • Fix Matlab/Octave script
  • Fix error in editor that stop AJAX actions (run/debug/evaluate) , due use of an incorrect use of callback functions to close the progress bar
  • Add code to avoid conflicts of JQuery with others versions in the same page
  • Add buffer to data write to terminal avoiding that the terminal hangs (e.g. an infinite output loop)


News and improvements in version 3.0

  • The editor and console based on Java applet has been replaced by software that uses JavaScriipt, Ajax, HTML5 and WebSocket
  • The new editor supports syntax highlighting for many languages.
  • Use graphical environment for executing Java and C# applications that require it.
  • Can be used directories on the required files, execution files or the files submitted by students
  • Now ddd is the default debugger for C, C++ and Java.
  • Has been removed the need to open ports on the Moodle server, allowing to use the VPL module without changes on the host system.
  • The new system supports clusters of servers without any special configuration.
  • The control of the execution is now asynchronous, reducing drastically the server workload.
  • It is possible to run graphical applications using an integrated VNC client.
  • It is possible to use encrypted connections (https and wss) with execution servers (jail servers)
  • Improved the way that is limited the memory used in executions.
  • Removed the use of xinetd.

Compatibility and Update

The module is compatible with Moodle 2.3, 2.4, 2.5 and 2.6. VPL version 3.0 is compatible at data level and backups, with the 2.X versions of VPL. This new version requires execution servers with vpl-jail-system 2.0. To update the module can simply follow the usual steps when updating a module in Moodle. For execution servers it is recommended to reinstall from scratch. There should be no inconsistency in the default or specific scripts existing in activities, but it is recommended to make appropriate checks before set the activities available to students.

IMPORTANT: VPL 3.X requires that the browser connects to the execution/jail server to monitor the process. VPL 2.X kept a connection from the Moodle server to the execution server with a high resource use. In VPL 3 all the execution servers must be reachable from internet. Only the service ports (http/ws and https/wss) of the servers need to be reachable.


A basic system that allows editing and execution of programs required a Moodle server with VPL module installed and at least one execution server (jail server) with vpl-jail-system 2.0. Editing code and execution on client requires a browser that supports HTML5 and WebSocket. The module has been successfully tested on the latest versions of IExplorer, Chrome, FireFox, Opera and Safari. The service of execution (vpl-jail-system 2.0) is compatible with the latest versions of Ubuntu and CentOS and has been tested on Ubuntu 10.x, 12.x 13.xy in CentOS 6.5, both 32 and 64 bits.

known Issues

  • The encrypted connection with self-signed certificates don't work in IExplorer and Safari.
  • In tablets and phones, although editing and execution of textual and graphical programs are possible, text input during execution is unavailable because the keyboard is not displayed.

Version information

Version build number
Version release name
Can be updated to
3.1.1, 3.1.2, 3.1.5 (2016071800), 3.2, 3.2.1, 3.2.2, 3.2.3, 3.2.4 (2016122912), 3.3, 3.3.1, 3.3.2, 3.3.3, 3.4.2BAD, 3.4.2 (2021033113)
Stable version
MD5 Sum
Supported software
Moodle 2.3, Moodle 2.4, Moodle 2.5, Moodle 2.6
  • Latest release for Moodle 2.3
  • Latest release for Moodle 2.4
  • Latest release for Moodle 2.5
  • Latest release for Moodle 2.6

Version control information

Version control system (VCS)
VCS repository URL

Default installation instructions for plugins of the type Activities

  1. Make sure you have all the required versions.
  2. Download and unpack the module.
  3. Place the folder (eg "assignment") in the "mod" subdirectory.
  4. Visit to finish the installation