WeightedGrader: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 2: | Line 2: | ||
<p style="background-color:#eeeeee;border:black solid 1px;padding:3px;"> | <p style="background-color:#eeeeee;border:black solid 1px;padding:3px;"> | ||
<em>This code shows how | <em>This code shows how give full credit if all answers are correct and zero credit if some answers are incorrect. | ||
</em> | </em> | ||
</p> | </p> | ||
Line 9: | Line 9: | ||
[[IndexOfProblemTechniques|Problem Techniques Index]] | [[IndexOfProblemTechniques|Problem Techniques Index]] | ||
</p> | </p> | ||
<table cellspacing="0" cellpadding="2" border="0"> | |||
<tr valign="top"> | |||
<th> PG problem file </th> | |||
<th> Explanation </th> | |||
</tr> | |||
<tr valign="top"> | |||
<td style="background-color:#ffdddd;border:black 1px dashed;"> | |||
<pre> | |||
install_problem_grader(~~&std_problem_grader); | |||
$showPartialCorrectAnswers = 0; | |||
ANS($a->cmp()); | |||
ANS($b->cmp()); | |||
ANS($c->cmp()); | |||
</pre> | |||
<td style="background-color:#ffcccc;padding:7px;"> | |||
<p> | |||
Answer Evaluation: We use | |||
<code>install_problem_grader(~~&std_problem_grader);</code> to give full | |||
credit only if all answers are correct, and zero credit otherwise. We should | |||
probably also hide feedback on whether answers are partially correct or | |||
not. This problem grader is recommended for true / false and multiple choice | |||
questions to prevent students from guessing and receiving either feedback or | |||
partial credit that tells them whether their guess was correct. | |||
</p> | |||
</td> | |||
</tr> | |||
</table> | |||
<p style="background-color:#eeeeee;border:black solid 1px;padding:3px;"> | |||
<em>This code shows how to assign different weights (percentages) to each answer in a problem. | |||
</em> | |||
</p> | |||
<table cellspacing="0" cellpadding="2" border="0"> | <table cellspacing="0" cellpadding="2" border="0"> | ||
<tr valign="top"> | <tr valign="top"> |
Revision as of 22:16, 7 November 2009
Weighted Graders
This code shows how give full credit if all answers are correct and zero credit if some answers are incorrect.
PG problem file | Explanation |
---|---|
install_problem_grader(~~&std_problem_grader); $showPartialCorrectAnswers = 0; ANS($a->cmp()); ANS($b->cmp()); ANS($c->cmp()); |
Answer Evaluation: We use
|
This code shows how to assign different weights (percentages) to each answer in a problem.
PG problem file | Explanation |
---|---|
DOCUMENT(); loadMacros( "PGstandard.pl", "PGcourse.pl", "MathObjects.pl", "weightedGrader.pl", ); install_weighted_grader(); TEXT(beginproblem); |
Initialization: We need to include the |
Context("Numeric"); Context()->variables->add(t=>"Real"); Context()->strings->add(A=>{},B=>{}); $r = random(2,4,1); $answer1 = Real("pi * $r**2"); $answer2 = Formula("($r - 1) * x**2 * t") -> reduce; $answer3 = String("A"); |
Set-up: To show how this works with MathObjects, we add some variables and strings to the context. |
Context()->texStrings; BEGIN_TEXT Enter \( \pi $r^2 \): \{ans_rule(10)\} Enter \( $answer2 \): \{ans_rule(10)\} Enter A: \{ans_rule(10)\} END_TEXT Context()->normalStrings; |
Main Text: Answer boxes are as usual. |
$showPartialCorrectAnswers = 0; WEIGHTED_ANS( ($answer1)->cmp(), 40 ); WEIGHTED_ANS( ($answer2)->cmp(), 40 ); WEIGHTED_ANS( ($answer3)->cmp(), 20 ); ENDDOCUMENT(); |
Answer Evaluation: Use |