Activities: Virtual programming lab

Maintained by Picture of Juan Carlos Rodríguez-del-PinoJuan Carlos Rodríguez-del-Pino
VPL is an activity module to manage programming assignments
1480 sites
90 fans
Moodle 2.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9
VPL Logo

Virtual Programming Lab for Moodle

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.


This plugin is part of set VPL - Virtual Programming lab.


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 Vanessa V.Chellen
    Tue, May 5, 2020, 8:38 PM

    Is it possible to have the following languages on the IDE : HTML/CSS , Javascript ?
  • Picture of Juan Carlos Rodríguez-del-Pino
    Wed, May 6, 2020, 3:15 AM
    Yes, you must use html, css and js as file extensions. If you allow using enough resources in your jail server, you will see the results in a browser at the jail server.
  • Picture of Leônidas Brandão
    Sat, May 30, 2020, 1:47 AM
    Hi Juan Carlos
    I hope everything is fine with you.
    Thank you to help the community with your excellent VPL tool! I have been intensively using it since 2014.
    Some time ago I reached a small bug, when using "Reports > Logs": the column "Event name" related to VPL has its URL broked.
    E.g. to the event "mod_vpl: submission viewed" I got the URL = https://saw.atp.usp.brmod/vpl/forms/submissionview.php?id=18095
    Today I examined it in detail and found its source: in VPL file '/mod/vpl/classes/event/base.php' it is sufficient to add
    a slash "/" at the beginning of the first parameter 'mod/vpl/' in its line 38, i.e.,
    replacing "return new \moodle_url( 'mod/vpl/' . $script, $parms );"
    by "return new \moodle_url('/mod/vpl/' . $script, $parms );"
    the problem is solved.
    Best regards
    Leônidas (IME-USP / Brazil)
  • Picture of Juan Carlos Rodríguez-del-Pino
    Mon, Jun 1, 2020, 5:12 PM
    Thanks very much, Leonidas for your bug report and fix.
    This problem will be fixed in the next VPL release.
    Best regards,
    Juan Carlos.
  • Picture of charles talathoti
    Fri, Jun 5, 2020, 5:20 PM
    im using moodle 3.9, successfully installed the plugin but getting "PHP XMLRPC required" dialog box on trying to run a piece of code. what to do here? pls help!

  • Picture of Juan Carlos Rodríguez-del-Pino
    Fri, Jun 5, 2020, 5:45 PM
    Dear Charles Talathoti,
    The installation of Moodle says that the PHP extension xmlrpc "should be installed and enabled for best results". VPL requires the xmlrpc extension and you must install it on your Moodle server. For example, for Ubuntu, you must run "sudo apt-get install php-xmlrpc" and restart the web service.
    Best regards,
    Juan Carlos.
  • Sudeep
    Mon, Jul 20, 2020, 10:51 PM
    Can we add another programming language in this plugin like Sphere Engine?
  • Picture of Abhishek Shrivastava
    Fri, Jul 24, 2020, 6:03 PM
    Do we have a tool for proctoring in moodle? Free or paid (one time)

  • Picture of Ashish Phophalia
    Mon, Jul 27, 2020, 1:46 PM
    Dear Prof. Carlos
    We have recently updated to Moodle 3.9 version. Also we have installed VPL on it. While clicking on run button, error message popped up "PHP cURL Required". Can you suggest possible solution of it.

    Best Regards
  • Picture of Juan Carlos Rodríguez-del-Pino
    Tue, Aug 4, 2020, 4:42 AM
    Dear Ashish Phophalia,
    Moodle 3.9 at administration environment checks indicate that:

    php_extension curl must be installed and enabled

    Contact to your sysadmin to install php-curl.

    Best regards,
    Juan Carlos.
  • Picture of Ashish Phophalia
    Tue, Aug 4, 2020, 1:34 PM
    Thanks for the support. It's working now.

    Best Regards
  • Al
    Fri, Aug 7, 2020, 3:15 AM
    Does the lab allow for Python 3. I see the screenshots show C, Java etc, but no Python 3.
  • Picture of Naveendurai K
    Sat, Sep 12, 2020, 3:57 PM
    How to write test cases for HTML,CSS ,Java script ,php programs?
  • Picture of Tapu Ahmed
    Fri, Sep 18, 2020, 10:52 AM
    I cannot write to files in either Python or Java. Reading from files work but writing to files do not work. Do you have any advice?
  • Picture of Juan Carlos Rodríguez-del-Pino
    Mon, Sep 21, 2020, 11:49 PM
    Dear Tapu Ahmed,
    notice that the execution is done by a temporal user that can write files at its home directory on Linux (the running program's current directory). Never user absolute path to file, the better way is to use relative path names.
    Bets regards,
    Juan Carlos.
1 2 3 4 5 6
Please login to post comments