Hello everyone,
Geoff Goehle here, writing on Mike's blog. This post is to advertise a new upcoming feature in WeBWorK, the ability to write and grade “essay” or “discussion” style questions. Quite a few WeBWorK problems already contain open ended questions, but because answers to these could not be graded by a computer they were not recorded. Now the “Pgessaymacros.pl” macro provides the ability to record these answers and present them to the instructor for manual grading. Follow the jump to see a demonstration of essay answers in action.
Suppose we would like to implement the problem:
Normally we could put the second question in the text of the problem, but we could not expect an answer. However, the following PG code will provide a place for students to submit their interpretations of the slope and y-interceptThe cost to download data using your phone is a linear function of the amount of data downloaded. Suppose it costs $10 to download 1 gigabyte and $12 to download 2 gigabytes. Find a formula for the cost C in terms of the amount downloaded D. What do the slope and y-intercept of this function represent?
DOCUMENT();
loadMacros("PG.pl","PGbasicmacros.pl","PGanswermacros.pl","MathObjects.pl");
#Load the Essay Macros
loadMacros("PGessaymacros.pl");
$m = random(2,5);
$b = random(20,30);
Context("Numeric");
Context()->variables->add(D => 'Real');
$F = Formula("$m D + $b");
$y1 = $F->eval(D=>1);
$y2 = $F->eval(D=>2);
BEGIN_TEXT
The cost to download data using your phone is a linear function of the amount of data downloaded. Suppose it costs $y1 dollars to download 1 gigabyte of data and $y2 dollars to download 2 gigabytes of data.
$PAR
Find a formula for the cost C in terms of the amount downloaded D. $BR
C=\{ans_rule()\}
$PAR
What do the slope and y-intercept of this function represent? $BR
\{#Put an Essay Box where ever you want a essay type answer\}
\{essay_box()\}
END_TEXT
ANS($F->cmp());
#Essay Boxs use the essay_cmp evaluator.
ANS(essay_cmp());
ENDDOCUMENT();If we render this problem and submit an answer we get the following. Notice that the problem is providing a text area for us to input our interpretation. Once we hit submit the text response is saved and we get message saying that this portion of the problem will need to be graded at a later time. The problem informs us that all of our answers are correct, but if we were to look at the status we would only have 50%. Also, notice that the answer preview does render some Latex correctly. (Its a bit finicky though...)
After students have answered the essay question a “Needs Grading” link will appear on the instructor's statistics page for the homework set which contains this question. Because the link only appears when there are new answers, and because professor answers are not saved to the answer database by default, the link will only appear after a student submits an answer. After clicking on the grading link you will be presented with a page that contains the following.
Normally there would be many more students listed here, but this gives you the basic idea. Notice that the professor doesn't have any answers recorded. If we look at the student's answer we can see that they got the formula part of the question correct (because of the green text) and their score is currently at 50 percent. The Latex content from the essay response is formatted correctly (again this feature is a bit fragile). After reading their response we can choose to set the student's score to any value using the drop box, or we can click the checkbox to mark the problem correct.
There is still some functionality left to be added to this feature. For example, there currently isn't any way to provide comments back to students and, as usual, there are bugs and glitches to track down. Once its finished, though, this feature should allow instructors who use WeBWorK to ask a wider variety of questions and get students to do more than just “find the right answer”.


No comments:
Post a Comment
Note: Only a member of this blog may post a comment.