- Publicity: Public Only All
grading-procs.tcl
Test Item grading procs - support for different kind of grading types and schemes.
This file defines the following Objects and Classes: ::xowf::test_item::grading::Grading, ::xowf::test_item::grading::GradingRoundPoints, ::xowf::test_item::grading::GradingRoundPercentage, ::xowf::test_item::grading::GradingRoundNone, ::xowf::test_item::grading::GradingNone
- Location:
- packages/xowf/tcl/grading-procs.tcl
- Author:
- Gustaf Neumann
Procedures in this file
- Class ::xowf::test_item::grading::Grading (public)
- Class ::xowf::test_item::grading::GradingNone (public)
- Class ::xowf::test_item::grading::GradingRoundNone (public)
- Class ::xowf::test_item::grading::GradingRoundPercentage (public)
- Class ::xowf::test_item::grading::GradingRoundPoints (public)
- xowf::test_item::grading::Grading instproc grading_dict (public)
- xowf::test_item::grading::Grading instproc print (public)
- xowf::test_item::grading::GradingNone instproc grade (public)
- xowf::test_item::grading::GradingRoundNone instproc grade (public)
- xowf::test_item::grading::GradingRoundPercentage instproc grade (public)
- xowf::test_item::grading::GradingRoundPoints instproc grade (public)
- xowf::test_item::grading::load_grading_schemes (public)
Detailed information
Class ::xowf::test_item::grading::Grading (public)
::nx::Class ::xowf::test_item::grading::Grading
Superclass representing a generic grading
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Class ::xowf::test_item::grading::GradingNone (public)
::nx::Class ::xowf::test_item::grading::GradingNone
Grading scheme, which omits grading at all.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Class ::xowf::test_item::grading::GradingRoundNone (public)
::nx::Class ::xowf::test_item::grading::GradingRoundNone
Implements a grading with no special rounding.
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Class ::xowf::test_item::grading::GradingRoundPercentage (public)
::nx::Class ::xowf::test_item::grading::GradingRoundPercentage
Implements a grading expressed as a rounded percentage
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Class ::xowf::test_item::grading::GradingRoundPoints (public)
::nx::Class ::xowf::test_item::grading::GradingRoundPoints
Implements a grading expressed as a rounded number of points
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
xowf::test_item::grading::Grading method grading_dict (public)
<instance of xowf::test_item::grading::Grading> grading_dict \ achieved_points
Important dict members of "achieved_points": - achievedPoints: points that the student has achieved in her exam - achievablePoints: points that the student could have achieved so far - totalPoints: points that the student can achieve when finishing the exam achieved_points: {achievedPoints 4.0 achievablePoints 4 totalPoints 4} percentage_mapping: {50.0 60.0 70.0 80.0} While "achievedPoints" and "achievablePoints" are calculated by iterating over the submitted values, "totalPoints" contains the sum of points of all questions of the exam, no matter if these were answered or not.
- Parameters:
- achieved_points
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- create_test_items
xowf::test_item::grading::Grading method print (public)
<instance of xowf::test_item::grading::Grading> print \ -achieved_points achieved_points
Return a dict containing the members "panel" and "csv" depending on the type of rounding options
- Switches:
- -achieved_points
(required)- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- create_test_items
xowf::test_item::grading::GradingNone method grade (public)
<instance of xowf::test_item::grading::GradingNone> grade \ -achieved_points achieved_points
No grading scheme defined, return grading 0.
- Switches:
- -achieved_points
(required)- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- create_test_items
xowf::test_item::grading::GradingRoundNone method grade (public)
<instance of xowf::test_item::grading::GradingRoundNone> grade \ -achieved_points achieved_points
Return a numeric grade for an exam submission based with no special rounding (2 digits). On invalid data, return 0.
- Switches:
- -achieved_points
(required)- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
xowf::test_item::grading::GradingRoundPercentage method grade (public)
<instance of xowf::test_item::grading::GradingRoundPercentage> grade \ -achieved_points achieved_points
Return a numeric grade for an exam submission based on rounded percentage. On invalid data, return 0.
- Switches:
- -achieved_points
(required)- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
xowf::test_item::grading::GradingRoundPoints method grade (public)
<instance of xowf::test_item::grading::GradingRoundPoints> grade \ -achieved_points achieved_points
Return a numeric grade for an exam submission based on rounded points. On invalid data, return 0.
- Switches:
- -achieved_points
(required)- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
xowf::test_item::grading::load_grading_schemes (public)
xowf::test_item::grading::load_grading_schemes -package_id package_id \ -parent_id parent_id
Load the actual grading scheme objects defined for the package_id and parent_id. It might be the case that this function is called multiple times by a single request (when e.g. multiple exams are on a single page). So we are caching the result to avoid repeated computations of the same result.
- Switches:
- -package_id
(required)- -parent_id
(required)- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.