Meta AGM
General information
Project goal: to be able to use multiple Advanced grading methods at one grading area.
Project scope. This project does not change the AGM internals and its API. Meta AGM is a grading method, the form of which is a number of another AGMs.
Use cases
In examples below 'rubric' and 'criterial' grading methods were used. Criterial is a work-in-progress method which allows teacher to define a form with a number of numerical fields, checkboxes, etc.
1. Assessment of student's program on the course of high-level programming basics
There are lot of aspects of checking the quality of program which is developed by student: efficiency, code style compliance, lab activity protocol... So we need a various grading method types to develop a set of criterions allowing us to assess all the aspects described in one assignment module.
TODO: defined AGM example
Implementation
TODO: description of subareas idea
How it works
TODO: sequence diagram
DB schema
gradeform_metaagm_areas
Each subarea additionally listed in this table. There are weight and name fields are important. Teacher can define a human-readable name for each subarea and a weight of grade for this subarea.
Field | Type | Default | Description |
---|---|---|---|
id | bigint | Auto-numbered | |
areaid | bigint | The gradeable subarea. | |
weight | float | 1.0 | Weight for grade in this subarea. |
name | varchar(255) | Human-readable name of this subarea. |
Backup/Restore
TODO