Re: Displaying statistics for multiple choice problems
by Edward Sternin -Michael,
Could you explain how you did this? I am unable to find any way to extract "Past Answer"s for the class, in one place.
I can go student-by-student, and press "Past Answers" for each, which is ridiculous for a class of 300, but how do I extract the distribution of answers for the class?
My problem involved a poll, with a fixed order of (all correct) answers, like this:
DOCUMENT(); loadMacros("PGstandard.pl","MathObjects.pl","parserPopUp.pl","parserOneOf.pl","PGML.pl","PGcourse.pl"); TEXT(beginproblem()); $showPartialCorrectAnswers = 0; @choices = ("?","Windows laptop","MacOS laptop", "Chromebook","Linux laptop","Android tablet", "Windows desktop","MacOS desktop", "Linux desktop","Other"); $popup = PopUp([@choices], $choices[0]); # It doesn't matter which is used as the "correct answer". Context($popup->context); # use the pop-up's context (already has the choices as strings);
BEGIN_PGML We would like to know what kind of platforms are students using to participate in this online course, so that we can tailor our support requirements better. Please help us by indicating below the kind of device that will be your primary platform this term. [@$popup->menu@]* END_PGML ANS(OneOf(@choices[1..9])->cmp()); ENDDOCUMENT();
Once you get to the past answers screen for any student, you can select any or all students (ctrl-click to select more than one, or shift-click to select a range) and any or all sets and problems. There is a button underneath to "Create CSV" of your selection.
As an aside, I agree with Michael that the path to finding the Past Answers page is rather counterintuitive. It would be nice if there was a direct link to it.
Danny, thanks for your suggestion, but:
I cannot see what you say should be there... This is a
"Past Answers" page for one problem, for one student. There is no
way to select anything or anybody else here. I suppose I can type
another id, and refresh, which would be faster than clicking my
way back out and back into another user, but it's still a purely
manual process. I tried * as a widlcard, it did not produce a
valid selection, it treated it as a literal *.
Am I in a wrong place?
It seems the path is TRULY obscure.
What are your permissions for the course? Do you have professor permissions?
Is this your WW server?
https://webwork2.brocku.ca/webwork2
It identifies as version 2.8. The feature you are looking for was introduced in version 2.12. The current version is 2.15.
Yes!
Thanks, that explains it.
If I ask my admin to update the server, and migrate the course to it, I assume I will be able to extract this information even though the course was created under older version, right? I am assuming the database format dd not chage between versions.
Unfortunately there was a database change with respect to this. Prior to 2.12 past answers were stored in a text file, and they were migrated to a database table (well, duplicated since the text file still exists). Thus any answers submitted in a pre-2.12 version of WeBWorK won't show up in the database.
In your case the best you'll probably be able to do is to parse the answer_log file to try to get the data you need. You can download it from the File Manager by going up a level (via the caret to the left of the directory dropdown), then going to the logs directory. The format of the file is pretty self-explanatory.
I knew you could help me out here... THANKS, Danny, that's exactly what I was missing. Somehow I thought this database was internal and not available to me. If it's just a text file, I can parse anything!
And it removes the need for an emergency upgrade, they can take their time. Awesome!
Again, thanks very much!
P.S. And if anyone is interested, this is the way my online class accesses WeBWorK (I am now really curious about Other - Android?):
Windows desktop 37
Windows laptop 119
MacOS desktop 6
MacOS laptop 159
Chromebook 7
Linux 1
Other 6