Tutorial: Moodle VPL Hello World -- Python

From dftwiki
Jump to: navigation, search

--D. Thiebaut (talk) 14:56, 10 June 2014 (EDT)


Moodle VPL Tutorials

This tutorial illustrates how to setup a VPL activity that tests that a student submitted a Python program that prints out to the console the string "Hello World!\n". The tutorial illustrates how to setup evaluation of the program so that the student will get 0 or 100 points depending on whether his/her program output is correct or not.


  • Moodle Version 2.7 + (Build: 20140529)
  • VPL Version 3.0.1
  • For details on how Moodle and VPL were installed, go to this page.

Step-by-Step Instructions

  • Login as Instructor for course where Python test is to be added
  • Turn editing ON

Add New Activity

  • Add new activity
  • Set the following fields:
    • Name: Hello World Test
    • Short description: Hello World in Python 3
    • Full description: You need to write a Python program that outputs the string "Hello World!" (without the quotes, and with a blank line afterwards) on the console.
    • Submission period: pick today's date for Available from and a date that is in your future for Due date, and click on Enable
    • Submission restrictions/Max number of files: 1, and leave all the other fields with their default values.
    • Grade: Use Point, 100, and pick the category of grades this should fall in (You need to create categories first, i.e. quizzes, homework, exam, etc.)
    • Save and display

VPL Administration

Setup the VPL system to test the students programs

  • Concentrate now on the second down on the left:


  • Test cases: Enter a name for the case, and what the output of the program is expected to be. The exact output should be between double quotes. Note that there is a return at the end of "Hello World!" which should be part of the output.


  • Execution options: Run: Yes, Debug: No, Evaluate: Yes, Evaluate just on submission: No, Automatic Grade: Yes
  • Requested files: hello.py. Just enter this file name, and nothing in the edit window. Click on Save.

Testing as Admin

  • Test activity. Click on Edit and enter this simple program:

#! /usr/bin/python3.4

def main():
    print( "Hello World!" )

  • Save
  • Click on Run


  • Close the console
  • Click on Evaluate


Verify that you get the message shown below, indicating that the program runs correctly and gets full mark.
|  1  test run/ 0 tests failed |

Testing As A Student

  • Log out from the Admin account
  • Log in as a student registered to the class
  • Select the class, and the topics containing the Hello World Test
  • Click on Edit and enter this program in the editor (tabbed "hello.py"):


Note that the student does not use the same organization as the Admin and doesn't use functions.
  • Now that the student has seen his/her program runs correctly he/she can have the system evaluate it. Click on Evaluate


Note that the student's program passed the test, and got a 100/100 grade.

This concludes this tutorial