grading
Version:
Grading of student submissions, in particular programming tests.
124 lines • 4.47 kB
JSON
{
"$schema": "https://json-schema.org/draft-06/schema",
"$id": "https://prof.bht-berlin.de/pilgrim/schemas/correction.schema.json",
"$ref": "#/$defs/CorrectionSchema",
"$defs": {
"CorrectionSchema": {
"description": "Manual corrections of automatic grading.",
"type": "object",
"additionalProperties": false,
"required": [
"course",
"term",
"exam",
"corrections"
],
"properties": {
"course": {
"description": "Name of the course.",
"type": "string"
},
"term": {
"description": "Term, e.g. WS 2022",
"type": "string"
},
"exam": {
"description": "Name of the exam.",
"type": "string"
},
"corrections": {
"description": "List of corrections.",
"type": "array",
"items": {
"$ref": "#/$defs/StudentCorrection"
}
}
}
},
"StudentCorrection": {
"description": "Correction of the full exam or a single task for a single student.",
"type": "object",
"additionalProperties": false,
"required": [
"submissionID",
"userName"
],
"properties": {
"submissionID": {
"description": "ID of the submission.",
"type": "string"
},
"userName": {
"description": "Name (First Last) of the student.",
"type": "string"
},
"general": {
"description": "General correction applied to complete submission.",
"type": "array",
"items": {
"$ref": "#/$defs/GeneralCorrection"
}
},
"tasks": {
"description": "General correction applied to complete submission.",
"type": "array",
"items": {
"$ref": "#/$defs/TaskCorrection"
}
}
}
},
"GeneralCorrection": {
"description": "General correction applied to complete submission.",
"type": "object",
"additionalProperties": false,
"required": [
"reason"
],
"properties": {
"points": {
"description": "Points to be added or subtracted (except absolute is set). If omitted, 0 is assumed and the points are not changed.",
"type": "integer",
"minimum": -100,
"maximum": 100
},
"absolute": {
"description": "If this is set to true, the points are not added or subtracted, but explicitly set. All other points are ignored.",
"type": "boolean"
},
"reason": {
"description": "Explanation of the manual correction.",
"anyOf": [
{ "type": "string" },
{ "type": "array", "items": { "type": "string" }}
]
}
}
},
"TaskCorrection": {
"description": "Correction applied to a single task.",
"type": "object",
"additionalProperties": false,
"required": [
"name",
"reason"
],
"properties": {
"name": {
"description": "Name of the task.",
"type": "string"
},
"points": {
"description": "Points to be added or subtracted.",
"type": "integer",
"minimum": -100,
"maximum": 100
},
"reason": {
"description": "Explanation of the manual correction.",
"type": "string"
}
}
}
}
}