Merge pull request #18695 from edx/mroytman/course-validation-default-grading-policy

mroytman/course validation default grading policy
This commit is contained in:
Michael Roytman
2018-08-02 12:53:20 -04:00
committed by GitHub
7 changed files with 100 additions and 46 deletions

View File

@@ -14,6 +14,44 @@ from pytz import utc
DEFAULT_START_DATE = datetime(2030, 1, 1, tzinfo=utc)
"""
Default grading policy for a course run.
"""
DEFAULT_GRADING_POLICY = {
"GRADER": [
{
"type": "Homework",
"short_label": "HW",
"min_count": 12,
"drop_count": 2,
"weight": 0.15,
},
{
"type": "Lab",
"min_count": 12,
"drop_count": 2,
"weight": 0.15,
},
{
"type": "Midterm Exam",
"short_label": "Midterm",
"min_count": 1,
"drop_count": 0,
"weight": 0.3,
},
{
"type": "Final Exam",
"short_label": "Final",
"min_count": 1,
"drop_count": 0,
"weight": 0.4,
}
],
"GRADE_CUTOFFS": {
"Pass": 0.5,
},
}
def clean_course_key(course_key, padding_char):
"""

View File

@@ -20,7 +20,7 @@ from six import text_type
from xblock.fields import Scope, List, String, Dict, Boolean, Integer, Float
from xmodule import course_metadata_utils
from xmodule.course_metadata_utils import DEFAULT_START_DATE
from xmodule.course_metadata_utils import DEFAULT_START_DATE, DEFAULT_GRADING_POLICY
from xmodule.graders import grader_from_conf
from xmodule.seq_module import SequenceDescriptor, SequenceModule
from xmodule.tabs import CourseTabList, InvalidTabsException
@@ -229,40 +229,7 @@ class CourseFields(object):
)
grading_policy = Dict(
help=_("Grading policy definition for this class"),
default={
"GRADER": [
{
"type": "Homework",
"min_count": 12,
"drop_count": 2,
"short_label": "HW",
"weight": 0.15,
},
{
"type": "Lab",
"min_count": 12,
"drop_count": 2,
"weight": 0.15,
},
{
"type": "Midterm Exam",
"short_label": "Midterm",
"min_count": 1,
"drop_count": 0,
"weight": 0.3,
},
{
"type": "Final Exam",
"short_label": "Final",
"min_count": 1,
"drop_count": 0,
"weight": 0.4,
}
],
"GRADE_CUTOFFS": {
"Pass": 0.5,
},
},
default=DEFAULT_GRADING_POLICY,
scope=Scope.content
)
show_calculator = Boolean(