Difference between revisions of "Matching1"
Line 56: | Line 56: | ||
<p> |
<p> |
||
<b>Initialization:</b> |
<b>Initialization:</b> |
||
− | We use <code>PGchoicemacros.pl</code> to construct the list of |
+ | We use <code>PGchoicemacros.pl</code> to construct the list of matching object, and the custom problem grader fluid from <code>PGgraders.pl</code> for incremental grading. |
</p> |
</p> |
||
</td> |
</td> |
||
Line 164: | Line 164: | ||
<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. |
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 19:10, 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. |