WeBWorK Main Forum

Changing problem weights after set closes

Changing problem weights after set closes

by Sean Fitzpatrick -
Number of replies: 10
One of the instructors in our department had originally assigned higher weights to some of the problems in a homework set, and then changed her mind and set all weights back to 1 after the closing date. (The problems with higher weight were more challenging and grades were low...)

We're trying to figure out what is going on with the scoring. Originally, the weights added up to 24, and after the change, the total weight was 14. When we look at the scoring totals, the "out of" portion of the grade varies by student, from 14 to as high as 22. (e.g there are grades like 9/14, 14/14, 15/18, 19/20, etc. in the same set.)

Is there some algorithm going on that tries to ensure students aren't penalized by the change in weighting?
In reply to Sean Fitzpatrick

Re: Changing problem weights after set closes

by Danny Glin -
There is definitely not such an algorithm, as WeBWorK doesn't save the old weights.

One way that this could happen is if the default weight values have been overridden for individual students (the same way that you can change a student's score or number of attempts on a question, you can also change the weight). This would explain why changing the weight wouldn't take for some students, and also why the totals are different, as the values can be overridden question-by-question.

If you have access to the database, check that the entries in the "value" column of the [coursename]_problem_user are NULL. If there is a number there for a given problem and user, then WeBWorK will use this to override what is set for the whole class. This should only happen if an instructor edited homework settings for individual students.

If this is the cause, then a workaround for this set would be to set the override values for all students. This can be done efficiently from the Instructor Tools page by highlighting all students and the desired homework set, then clicking "Edit one set for users". In general this is a bad idea, because whatever values you set this way won't show in the homework sets editor.


In reply to Danny Glin

Re: Changing problem weights after set closes

by Sean Fitzpatrick -
Thanks for the suggestions.
This is a class of over 200 with at least a third showing different maximum point totals.
I'll check with the instructor to see if she did something unusual but I have to assume she set the weights using the homework set editor given the size of the class.

The behaviour I'd expect in this scenario is that the new weights would be multiplied by the status for each question and student.

I'm the admin for the server so I can try looking at the database (although I admit I've never actually touched the database in the past).
In reply to Sean Fitzpatrick

Re: Changing problem weights after set closes

by Andras Balogh -
I seem to remember that some achievement items can be also used by students to increase their grade on homework sets.
In reply to Andras Balogh

Re: Changing problem weights after set closes

by Sean Fitzpatrick -
Achievements aren't enabled for any of our courses.
Looking at things more closely, some students have user values for some of the weights that are higher than the class values.

I'll have to find out exactly what this instructor did to change the weights. I really don't think she would have set weights individually for 200 students, but something must have been done to set these user values.
In reply to Sean Fitzpatrick

Re: Changing problem weights after set closes

by Danny Glin -
Based on a quick test this is exactly what happens for me (sum of current weight multiplied by status).

What you described makes me think that the weights have been overridden for some students. There was a bug that caused overrides to be stored when students viewed the Grades page, but I believe it was fixed long ago.
In reply to Danny Glin

Re: Changing problem weights after set closes

by Sean Fitzpatrick -
We're running 2.13, so if the bug was fixed, we shouldn't be seeing it.
I checked with the instructor, and she didn't do anything out of the ordinary: she changed the weights using the Homework Sets Editor, and at no point did she edit data for individual students.

In spite of that, something is causing the old weights to be retained as user values for a subset of the class (maybe 20% of the total). It does not seem to depend on whether or not they did the problem, so some other action (like viewing the grades page, perhaps?) must have caused it.
In reply to Sean Fitzpatrick

Re: Changing problem weights after set closes

by Danny Glin -
I just checked a couple of our big courses here, and I'm not seeing anything like this. On my server the only time weights are being stored for individual students is for versions of gateway quizzes, which is the expected behaviour.

A quick look through the code shows that the Show Me Another feature messes with student problem records. Do you have that enabled? If so, then this might be the culprit.
In reply to Danny Glin

Re: Changing problem weights after set closes

by Sean Fitzpatrick -
Show Me Another is not enabled, but periodic re-randomization is. The higher weight problems were ones with a lot of attempts, so maybe this could do it?
This instructor was confident she could make something go wrong; I guess she was right!

As far as I can tell, few, if any, students are disadvantaged by this, so we might just ignore this if it doesn't happen again.
In reply to Sean Fitzpatrick

Re: Changing problem weights after set closes

by Danny Glin -
I could see how this could be caused by periodic re-randomization, since PR has to write to the database when it changes the seed.

If this is the case, then you will see the same behaviour any time someone re-randomizes a question. Of course this will only become a problem if you want to change a global value after students have re-randomized problems.
In reply to Danny Glin

Re: Changing problem weights after set closes

by Sean Fitzpatrick -
OK, thanks! At least now we have an answer to the "what went wrong?" question.
This was a case of an instructor assigning higher weight to a question that required more work (finding roots of a complex number), and then realizing that this was a bad idea due to the low success rate (since this was in an introductory linear algebra course with a sizable cohort of management students...)

By the time she changed the weights, some students were already on attempt 30 or 40!