Your Moodle version

Activities: Virtual programming lab

Maintained by Picture of Juan Carlos Rodríguez-del-Pino Juan Carlos Rodríguez-del-Pino
VPL is an activity module to manage programming assignments
Moodle 2.3, 2.4, 2.5

VPL- Virtual Programming Lab is a activity module that manage programming assignments and whose salient features are:

  • Enable to edit the programs source code in the browser
  • Students can run interactively programs in the browser
  • You can run tests to review the programs.
  • Allows searching for similarity between files.
  • Allows setting editing restrictions and avoiding external text pasting.


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5


Picture of Juan Carlos Rodríguez-del-Pino
Juan Carlos Rodríguez-del-Pino (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of deepa ganu
    Wed, Oct 7, 2015, 3:05 PM
    Can we plug in other enviornments like j2ee , spring , hibernate into jail server? How do we do that
  • Picture of Juan Carlos Rodríguez-del-Pino
    Wed, Oct 7, 2015, 10:11 PM
    Hello Deepa,
    I haven't test to use an application server for Java in a jail server, but I think that it is possible to run it with some limitations. You must be aware that every execution start with the same data from the same point. If you manage to run a application server in user space then you 'll be able to run it in a jail server.
    Note that
    - You must choice a different port for every application server
    - You can use firefox in the jail as browser
    - The execution script must generate vpl_wexecution (not vpl_execution) to run in graphical mode

    Best regards.
    Juan Carlos
  • Picture of Slobodan Jelić
    Mon, Oct 12, 2015, 6:55 PM
    Hi Juan,

    I have one question regarding the VPL evaluation phase. I was thinking how to evaluate some C/C++ program that takes an array (dinamically allocated) as the input. I do not see that the default evaluation scripts is capable to read a variable size array of characters.

    Since I am a begginer, I suppose that this problem has been already solved. Can you help me?


    Slobodan Jelic
    University of Osijek, Department of Mathematics
  • Picture of Juan Carlos Rodríguez-del-Pino
    Tue, Oct 13, 2015, 5:25 PM
    Hello Slobodan,
    the VPL evaluation has nothing to do about any internal representation of information of evaluated programs. The evaluation process gives the input to the evaluated program. The evaluated program manages the input data.
    If you write a program that take the data from the standard input, the data at the "input=" statement must be the same that you type as input when you run the program.

    Best regards.
  • Picture of Simon Thomas
    Wed, Nov 25, 2015, 7:18 AM
    Are you going to do a 3.0 update?
  • Picture of Juan Carlos Rodríguez-del-Pino
    Wed, Nov 25, 2015, 11:43 PM
    Hello Simon,
    VPL 3.1.4 can be used on Moodle 3.0.
    We are working hard to release VPL 3.2.

    Best regards.
  • Picture of Evan MacDormand
    Wed, Dec 9, 2015, 11:04 PM
    Hi Juan,
    I am interested in using this plugin to teach c#. I was wondering if you had a detailed installation and setup guide some place to get it working with moodle?
  • Picture of Juan Carlos Rodríguez-del-Pino
    Thu, Dec 10, 2015, 12:07 AM
    Hi Evan,
    the available documentation (not too much) is shown at
    There is a demo site and links to documentation kindly offered by other users.

    If you have questions you can ask at the forum.
    - To start, you must know about Moodle, and you or somebody expert how to install plugins (it's really easy)
    - Finally, you must get an execution server to run your tasks (the plugin, by default, uses a demo server).

    Best regards.
  • Picture of Evan MacDormand
    Thu, Dec 10, 2015, 4:17 AM
    I've got the plugin installed on my site, but I'm not sure how to set it up for the c# language. I'm assuming that has something to do with the jail server? Does the jail server have to be local to the moodle installation, or can it be remote as well?
  • Picture of Juan Carlos Rodríguez-del-Pino
    Fri, Dec 11, 2015, 9:50 PM
    HI Evan,
    If you are using the latest VPL version then you only need to write C# code (.cs extension). The main procedure must be in the first code file.
    The demojail server can help you to test your system but then you must install your own jail server in a "remote server", it's not recommended to install it on the moodle server.

    Best regards.
    Juan Carlos
  • Picture of Denis Bouhineau
    Fri, Apr 29, 2016, 11:02 PM
    Thanks for your contribution!
    I'm trying to use it with swi-prolog, and I can't try to make it read the input.
    Any idea?
    My prog looks like (very short: input, output, halt!), in prolog it's
    :- readln(Input), writeln(Input), halt.
    But the console does not appear in "run", and compilation get in infinite loop in "evaluate"...
  • Picture of Juan Carlos Rodríguez-del-Pino
    Wed, May 4, 2016, 11:40 PM
    Hello Denis,
    The script that launch swi-prolog try in a first fase to check sintacticaly the code, but the input/output was not considered, the test was stalled trying to read an input.
    To resolve this try using the following code as your as a workaround before I resolve the issue in the next release.

    Best regards.
    check_program swipl
    swipl -q -s $VPL_SUBFILE0 -t halt 1>/dev/null < /dev/null
    cat > vpl_execution
    echo "swipl -q -L32M -s $VPL_SUBFILE0" >>vpl_execution
    chmod +x vpl_execution
  • Picture of Denis Bouhineau
    Sun, May 8, 2016, 9:07 PM
    Thank you, it works.

    Best for you.
  • Picture of John Blesswin
    Thu, Jun 30, 2016, 6:33 PM
    I would like to know whether editor window can be enlarged.
    Also want to know the gcc version number.
    Also in Octave compiler its not supporting imread function. can you clarify
    John Blesswin
  • Picture of Juan Carlos Rodríguez-del-Pino
    Sat, Jul 2, 2016, 4:19 PM
    Hi John,
    the editor has a button "fullscreen" (its correct name might be "fullwindow") that lets you use the full window. It hides elements outside the editor. If you also set your browser in fullscreen mode (F11) you will get the maximum room.
    VPL uses the version of gcc that you installed in your jail server.

    Please, describe with more details your problem with Octave imread. Beware that the current versión of VPL is incompatible with binary files. As a workaround you can use binary files in base64 format. e.g. if I want to use a file image.jpg, I must convert the file to base64 and save it as image.jpg.b64. During your program execution you will get access to a the file image.jpg. (the system will decode image.jpg.b64 to image.jpg)

    Best regards.
1 2 3
Please login to post comments