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

late grade policy implementation #31

Closed
lwasser opened this issue Dec 11, 2018 · 2 comments
Closed

late grade policy implementation #31

lwasser opened this issue Dec 11, 2018 · 2 comments

Comments

@lwasser
Copy link

lwasser commented Dec 11, 2018

Implement a way to assign grades using a late grade policy implemented via the config. This could be built as follows:

  1. implement the policy via config.yml: 24hours late, 10% dock, 48 hours late, 20% dock
  2. Add a yaml exception for students who need an extension like
- lwasser
     due: 2018-10-15

NOTE: I could see an issue where a student submits something (maybe even something they don't want graded) after the deadline. Do need a way to flag whether to grade a student using the commits that are AFTER the deadline or not?


via email we discussed

Can we modify the deadline for a student if need be via a yaml file?
Could we apply penalties to late assignments – like

-   10% off after if submitted within 0- 24 hrs of deadline
- 20% 24-48, etc?

Penalties like this should be straightforward.

For per student things I'd go with handling it via command-line
arguments. So you'd run `nbgrade --student betatim --penalty 0
-assignment week1` to grade betatim's work for the week1 assignment
without any penalty. My impression is that handling individua cases
like this will be the exception and that each case will require some
different combo of penalty, assignment, student etc.

This is how I see the trade-off: Being able to specify things on the
command-line gives you full flexibility, but also means you have to
type it out each time. Configuring via the config file means easier to
repeat but more limited because we have to design what kinds of
modifications are possible up front. What do you think?

I could imagine this part happening at the command line and would involve a yaml file with individual student deadlines (only for exceptions, otherwise all would be the same) I might have 1-3 exceptions for any given assignment on average. Often less.
@betatim
Copy link
Collaborator

betatim commented Dec 16, 2018

Thinking out loud and trying some things. We want to specify how much is deducted when you are late and specify exceptions from that rule for some students.

A proposal for a section to add to the config.yml that lists what penalty to apply after how many hours:

# specify the number of hours and the penalty after those hours
penalties:
  # 24h late -> 10% penalty
  24: 10%
  # 48h late -> 20% penalty
  48: 20%

To specify exceptions for a student I'd list them as part of the assignment:

assignments:
  week1:
    release: 2018-10-09
    deadline: 2018-10-11
    exceptions:
      lwasser:
        deadline: 2018-10-13 # two days grace
      betatim:
        deadline: 2018-10-14 # three days grace
  week2:
    release: 2018-11-11
    deadline: 2018-11-13
    # no students get any grace period for this assignment

Our plan was to select the last commit before the deadline as the one to grade. With the introduction of penalties and grade periods I am now not sure anymore what we should do. In an ideal fantasy land we could run the grader several times. Once for each of: original deadline, 24h penalty, 48h penalty. For each we pick the commit just before the grading period ends and then assign the student the highest grade of all the possible one. This means we'd end up grading each submission three times.

What other options do we have?

@lwasser
Copy link
Author

lwasser commented Nov 22, 2021

closing this as well as we've moved away from the grading component and are focusing on github classroom management! we can always reopen

@lwasser lwasser closed this as completed Nov 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants