repobee / repobee-csvgrades

A plugin for RepoBee that parses the JSON file produced by list-issues to report grades into a CSV file
MIT License
0 stars 2 forks source link

Create digest of incomplete grades #13

Open rjglasse opened 4 years ago

rjglasse commented 4 years ago

If a teaching assistant has forgotten to mark a repo as Pass or Fail, it would be useful to generate a digest of which students and which repos need attention. For example:

If teaching assistant alice has passed (P) student bob for task-1, left task-2 marked for completion (C) and not graded task-3, and also passed carol for all tasks, as shown:

teacher username task-1 task-2 task-3
alice bob P C
alice carol P P P

...then when repobee report-grades --incomplete-digest is executed an optional text file could be produced that only includes the cases were there are incomplete grades:

alice
bob-task-2 graded as C
bob-task-3 with no grade

The course responsible teacher could then contact the teaching assistant and clearly indicate which student repos needed a second look.

Note, this probably depends upon #12 being implemented to make it easier to connect the teaching assistant grading any particular student.

slarse commented 4 years ago

This shouldn't be particularly difficult. The fact that C is an "incomplete" grade would however need to be reported by the user. It's possible that we want to amend the grade spec to allow a user to specify that a grade is an "incomplete" grade.

But perhaps this would be better served by a new command. Something like check-grades or analyze-grades. A few examples off the top of my head:

$ repobee check-grades --include-ungraded --include-grades C
bob-task-2: C
bob-task-3: UNGRADED

Perhaps producing a CSV file with the results would be best to incorporate the teacher/TA.

$ repobee check-grades --include-ungraded --include-grades C --output out.csv

Which then creates a CSV file like this:

teacher username ungraded C
alice bob "task-2" "task-3"

Just to give a better idea of what the CSV file would look like with more results, let's include P as well.

$ repobee check-grades --include-ungraded --incude-grades C P --output out.csv
teacher username ungraded C P
alice bob "task-2" "task-3" "task-1"
alice carol "task-1,task-2,task-3"

It's a very rough sketch, but something like that could be useful.