- edited description
Fair graders assignment
Currently, grader assignment is done with this magnificent piece of code:
gs = []
for (weight, grader) in weights:
gs.extend(weight * [grader])
choice = random.choice(gs)
grader = Grader.get(choice)
That is, it is random (but supposedly obeys the distribution of graders workload). Therefore it is possible to end up with an slightly unfair distribution of assignments, e.g. 20 submissions can be assigned as 12 to one grader and 8 to another, even though their distribution in 50%/50%.
It's not hard to make graders assignment deterministic and fair, so it should be done.
Comments (5)
-
reporter -
reporter A thing to remember for the implementation: "unsubmitted" submissions are the ones that are automatically assigned with a grader. Currently they might never be submitted at all if the student changes the group and that can skew the distribution of graders.
-
Would it be okey to only assign a grader when submissions are actually submitted? Or is it important that there is a grader assigned even to unsubmitted submissions in other parts of the system?
-
reporter It is not important for any significant reason. You can see the grader of an unsubmitted submission on the "Administration" tab, but I doubt that anybody ever looks there.
In the future (hopefully near one) the concept of an "unsubmitted" submission will be removed.
In the meantime, grader assignments of unsubmitted submissions should probably never be accounted when deciding whom to assign to.
-
reporter - changed status to resolved
Merged in bvd/fire-fork/graderWeight (pull request #4), fixes
#39Assigning new assignments to graders now takes weight better into account
→ <<cset b43c43ff732b>>
- Log in to comment