You are located in service: RWTHmoodle

Add a Virtual Programming Lab

Add a Virtual Programming Lab


The creation of VPL activities can be divided into three different phases:

  • Creating the activity
  • Creating the automatic evaluation of the submission
  • Testing the automatic evaluation / creating a sample solution

This tutorial describes how to create a VPL assignment. The other tutorials explain how to set up the automatic evaluation of submissions using two-sample tasks.


Table of contents

1. Adding a VPL activity
2. Configuring a VPL activity


1. Adding a VPL activity

To add a VPL activity, follow the steps below:
  1. Switch the course room to edit mode using the "Edit mode" slider next to your name in the upper right corner.
  2. Click "Add an activity or resource" in the section where you wish to add the H5P Activity to appear.
  3. Select the "Virtual programming lab" option.

The VPL activity is created. You will now be taken to the settings page of the activity and can make the appropriate settings.


2. Configuring a VPL activity

2.1. General

  • Name - Give the VPL assignment a descriptive name.
  • Short description - Write a short description of the assignment here. This will be displayed to the students later in the online editor where they write their program.
  • Full description - Enter the assignment description here. This description will be displayed to the students in the editing view or - if the option "Display description on course page" is selected - directly in the course. Example: "Write a Python program that outputs the text "Hello World!" in the console, without the quotation marks and with an empty line after the output.

Please note: The description is immediately visible after saving the VPL assignment. Students can therefore already read the assignment description, even if due to the selected availability date (see the setting option "Submission period") a submission should only be possible in the future.

2.2. Submission period

  • Due date - Set a date in the future by which submissions should be allowed. The date will automatically be entered into the Moodle Calendar.
  • Available from - Set a date in the future when submissions should be allowed. The assignment description in the "Description" field is already visible to students, regardless of the availability date.

2.3. Submission restrictions

  • The maximum number of files - The number of files that students are allowed to submit as a submission.
  • File names specified under "Required Files" must be used in this way by students when uploading their submissions. The naming is case sensitive. If no files are named at this point, students are free to choose their own file names.
  • Type of work - Decide whether students work and submit individually or as a group. In group work, all members can make changes to the code to be submitted.
  • Disable external file upload, paste and drop external content - Disables uploading code and inserting code from other sources.
  • This activity acts as an example - If you do not want to grade this activity, check this box. The VPL assignment will then not be transferred to the course gradebook. It will be used for practice purposes only. This also means that students will not be able to modify or save code, but will only be able to execute code provided by the instructors in the "required files". This should enable the lecturers to demonstrate running code examples.
  • Maximum upload file size - Limits the size of the submission file. Values between 16KiB and 1MiB are available.
  • Password - Regulates access to the assignment with a password. This must be entered when the assignment is accessed.
  • Allowed online submission -
  • SEB browser required and SEB exam Key/s - These options refer to the "Safe Exam Browser". This limits the options available to students when they work on the assignment. This is only relevant in face-to-face exam scenarios and is not used in RWTHmoodle.


2.4. Grade

  • Grade type - You can either use point grading (default) or use a scale. This allows you to assign non-numerical gradings. If you want to assign points, enter the maximum number of points that can be achieved for the submission in the "Maximum grade" field. If you choose the "Scale" type of grading, choose an appropriate scale. You can create your own scales via the grader report of the course room and use them here. If you don't want to assign grades for the activity, select "None" as the type of grading.
  • Grade category - If you have created a separate grade category in the gradebook of the course room in which the VPL assignments should be bundled, assign it here.
  • Grade to pass - Enter here the required minimum grade for passing the activity. The value is used in activity and course completion. In addition, pass grades in the gradebook are highlighted in green and fail grades in red.
  • Reduction by automatic evaluation - Determines the reduction (value or percentage) of the final score for each automatic evaluation requested by the student.
  • Free evaluations - Determines how often students can have an automatic evaluation of their program that does not reduce the final score.
  • Visible - Set if the grade should be visible to students or not.


2.5. Outcomes

If you have enabled Outcomes to be used in your course, you can select here which outcomes should be linked to this activity. These will be listed in the gradebook together with the activity and can be graded separately with the scale assigned to them.


2.6. Common module settings

  • Availability - Choose whether the VPL activity is immediately visible to students or hidden from them.
  • ID Number - The ID number is used to assign a label that can be used in the gradebook for purposes such as overall grade calculation or custom reporting. If the VPL activity is not needed for grade calculation, the field can be left blank.
  • Group Mode - Choose between the options "Separate Groups" and "Visible Groups". This activates a filter in the submissions list that allows you to filter the submissions by the group. It does not matter whether you select separate or visible groups for the visibility of the submissions. Group members can per se only see and access the submissions of their own group.
  • Grouping - This option is only displayed when a group mode is selected. Select whether only the groups in a particular grouping should be included in the submissions list.

2.7. Restrict access

Here, managers can control the visibility and availability of the resource or activity to students according to certain conditions. Please read the article Restrict access.


2.8. Activity completion

Activity completion allows managers to set completion criteria or conditions when an activity is considered completed (i.e.: successfully processed). You can find detailed information in the article Activity completion settings.


2.9. Save

Clicking on "Save and go to course" will return you to the course page. 


2.10. Notification about content change

The settings for the activities can be reached after creating them within the activity via the central menu navigation. Here you will find activity-specific settings and you can also save the activity directly individually.

If you subsequently make changes to the settings, activate the checkbox "Send notification of content change" to inform all participants about the new or changed activity. All participants who can access the activity receive the notification.


last changed on 11/28/2023

How did this content help you?

GNU General Public License 3
This work is licensed under a GNU General Public License