Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check validity of exercise points after admitting deadline deviation or extra attempts #892

Open
PasiSa opened this issue Oct 27, 2021 · 11 comments · May be fixed by #1029
Open

Check validity of exercise points after admitting deadline deviation or extra attempts #892

PasiSa opened this issue Oct 27, 2021 · 11 comments · May be fixed by #1029
Labels
area: points/grade Includes points and grader per user and for all effort: days Estimated to take less than one week, from the creation of a new branch to the merging experience: beginner required knowledge estimate requester: CS The issue is raised internally by a CS teacher
Milestone

Comments

@PasiSa
Copy link
Contributor

PasiSa commented Oct 27, 2021

When student is admitted deadline extension, the exercise points for already submitted tasks should be checked and updated automatically. Currently this requires manual clicking.

Also, if student is given extra attempts, exercise points should be checked for submissions that exceeded the previous limit.

@PasiSa PasiSa added effort: hours Estimated to take less than one day, from the creation of a new branch to the merging experience: beginner required knowledge estimate requester: CS The issue is raised internally by a CS teacher area: points/grade Includes points and grader per user and for all requires: priority Currently using this label to flag issues that need EDIT decision ASAP (even if there was priority) labels Oct 27, 2021
@PasiSa PasiSa changed the title Check validity of exercise points after admitting deadline deviation Check validity of exercise points after admitting deadline deviation or extra attempts Oct 30, 2021
@PasiSa
Copy link
Contributor Author

PasiSa commented Nov 4, 2021

Did some editing and moved modification problem into separate issue #902

@PasiSa
Copy link
Contributor Author

PasiSa commented Nov 4, 2021

It was noted in a meeting today, that re-adjusting points, e.g. removal of late penalties, can be done without needing to rerun the grading process.

@PasiSa PasiSa added this to the Release v1.12 milestone Nov 8, 2021
@PasiSa
Copy link
Contributor Author

PasiSa commented Nov 8, 2021

Issue 694 in EDIT Jira

@markkuriekkinen
Copy link
Member

markkuriekkinen commented Nov 9, 2021

It was noted in a meeting today, that re-adjusting points, e.g. removal of late penalties, can be done without needing to rerun the grading process.

Do you mean that this already can be done in the system or that this is another idea for the future implementation? I don't think we currently have a well-automated feature for this use case. It is possible to manually assess submissions or manually send them to auto-regrading, but that is too time-consuming for the teacher.

The idea was that if the student has already made submissions, but they did not get points either due to the late penalty (requires that late submissions are allowed) or becoming an unofficial submission (requires that unofficial submissions are enabled in the category), then either

  1. teacher adds a deadline deviation and A+ should then recognize automatically that the affected submissions must be regraded, OR
  2. teachers presses a new button "accept late points for this student" and A+ automatically removes late penalties from the affected submissions and converts them to normal, official submissions.

I like 2) because:

  • the submission has already been graded and sending it to auto-regrading is unnecessary
  • A+ already knows the potentially existing late penalty or the unofficial submission status
  • teacher does not need to add any new deadline deviations: deviations are intended for the use case when the student needs to make new submissions, but now the submissions already exist and the student is not supposed to make new submissions
  • the new button could do this for all submissions in the whole module (exercise round) at once

@PasiSa
Copy link
Contributor Author

PasiSa commented Nov 9, 2021

The idea was that if the student has already made submissions, but they did not get points either due to the late penalty (requires that late submissions are allowed) or becoming an unofficial submission (requires that unofficial submissions are enabled in the category), then either

  1. teacher adds a deadline deviation and A+ should then recognize automatically that the affected submissions must be regraded, OR
  2. teachers presses a new button "accept late points for this student" and A+ automatically removes late penalties from the affected submissions and converts them to normal, official submissions.

I like 2) because:

With poor phrasing I think I intended to mean the same as (2)

@markkuriekkinen
Copy link
Member

Relevant comment from the duplicate issue: #482 (comment)

The old discussion copied to the issue description mentions personal deadline extensions, but on the other hand, it seems unnecessary to create any deadline extensions when the submission already exists in the database. Deadline extensions should only be used when we want the student to submit again after the deadline.

Another idea:

  • There is a button in the inspect submission page for accepting late or unofficial submissions as "normal submissions".

  • The button is available to teachers and if the exercise allows assistant grading, then also to assistants.

  • The submission record in the database contains the original points set by the grading service as well as the service max points. Verify this first so that I remember this correctly. If this is the case, then we should be able to set the points again in A+ without sending the submission again to the service for regrading.

  • When the button is pressed, A+ could set the points based on the original service points again without any late penalties. Unofficial submissions would be set to the "ready" status. The service points may use a different maximum, hence they must be scaled again to the A+ max points.

  • Ensure that the related points caches are updated or invalidated when the submissions points are changed.

