WeBWorK Problems

Eliminating guessing on matching problems

Eliminating guessing on matching problems

by Michael Miller -
Number of replies: 2
I have written several matching problems of the form: match each of the graphs A, B, C, D with one of the descriptions 1,2,3,4,5,6,7,8 (the answer has one number for each lettered graph, where not all numbers are used).

My students have discovered that, even with $showPartialCorrectAnswers=0, they can efficiently guess their way to solutions to these matching problems by trying all possibilities for the first answer (leaving the rest of the answer boxes blank) until the warning "At least one of the answers above is NOT correct" disappears, then trying all remaining possibilities for the second answer, etc.

If I could define an unanswered question as being incorrect, or if I could eliminate the warning "At least one of the answers above is NOT correct", or if the warning (and criteria) were changed to "At least one of the answers above is blank or NOT correct" then they would not be able to do this.

Do I have any of these options (or any others)?
In reply to Michael Miller

Re: Eliminating guessing on matching problems

by Robin Cruz -
I usually limit the number of times the student can try these sorts of problems.  For one like this, I let them have 4 or 5 attempts.  You can control this in a def file for a problem set, or individual problems may be given limited attempts thru the Homework Sets Editor.  My students have learned to ask for help if they can't get it before the last try.
In reply to Michael Miller

Re: Eliminating guessing on matching problems

by Paul Pearson -

There is a grader that allows you to award different amounts of credit depending on how many parts students get correct. This is explained in Example 1 on the wiki page


Basically, you need to load the PGgraders.pl macro, and use the "custom problem grader fluid":

----- begin PG code -------------


$ENV{'grader_numright'} = [2,5,7,8];
$ENV{'grader_scores'} = [0.1,0.6,0.8,1];
$ENV{'grader_message'} = "You can earn " .
"10% partial credit for 2 - 4 correct answers, " .
"60% partial credit for 5 - 6 correct answers, and " .
"80% partial credit for 7 correct answers.";

$showPartialCorrectAnswers = 0;

-------- end PG code --------------------

Due to a recent change in "answer keys" (the way that answer blanks are labeled in the html input form), to get everything working you must use the most recent version of PGgraders.pl, available via SVN from


If you are unable to update this file on your server, you could put PGgraders.pl in the /templates/macros directory of your course.

Good luck!