autolab / Autolab

Course management service that enables auto-graded programming assignments.
http://www.autolabproject.com/
Apache License 2.0
741 stars 209 forks source link

Allow configure maximum late submission penalty #2151

Open seekstar opened 2 months ago

seekstar commented 2 months ago

Currently, the penalty for late submissions can reduce the score to zero. However, I want to limit the maximum penalty to 40% so that students can still get 60% of the full marks as long as they complete the assignment at last.

jhs-panda commented 2 months ago

Hi! Thanks for the feature request, we'll look into it! In the meantime, if you would like to limit the maximum penalty, the workaround is to manually adjust students' scores.

In the gradesheet for an assignment, clicking on a student's email and submission history will lead you to their handin history. Clicking Edit under "Instructor Actions" and entering a Tweak number of points or percentage will allow you to increment their score by the tweaked amount.

Screen Shot 2024-04-26 at 10 53 31 PM Screen Shot 2024-04-26 at 10 55 52 PM Screen Shot 2024-04-26 at 10 56 16 PM

Sorry for the inconvenience!

jhs-panda commented 2 months ago

Currently, in submission.rb, the apply_late_penalty and apply_version_penalty functions set the score with penalty if it exists. During the calculation, it ensures that the final score is nonnegative.

Screen Shot 2024-04-27 at 1 05 55 AM

To implement the feature, we can consider adding a setting that allows the user to set a maximum penalty (0 by default) and pass that variable into the max() function instead of the current value of 0.