backend icon indicating copy to clipboard operation
backend copied to clipboard

Assigning XP to a student for a contest without a submission entry

Open jiachen247 opened this issue 6 years ago • 2 comments

Currently, contents assessments are treated differently and not run against the autograder! This is causing issues cause we cant assign XP to students who didn't attempt/submit the assessment of as resulting a submission not being created!

This seems to be a recurring problem every year! Let's fix it!

https://github.com/source-academy/cadet/blob/master/lib/cadet/jobs/autograder/utilities.ex#L41

I'm guessing the intent behind this was

  1. few people do the contests
  2. its almost impossible to programmatically grade the contests

Regarding pt1 -> the same can be said about quests but I guess even fewer will do the contests.

I suggest we remove the clause but that means we will waste lambda invocation and a shitload of unnecessary submissions opps :man_facepalming:

@geshuming what do you thinks!

jiachen247 avatar Oct 18 '19 14:10 jiachen247

we will waste lambda invocation

Could just move the filter to before here.

angelsl avatar Oct 19 '19 10:10 angelsl

After discussion with the team, I think the cleanest way to move forward with this would be to write a mix task that takes in a mission id and a csv

The csv would contain the student number, mission id and xp to assign. It would look something like

e0000000, 1, 1000
e0000000, 1, 2000
e0000000, 1, 3000
...

The task would go line by line assigning the xp to the submission creating a submission if one is not found.

In addition, it will also go beyond and solve a bigger problem helping us to streamline mass updates for contests (a problem we seem to face every year)!

Do let me know if anyone has any issues or concerns :-)

jiachen247 avatar Oct 20 '19 09:10 jiachen247