The system integrates into Moodle, providing the usual characteristics of activities such as grading, groups, access control based on roles, access logs, backup and restore data, etc. It also has a large number of features tailored to the programming assignments.

Submission control

It offers various options for controlling the submissions:

  • Allows to limit the period of submission and access the description of the task.
  • Allows to set the maximum number of uploadable files.
  • Allows to specify the maximum size of each uploaded file.
  • Allows set the names of the files to upload. The named files are submission requirement, the remaining files, until you reach the maximum, are optional.
  • The browsing, editing and uploading files can be restricted to networks and/or password protected.

File management

  • Allows to edit the files from the browser using the code editor component of the system.
  • Initial value can be set for the required files.
  • Uploaded files are displayed with syntax highlighting.

Running and evaluating submissions

  • Default run and debug scripts are used for many programming languages (Ada, C, C++, C#, Fortran, Haskell, Java, Matlab/Octave, Pascal, Perl, PHP, Prolog, Python, Ruby, Scheme, SQL and VHDL)
  • Scripts and programs may be set to evaluate every submissions.
  • Programs may be executed with input/output in a text console.
  • Scripts definition and files used for evaluation and execution may be based on other VPL instances.
  • To control program execution, the resources may be limited by time, memory size, file size and number of process.

The way the system operate is that during the submission period student can submit files as many times as they wish. The teacher will evaluate the last one. The system stores a record of previous submissions

Authorship control

  • Allows to searching of the similar files.
  • The system may add water marks in the downloaded code.
  • Allows to limit editing and prevent external code to be paste.