Difference between revisions of "Submitting programs for automatic testing on Moodle"

From dftwiki3
Jump to: navigation, search
(Be Careful of Extra Space Characters!)
 
(18 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
<br />
 
<br />
 
{|   
 
{|   
| style="width: 20%" |
+
|  
 +
__TOC__
 
|
 
|
__TOC__
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
| style="width: 80%" |
 
 
|
 
|
 
<bluebox>
 
<bluebox>
Line 17: Line 17:
 
=Steps=
 
=Steps=
 
<br />
 
<br />
 +
==Login to Moodle==
 +
<br />
 +
* Point your browser to [http://moodle.smith.edu/course/ Moodle] and pick the link for this course.
 +
<br />
 +
==Submit your Program==
 +
<br />
 +
* Find the link for today's assignment or lab.
 +
* Click on it!
 +
* You should see something similar to this screen capture:
 +
<br />
 +
<center>[[Image:MoodleSubmission1.png|600px]]</center>
 +
<br />
 +
* Click on the '''Edit'' tab, and copy/paste your program
 +
<br />
 +
<center>[[Image:MoodleSubmission2.png|600px]]</center>
 +
<br />
 +
* '''Click on Save in the menu to save your program'''.
 +
<br />
 +
==Run the Program==
 +
<br />
 +
* Click on '''Run''' to test your program.  This step will automatically assemble and link your program, display errors if any, and if not, it will display the output of the program.
 +
<br />
 +
<center>[[Image:MoodleSubmission3.png|600px]]</center>
 +
<br />
 +
* When you are satisfied that your program runs, close the '''Console''' window.
 +
* Fix any errors you may have, or modify the program behavior by going back to the '''Edit''' tab and modifying the code.
 +
* When you are satisfied that your code works well, you can have it evaluated for an '''automatic grade'''.
 +
<br />
 +
==Evaluate &amp; Grade Program==
 +
<br />
 +
* Click on the '''Evaluate''' menu option.
 +
<br />
 +
<center>[[Image:MoodleSubmission4.png|600px]]</center>
 +
<br />
 +
* The output above shows that the program didn't run as expected.  It didn't crash, but its output is not the one wanted.  In particular:
 +
** It got a grade of 0/100.  There was 1 test only, so failing it yields a grade of 0.  If the program had been one that expected an input and would have generated an output, it could have been tested with, say, 3 different types of input.  If it had failed 1 of the 3 inputs, it would have gotten a grade of 66/100.
 +
** The output window also shows the difference between the current output of your program, and the one that was expected.  This is an easy way for you to see what needs to change in your program.
 +
** Finally, you are shown that your program was tested only once, and failed that one test.
 +
<br />
 +
* In case your program failed a test, you should go back to the '''Edit window''' and update your code (if the modification is simple enough; otherwise go back to your original in emacs).
 +
* Evaluate your code again.  In general you will not be limited in the number of submissions you make, although this might be a feature put in use for some assignments or exams.
 +
* Keep editing/evaluating until your program passes the test(s).
 +
<br />
 +
 +
==Be Careful of Extra Space Characters!==
 +
<br />
 +
Look at the evaluation results below:
 +
<br />
 +
<center>[[Image:MoodleSubmission5.png|400px]]</center>
 +
<br />
 +
It seems that the output of the program matches the expected output, but for some reason, Moodle rejects the program...  Why? 
 +
<br />
 +
Take a closer look at the image to see if you see the problem...
 +
<br />
 +
The answer is illustrated in the image below:
 +
<br />
 +
<center>[[Image:MoodleSubmission6.png|400px]]</center>
 +
<br />
 +
The program  outputs an extra blank line.  Very likely it has an extra number '''10''' (line-feed character) at the end of the string.  Removing it will solve the problem and make the program pass, with a 100/100 grade.
 
<br />
 
<br />
 +
 +
 +
 +
 +
 
<br />
 
<br />
 
<br />
 
<br />

Latest revision as of 10:50, 8 September 2014

--D. Thiebaut (talk) 11:04, 2 September 2014 (EDT)



     

This page documents the steps necessary for submitting a program to be tested on the Smith College Moodle site. This feature makes use of the VPL Moodle extension. If you are interested in setting up such a module on your own Moodle site, you may find the tutorials/recipes on this page of interest.




Steps


Login to Moodle


  • Point your browser to Moodle and pick the link for this course.


Submit your Program


  • Find the link for today's assignment or lab.
  • Click on it!
  • You should see something similar to this screen capture:


MoodleSubmission1.png


  • Click on the 'Edit tab, and copy/paste your program


MoodleSubmission2.png


  • Click on Save in the menu to save your program.


Run the Program


  • Click on Run to test your program. This step will automatically assemble and link your program, display errors if any, and if not, it will display the output of the program.


MoodleSubmission3.png


  • When you are satisfied that your program runs, close the Console window.
  • Fix any errors you may have, or modify the program behavior by going back to the Edit tab and modifying the code.
  • When you are satisfied that your code works well, you can have it evaluated for an automatic grade.


Evaluate & Grade Program


  • Click on the Evaluate menu option.


MoodleSubmission4.png


  • The output above shows that the program didn't run as expected. It didn't crash, but its output is not the one wanted. In particular:
    • It got a grade of 0/100. There was 1 test only, so failing it yields a grade of 0. If the program had been one that expected an input and would have generated an output, it could have been tested with, say, 3 different types of input. If it had failed 1 of the 3 inputs, it would have gotten a grade of 66/100.
    • The output window also shows the difference between the current output of your program, and the one that was expected. This is an easy way for you to see what needs to change in your program.
    • Finally, you are shown that your program was tested only once, and failed that one test.


  • In case your program failed a test, you should go back to the Edit window and update your code (if the modification is simple enough; otherwise go back to your original in emacs).
  • Evaluate your code again. In general you will not be limited in the number of submissions you make, although this might be a feature put in use for some assignments or exams.
  • Keep editing/evaluating until your program passes the test(s).


Be Careful of Extra Space Characters!


Look at the evaluation results below:

MoodleSubmission5.png


It seems that the output of the program matches the expected output, but for some reason, Moodle rejects the program... Why?
Take a closer look at the image to see if you see the problem...
The answer is illustrated in the image below:

MoodleSubmission6.png


The program outputs an extra blank line. Very likely it has an extra number 10 (line-feed character) at the end of the string. Removing it will solve the problem and make the program pass, with a 100/100 grade.