Virtual Programming Lab icon

Virtual Programming Lab

Maintained by Juan Carlos Rodríguez
VPL (Virtual Programming Lab) enables the creation, submission, execution, and automatic assessment of programming assignments directly within the Moodle learning environment.
Price option: Free

Supports Moodle 2.3-5.2 See all versions
Latest release: 2 months ago
Installations: 2624
Downloads (last 90 days): 1379

Frankenstyle name: mod_vpl
Activities

Description

The Virtual Programming Lab (VPL) plugin is specifically designed for programming and computer science courses where students are required to write, run, and test source code. VPL enables teachers to define programming tasks, provide reference files, and automatically evaluate student submissions using predefined test cases.


Key features

  • Creation of programming activities fully integrated with Moodle courses
  • Automatic compilation, execution, and evaluation of student code
  • Support for multiple programming languages, including Python, C, C++, Java, JavaScript, PHP, Octave, Haskell, Scheme, and others
  • Immediate and detailed feedback for students after submission
  • Configurable test cases for objective and repeatable assessment
  • Support for multiple submissions and iterative improvement
  • Integration with Moodle’s grading and activity management system
  • Plagiarism detection support
  • Scalability for large courses and multiple concurrent users
  • Support for Safe Exam Browser

Educational benefits

By automating the execution and assessment of programming assignments, VPL provides several pedagogical advantages:

  • Reduces the manual grading workload for teachers
  • Provides fast, objective evaluation of student work
  • Encourages experimentation and learning through immediate feedback
  • Improves consistency and fairness in grading
  • Supports active, practice-based learning

Technical requirements

VPL requires the installation and configuration of a VPL Jail Server, which is responsible for securely compiling and executing student code in an isolated environment.

The separation between Moodle and the execution server improves both security and scalability.


Security and scalability

Student and teacher code is executed in a controlled and isolated environment using the VPL Jail Server, never on the Moodle server itself. This approach minimizes security risks and allows institutions to scale execution capacity by deploying multiple jail servers as needed.


Maturity and adoption

VPL is a stable and widely used plugin in academic environments, particularly in universities and technical institutions. It has been used for many years in real teaching scenarios and is actively maintained.

Contributors

Awards

Early bird 3.2
Automated testing support
Early bird 3.8
Privacy friendly
Early bird 3.11
Early bird 4.0
Early bird 4.2
Early bird 4.3