Difference between revisions of "Matching1"
(Created page with '<h2>Matching Question</h2> 300px|thumb|right|Click to enlarge <p style="background-color:#eeeeee;border:black solid 1px;padding:3px;"> This PG code shows …') |
|||
Line 56: | Line 56: | ||
<p> |
<p> |
||
<b>Initialization:</b> |
<b>Initialization:</b> |
||
+ | We use <code>PGchoicemacros.pl</code> to construct the list of multiple choice items, and the custom problem grader fluid from <code>PGgraders.pl</code> for incremental grading. |
||
</p> |
</p> |
||
</td> |
</td> |
||
Line 126: | Line 127: | ||
<p> |
<p> |
||
<b>Main Text:</b> |
<b>Main Text:</b> |
||
+ | The <code>ColumnMatchTable()</code> is provided by the macro file <code>unionTables.pl</code>. |
||
</p> |
</p> |
||
</td> |
</td> |
||
Line 157: | Line 159: | ||
<p> |
<p> |
||
<b>Answer Evaluation:</b> |
<b>Answer Evaluation:</b> |
||
+ | We must withhold feedback from students by setting <code>$showPartialCorrectAnswers = 0;</code> |
||
+ | We use an incremental grader called <code>custom_problem_grader_fluid</code>. With this problem grader, you must specify the number of correct answers <code>[2,4,6]</code> and their corresponding scores <code>[0.3,0.6,1]</code> and update the grader message accordingly. The last entry in the array for <code>grader_numright</code> must be the total number of questions asked, and the last entry in the array for <code>grader_scores</code> must be 1 (otherwise nobody can earn full credit!). |
||
+ | </p> |
||
+ | <p> |
||
+ | If you want a grader that awards full credit when all questions are correct and no credit otherwise, uncomment the standard problem grader. |
||
+ | </p> |
||
+ | |||
</p> |
</p> |
||
</td> |
</td> |
Revision as of 18:09, 2 December 2010
Matching Question
This PG code shows how to set up a matching question.
- Download file: File:Matching1.txt (change the file extension from txt to pg when you save it)
- File location in NPL:
FortLewis/Authoring/Templates/Misc/Matching1.pg
PG problem file | Explanation |
---|---|
Problem tagging: |
|
DOCUMENT(); loadMacros( "PGstandard.pl", "MathObjects.pl", "PGchoicemacros.pl", "PGgraders.pl", "unionTables.pl", ); TEXT(beginproblem()); |
Initialization:
We use |
# # Create a matching list and use popups # $ml = new_match_list(); $ml->rf_print_q(~~&pop_up_list_print_q); $ml->ra_pop_up_list([ "No answer" => "?", "A" => "A", "B" => "B", "C" => "C", "D" => "D", "E" => "E", "F" => "F", "G" => "G", "H" => "H", "I" => "I", ]); # # Add correct questions and answers # $ml->qa( "Question a?", "Answer a", "Question b?", "Answer b", "Question c?", "Answer c", "Question d?", "Answer d", "Question e?", "Answer e", "Question f?", "Answer f", ); $ml->choose(6); # # Add extra incorrect answers # $ml->extra( "Extra answer 1", "Extra answer 2", ); $ml->choose_extra(2); $ml->makeLast("None of the above"); |
Setup: For more details, see MatchingProblems from the Problem Techniques documentation. |
Context()->texStrings; BEGIN_TEXT Match each question with its answer. \{ ColumnMatchTable($ml) \} END_TEXT Context()->normalStrings; |
Main Text:
The |
$showPartialCorrectAnswers = 0; # # Incremental grader # install_problem_grader(~~&custom_problem_grader_fluid); $ENV{'grader_numright'} = [2,4,6]; $ENV{'grader_scores'} = [0.3,0.6,1]; $ENV{'grader_message'} = "You can earn " . "30% partial credit for 2 - 3 correct answers, and ". "60% partial credit for 4 - 5 correct answers."; # # All or nothing grader # # install_problem_grader(~~&std_problem_grader); ANS( str_cmp( $ml->ra_correct_ans ) ); |
Answer Evaluation:
We must withhold feedback from students by setting If you want a grader that awards full credit when all questions are correct and no credit otherwise, uncomment the standard problem grader. |
@correct = @{$ml->ra_correct_ans()}; $answerstring = join(", ", @correct); Context()->texStrings; BEGIN_SOLUTION ${PAR}SOLUTION:$PAR The correct answers are $answerstring END_SOLUTION Context()->normalStrings; COMMENT('MathObject version.'); ENDDOCUMENT(); |
Solution: It is also possible to provide explanations for these answers. For details, see MatchingProblems from the Problem Techniques documentation. |