-
Notifications
You must be signed in to change notification settings - Fork 126
Closed
Description
I recently changed my class' grading structure to allow for early completion of assignments.
The desired behavior is for students to be able to start an assignment early (tag early) for full credit; after the official release date they can continue to complete it under regular rules. I am using the roll_over setting to handle access before the official release date so that they can continue to work.
Some students at least are reporting that after the official release (regular tag) they are no longer able to work on early sessions.
Can you tell me if these rules are wrong for this use case?
{# {{{ lesson submission header #}
{% macro lesson_header(nr, title="", release_offset=-2, due_offset=7, due_late_days=0) %}
title: "{{title}} lesson {{"{0}".format(nr).rjust(2)}}"
description: |
# {{title}} lesson {{"{0}".format(nr).rjust(2)}}
rules:
tags:
- regular
- approved
- notforcredit
- early
- late
start:
-
if_has_role: [instructor, ta, course_aide]
may_start_new_session: True
may_list_existing_sessions: True
tag_session: notforcredit
-
if_before: lesson {{nr}} - {{release_offset}} days @ 00:00
if_has_role: [student]
if_has_fewer_sessions_than: 1
may_start_new_session: True
may_list_existing_sessions: True
default_expiration_mode: roll_over
tag_session: early
-
if_after: lesson {{nr}} - {{release_offset}} days @ 00:00
if_before: lesson {{nr}} + {{due_offset}} days @ 23:59
if_has_role: [student]
if_has_fewer_sessions_than: 1
may_start_new_session: True
may_list_existing_sessions: True
default_expiration_mode: roll_over
tag_session: regular
-
if_after: lesson {{nr}} + {{due_offset}} days @ 23:59
if_before: lesson {{nr}} + {{due_offset+due_late_days}} days @ 23:59
if_has_role: [student]
if_has_fewer_sessions_than: 2
may_start_new_session: True
may_list_existing_sessions: True
default_expiration_mode: roll_over
tag_session: late
-
if_after: lesson {{nr}} + {{due_offset+due_late_days}} days @ 23:59
if_before: course_end @ 23:59
if_has_role: [student]
if_has_fewer_sessions_than: 3
may_start_new_session: True
may_list_existing_sessions: True
default_expiration_mode: end
tag_session: notforcredit
-
may_start_new_session: False
may_list_existing_sessions: True
access:
# Instructor view
-
if_has_role: [instructor, ta, course_aide]
permissions: [view, submit_answer, change_answer, see_answer_before_submission, end_session, see_correctness]
# Unenrolled view
-
if_has_role: [unenrolled]
message: |
You do not seem to be enrolled in the course website, which is why
you cannot make changes below. Please verify that you are signed in,
and then return to the class web page and find the big blue "Enroll"
button near the top.
permissions: [view]
# Unfinished full-credit session marked 'roll_over' before due date.
-
if_has_tag: early
if_in_progress: True
if_expiration_mode: roll_over
message: |
You have started an early session. It will roll over to a regular
session when the official lesson release date happens.
permissions: [view, submit_answer, end_session, see_correctness, change_answer, set_roll_over_expiration_mode]
# Unfinished full-credit session marked 'end' after due date.
-
if_has_tag: regular
if_in_progress: True
if_after: lesson {{nr}} - {{release_offset}} days @ 00:00
if_expiration_mode: end
message: |
The due date has passed. If you have marked your session to end at the
deadline, it will receive full credit, but it will end automatically
fairly soon. If you would like to continue working, please mark your
session to roll over into 50% credit by selecting 'Keep session and
apply new rules'.
permissions: [view, submit_answer, end_session, see_correctness, change_answer, set_roll_over_expiration_mode]
# Unfinished full-credit session marked 'roll_over' before due date.
-
if_has_tag: regular
if_in_progress: True
if_expiration_mode: roll_over
message: |
You have marked your session to roll over to 50% credit at the due
date. If you would like to have your current answers graded as-is
(and receive full credit for them), please select 'End session
and grade'.
permissions: [view, submit_answer, end_session, see_correctness, change_answer, set_roll_over_expiration_mode]
# Finished full-credit session before due date. Don't show answer.
-
if_has_tag: regular
if_after: lesson {{nr}} @ 00:00
if_before: lesson {{nr}} + {{due_offset}} days @ 23:59
permissions: [view, see_correctness]
# Practice session after due date.
-
if_has_tag: notforcredit
if_after: lesson {{nr}} + {{due_offset}} days @ 23:59
permissions: [view, submit_answer, see_correctness, change_answer, see_answer_after_submission]
# Any other fallback case.
-
permissions: [view, see_correctness]
grade_identifier: lesson{{"{0}".format(nr).zfill(2)}}
grade_aggregation_strategy: max_grade
grading:
# Full-credit deadlines
-
if_has_tag: early
description: "Full Credit (Early Start)"
due: lesson {{nr}} + {{due_offset}} days @ 23:59
generates_grade: True
credit_percent: 100
-
if_has_tag: regular
description: "Full Credit (Regular)"
due: lesson {{nr}} + {{due_offset}} days @ 23:59
generates_grade: True
credit_percent: 100
# Late deadline
-
if_has_tag: late
description: "50% Credit (Late Start)"
due: lesson {{nr}} + {{due_offset+due_late_days}} days @ 23:59
generates_grade: True
credit_percent: 50
# No-credit viewing
-
if_has_tag: notforcredit
description: "Study Only (No Credit Available)"
due: course_end @ 23:59
generates_grade: true
credit_percent: 0
# Approved late take
-
if_has_tag: approved
description: "Full Credit (Approved Exception)"
generates_grade: true
credit_percent: 100
-
credit_percent: 0
{% endmacro %}
{# }}} #}
They are invoked in a flow file as:
{{ lesson_header(0, title="lesson 00 computation/intro", release_offset=0, due_offset=16) }}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels