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
1258 sites
83 fans
Current versions available: 2
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 Juan Carlos Rodríguez-del-Pino
    Sat, Oct 6, 2018, 1:36 AM
    I think that a NAS is useful to save data, but you can not execute programs on it.

    The execution/jail server is build to run in a linux distribution and has been tested on Ubuntu 16.04 and CentOS 7.
    You can follow a tutorial of how to install the execution/jail server at

    Best regards,
    Juan Carlos.
    Wed, Oct 17, 2018, 8:59 PM
    Hello, Juan Carlos.
    I am trying install VPL plugin in my Moodle Platform, but after I drop the zip 3.3.4 version archive in my plugin administration item, the install process, after validating ok, stands indefinitely in a blank page without anything happening for a long time. My route is in my case .../moodle/admin/tool/installaddon/index.php
    what is the problem?
    Thank you very much for this help.
    José Luis Anta.
  • Picture of Juan Carlos Rodríguez-del-Pino
    Thu, Oct 18, 2018, 3:17 AM
    Dear José Luis,
    Please, tell us the details of your system (Moodle, S.O., PHP, etc. version).

    The problem that you reported may be related to the environment (limits) of your Moodle platform. I need to replicate your system conditions to try to spot the problem.

    Have you installed other plugins on your Moodle platform without problems?

    Best regards,
    Juan Carlos.
  • Picture of Dana Wortman
    Tue, Feb 5, 2019, 3:08 PM
    Hello Juan! Thanks for such a great plugin! I was hoping to suggest the addition of User-based exceptions to the due-date. I've looked around and couldn't find a way to do this for a single user and I frequently have students who either miss a class session, need extra time because of disability accommodations, or just need to turn in the lab/assignment late. It would be great to be able to make an exception for these students and reset just their due date to a day or two later. This seems to be a common feature in most Moodle activities and it would be nice for VPL to also include it.
    Thanks, Dana
  • Picture of James Tsai
    Thu, Apr 18, 2019, 11:01 AM
    Hello, Juan Carlos.

    If I want the editor bring in some default C++ codes automatically when my students add a new file. How do I handle it?

    Thanks for your help!!
  • Picture of Nilesh Pathade
    Fri, Jul 19, 2019, 12:38 AM
    Hi Devs,

    Any plan for Moodle 3.7 version. Please update.
  • Picture of Siya Mpendulo
    Wed, Apr 15, 2020, 4:22 AM
    very nice plugin!
  • Picture of Tom Bui
    Sat, Apr 18, 2020, 10:26 PM
    Hi, I saw a lot of programming languages heer: C, Java... I am just curious if this plugin has function of Scratch for teaching children?
  • Picture of Juan Carlos Rodríguez-del-Pino
    Mon, Apr 20, 2020, 1:16 AM
    Hi Tom,
    current version 3.3.7 doesn't support Scratch.
  • 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.
1 2 3 4 5 6
Please login to post comments