WeBWorK Main Forum

permission level and "check answers" button

permission level and "check answers" button

by Benjamin Turner -
Number of replies: 4
I would like to give students the "check answers" button in WebWork
(like the button that the instructor has, before the assignment is closed).
This would make Webwork easier to use and less frustrating for my students.
(The alternative would be to stop assigning multi-part questions, for which
the quality of the feedback is poor - it does not indicate specifically
which parts are incorrect.)

I found that students can get this button at "perm. level" 5. The problem
is that they also can view other students' progress data, plus their ID
numbers at that level (which I think runs more-or-less against our University
privacy policies, I think). Also, it gives the appearance that they can
change each other's passwords, etc. (but they really can't). "Perm.
level" 4, however, is not a problem.

I wonder what it would take to to grant the "check answers" power at
"Perm level" 4? Can a config file be edited, or must the source code be
modified? Any ideas?

In reply to Benjamin Turner

Re: permission level and "check answers" button

by Davide Cervone -
I would like to give students the "check answers" button in WebWork (like the button that the instructor has, before the assignment is closed).

I think that would be a mistake, and it would cause its own problems. This would tell students whether their answers are right or not before they submit them, and some students may fail to get credit for the problem because they checked it (and were told they were right) but didn't SUBMIT it. You're going to cause yourself a different kind of headache by doing this.

(The alternative would be to stop assigning multi-part questions, for which the quality of the feedback is poor - it does not indicate specifically which parts are incorrect.)

Most multi-part problems DO provide feedback on which parts are correct or incorrect. The problem file itself can control whether this is the case or not, however, and some problems do NOT tell which parts are correct, usually for good reason. For example, in a multiple TRUE/FALSE problem, if each part were marked correct or not, the student would essentially be given the answer. No understanding would be required, simply submit TRUE for everything and WeBWorK would tell you which ones should be FALSE. That usually is NOT the desired behavior.

Similarly, for a matching problem, you don't usually tell which parts are correct, because it is then easy to guess the right answers (simply put A for all answers, and it will tell you which one is right, then put B for the others, and so on).

This is why those types of problems don't provide additional feedback. I think it would be a mistake to override this behavior on a global scale.

If you have specific problems that you think should show the correct/incorrect indicators, but don't, then you can make a local copy of the problem and edit it. Set $showPartialCorrectAnswers = 1; within the problem. I think the default is 0, so it maybe that you are using badly designed problems that have not set this value when they should.

I found that students can get this button at "perm. level" 5

Permission level 5 is the TA level. You do NOT want to set students to this level, in general.

WeBWorK's permission system assigns each user a permission level, and each task a minimum required level. If you change a person's permission level, you change their ability to access ALL tasks, and by going to level 5, you will have authorized the students to do many actions you don't want (as you found out).

What you want to do is LOWER the minimum permission needed to see the "check" button. That would affect only that one action, You can see the various actions in the %permissionLevels hash in the global.conf configuration file. I think the one you want is check_answers_after_open_date_with_attempts.

The Course Configuration instructor tool allows you to set some permission levels, but unfortunately this isn't one of them. So to change this on a course-by-course basis, you would need to edit the course.conf file and add

   $permissionLevels{check_answers_after_open_date_with_attempts} = "student";
at the bottom in order to give students this ability (its default is "ta"). But I don't recommend it, as it's the wrong solution to the problem you are experiencing. Usually, explaining to the students why they don't get individual feedback for certain kinds of problems is sufficient, and badly designed problems should be fixed rather than disabling features of WeBWorK.

Davide

In reply to Davide Cervone

Re: permission level and "check answers" button

by Benjamin Turner -
Thank you, Davide, for such a thorough and thoughtful response!

Your advice to modify individual problems seems sound. Unfortunately, a substantial proportion of the multi-part problems (not multiple-choice) I have encountered are apparently "badly designed" in this way. These "badly designed" problems have no value for $showPartialCorrectAnswers.

Is there a way to set the default value of $showPartialCorrectAnswers to 1? Perhaps in course.conf?

Ben
In reply to Benjamin Turner

Re: permission level and "check answers" button

by Davide Cervone -
Is there a way to set the default value of $showPartialCorrectAnswers to 1? Perhaps in course.conf?
Yes, you can add
    $pg{specialPGEnvironmentVars}{showPartialCorrectAnswers} = 1;
to the bottom of course.conf (just before the final 1;, which should always be the last statement in the file). This will initialize it to 1, but the problem can still set it to 0, which is probably the behavior you want.

Are the problems you are using in one of the public libraries, or are they locally designed? If they are part of one of the public libraries, you should report the ones that are missing this value where you think it should be set to 1. If they are locally created, you should ask the authors to update them.

Davide

In reply to Davide Cervone

Re: permission level and "check answers" button

by Benjamin Turner -
Are the problems you are using in one of the public libraries, or are they locally designed? If they are part of one of the public libraries, you should report the ones that are missing this value where you think it should be set to 1. If they are locally created, you should ask the authors to update them.

They are part of the public libraries. I see that these issues can be reported to Bugzilla.

I added the line to course.conf, and this seems to do the trick.

Thanks again for your help! You completely resolved my issue.

Ben