jupyter / nbgrader

A system for assigning and grading notebooks
https://nbgrader.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
1.3k stars 317 forks source link

Show Deadlines in Assignment List #1909

Open AlirezaT99 opened 3 months ago

AlirezaT99 commented 3 months ago

In this PR, we introduce a workaround for storing and displaying deadlines to students, which fixes #943.

Currently, the due date is stored in the Gradebook and inaccessible in the student's view. To tackle this issue, we store the deadlines in a file in the exchange (fs-based) at a configured path as well. This allows us to display the deadlines in a new column within the AssignmentList. The solution respects the existing configurations for time zones and group sharing.

new-assignment-list-look

Moreover, the Submit button now triggers a dialog that asks for confirmation in the case of a late submission.

late-submission-warning-dialog

Note that the deadline file manipulation is attached to API so it will only be set for assignments created/editted after the upgrade. Assignments released before the update won't have deadline files made, and won't be shown to the users (which is fixed by simply pressing the edit button with no changes for each).

According to the feedback received from instructors who use nbgrader, this will enhance the assignment submission and collection processes, and reduce the need for manual intervention.

github-actions[bot] commented 3 months ago

Binder :point_left: Launch a Binder on branch AaltoSciComp/nbgrader/feature/deadline

lahwaacz commented 3 months ago

@AlirezaT99 Thanks for working on this! :tada: It looks good to me.