@markkuriekkinen
Copy link
Member

Juha confirmed that he likes option (2). Juha emphasized the following needs.

It should be possible to convert a student's late submissions to graded submissions (i) for a whole module at once, and (ii) for individual assignments.

The teacher makes this operation for a single student at a time. It is not necessary to select multiple students at once.

The teacher's UI: the teacher should be able to access this feature in the course participant page (one student's view when you click a single student in the course participants list) AND in the inspect submission page (which shows a single submission, but the feature would still affect the student's all submissions in that assignment).

@markkuriekkinen markkuriekkinen removed this from the Release v1.12 milestone Jan 17, 2022
@PasiSa PasiSa modified the milestones: v1.13, v1.14 Jan 27, 2022
@markkuriekkinen
Copy link
Member

Notes from a meeting with teachers on 23.2.2022.
For your information, @muhammadfaiz12

Included in the first pull request

Inspect view:

  • add a confirmation dialog to the conversion button
  • the dialog should have options for controlling the conversion:
    • include only (1) this submission, (2) all submissions for this student in this assignment, or (3) all submissions for this student in this course module
    • include (i) both late and unofficial submissions, (ii) only late submissions, or (iii) only unofficial submissions
  • terminology: "convert" is not the right word in the user interface.
    • Accept late submissions?
    • what about unofficial submissions?
    • might be best that the source code also avoids the word "convert" since we are not using it in the user interface
  • Another idea to be considered in the UI: in the inspect view, the late penalty label (in the compact submissions table) could be turned into a convert button.

Included in the second pull request

In the add deviations feature:

  • adding new deviations may run the conversion for existing submissions that are covered by the deviation
    • note: take into account both deadline and max submission attempt deviations
    • For example, the student is given a deadline deviation. Existing late submissions made in the extended deadline period are immediately converted to normal graded submissions.
    • For example, the student is given a max submission attempt deviation. An existing unofficial submission that is included in the new personal max submissions limit is immediately converted to a normal graded submission.
    • should there be an option to not run the conversion? Is the conversion always wanted?

Ideas that should be considered in the end

Undo feature:

  • The teacher may undo the late/unofficial submission conversion. The submissions that were affected are converted back to the original state.
  • no time limit on when the undo may be run (e.g., the teacher notices a mistake only several days later and wants to undo)

@PasiSa
Copy link
Contributor Author

PasiSa commented Feb 24, 2022

I assume "first pull request" above means revised version of #991 , second and possibly third will be separate PRs.

@markkuriekkinen
Copy link
Member

I assume "first pull request" above means revised version of #991 , second and possibly third will be separate PRs.

Yes, that is what I meant.

@annirytkonen annirytkonen removed the requires: priority Currently using this label to flag issues that need EDIT decision ASAP (even if there was priority) label Apr 7, 2022
@markkuriekkinen markkuriekkinen added effort: days Estimated to take less than one week, from the creation of a new branch to the merging and removed effort: hours Estimated to take less than one day, from the creation of a new branch to the merging labels Apr 8, 2022
markkuriekkinen added a commit to markkuriekkinen/a-plus that referenced this issue May 6, 2022
Course staff may approve late and/or unofficial submissions so that
any point penalties are removed from those submissions and
they become normal, graded submissions (with the "ready" status).

Single submissions may be approved or all submissions from
one student in one assignment or one whole course module.
The whole assignment or module approval may also be set to target
only late submissions or only unofficial submissions.

The user interface for this feature is visible in the inspect
submission view when inspecting a late or unofficial submission.

Part of apluslms#892.
"The first pull request" in the comment:
apluslms#892 (comment)

Co-authored-by: Muhammad Wahjoe <faiz00.muhammad@gmail.com>
markkuriekkinen added a commit to markkuriekkinen/a-plus that referenced this issue May 6, 2022
Fixes apluslms#892.
"The second pull request" in the comment:
apluslms#892 (comment)

Co-authored-by: Muhammad Wahjoe <faiz00.muhammad@gmail.com>
markkuriekkinen added a commit to markkuriekkinen/a-plus that referenced this issue May 6, 2022
Course staff may approve late and/or unofficial submissions so that
any point penalties are removed from those submissions and
they become normal, graded submissions (with the "ready" status).

Single submissions may be approved or all submissions from
one student in one assignment or one whole course module.
The whole assignment or module approval may also be set to target
only late submissions or only unofficial submissions.

The user interface for this feature is visible in the inspect
submission view when inspecting a late or unofficial submission.

Part of apluslms#892.
"The first pull request" in the comment:
apluslms#892 (comment)

This work started in Muhammad's pull request apluslms#991. Markku has
refactored the code, improved the database queries and the details
overall.

Co-authored-by: Muhammad Wahjoe <faiz00.muhammad@gmail.com>
markkuriekkinen added a commit to markkuriekkinen/a-plus that referenced this issue May 6, 2022
Fixes apluslms#892.
"The second pull request" in the comment:
apluslms#892 (comment)

Co-authored-by: Muhammad Wahjoe <faiz00.muhammad@gmail.com>
markkuriekkinen added a commit to markkuriekkinen/a-plus that referenced this issue May 6, 2022
Course staff may approve late and/or unofficial submissions so that
any point penalties are removed from those submissions and
they become normal, graded submissions (with the "ready" status).

Single submissions may be approved or all submissions from
one student in one assignment or one whole course module.
The whole assignment or module approval may also be set to target
only late submissions or only unofficial submissions.

The user interface for this feature is visible in the inspect
submission view when inspecting a late or unofficial submission.

Part of apluslms#892.
"The first pull request" in the comment:
apluslms#892 (comment)

This work started in Muhammad's pull request apluslms#991. Markku has
refactored the code, improved the database queries and the details
overall.

Co-authored-by: Muhammad Wahjoe <faiz00.muhammad@gmail.com>
markkuriekkinen added a commit to markkuriekkinen/a-plus that referenced this issue May 6, 2022
Fixes apluslms#892.
"The second pull request" in the comment:
apluslms#892 (comment)

Co-authored-by: Muhammad Wahjoe <faiz00.muhammad@gmail.com>
markkuriekkinen added a commit that referenced this issue May 6, 2022
Course staff may approve late and/or unofficial submissions so that
any point penalties are removed from those submissions and
they become normal, graded submissions (with the "ready" status).

Single submissions may be approved or all submissions from
one student in one assignment or one whole course module.
The whole assignment or module approval may also be set to target
only late submissions or only unofficial submissions.

The user interface for this feature is visible in the inspect
submission view when inspecting a late or unofficial submission.

Part of #892.
"The first pull request" in the comment:
#892 (comment)

This work started in Muhammad's pull request #991. Markku has
refactored the code, improved the database queries and the details
overall.

Co-authored-by: Muhammad Wahjoe <faiz00.muhammad@gmail.com>
markkuriekkinen added a commit to markkuriekkinen/a-plus that referenced this issue May 6, 2022
TODO:
* +1 max submissions deviation button in the inspect submission view:
  should this also check if any submission should be approved
  immediately?
* test all the changes
* deviations/viewbase.py approve_unofficial_submissions():
  implementation unfinished
* clean up the code
* success messages to the user in the user interface?

When deviations are added, the teacher may choose to also immediately
approve such existing submissions that are covered by the deviation.
For example, if the submission was late, but with the new personal
deadline it is not late, then it would be approved.

Fixes apluslms#892.
"The second pull request" in the comment:
apluslms#892 (comment)

This work started in Muhammad's pull request apluslms#991. Markku has
refactored the code, improved the database queries and the details
overall.

Co-authored-by: Muhammad Wahjoe <faiz00.muhammad@gmail.com>
@markkuriekkinen markkuriekkinen linked a pull request May 6, 2022 that will close this issue
18 tasks
@markkuriekkinen
Copy link
Member

The merged commit 7c65106 implements the basic submission approval in the inspect view: a single submission or all submissions in one assignment or module.

Approving when adding deviations is part of the unfinished draft pull request #1029.

The pull request #991 was closed because it had too many issues.

@annirytkonen annirytkonen modified the milestones: v1.14, v1.15 May 23, 2022
@PasiSa PasiSa modified the milestones: v1.15, v1.16 May 23, 2022
@PasiSa PasiSa modified the milestones: v1.16, v1.17 Aug 9, 2022
@PasiSa PasiSa modified the milestones: v1.17, v1.18 Oct 4, 2022
murhum1 pushed a commit to murhum1/a-plus that referenced this issue Nov 30, 2022
Course staff may approve late and/or unofficial submissions so that
any point penalties are removed from those submissions and
they become normal, graded submissions (with the "ready" status).

Single submissions may be approved or all submissions from
one student in one assignment or one whole course module.
The whole assignment or module approval may also be set to target
only late submissions or only unofficial submissions.

The user interface for this feature is visible in the inspect
submission view when inspecting a late or unofficial submission.

Part of apluslms#892.
"The first pull request" in the comment:
apluslms#892 (comment)

This work started in Muhammad's pull request apluslms#991. Markku has
refactored the code, improved the database queries and the details
overall.

Co-authored-by: Muhammad Wahjoe <faiz00.muhammad@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: points/grade Includes points and grader per user and for all effort: days Estimated to take less than one week, from the creation of a new branch to the merging experience: beginner required knowledge estimate requester: CS The issue is raised internally by a CS teacher
Projects
Status: Todo
Status: In Progress
Status: Under review
Status: Under review
4 participants