Every student in a course carries a grade per module and one overall grade, all of them numbers from 0 to 100. They are worked out automatically as submissions are judged and as you change the course, and there is nothing to press to publish them.
The Gradebook tab shows the result: a matrix with one row per student, one column per module and a Total column, a dash where there is no grade yet. It can be searched and filtered by member and by group, and clicking a row opens that student's page. It is read-only — the gradebook reports the numbers, it does not set them.
Fig 1. The Gradebook: students down the side, modules across the top, and the overall grade in Total.
Only tasks are graded. A task's grade is the best submission's percentage multiplied by the task's Maximum score, rounded down:
material grade = floor(best submission percentage × maximum score)
Only the best result ever counts. A later, worse submission never lowers a recorded score, so there is no risk in letting a student try again. Documents carry no grade at all.
A module's grade is the weighted average of its task materials, scaled to 0–100. Each task contributes its own fraction of full marks — grade / maximum score — weighted by the task's Grading coefficient:
module grade = 100 × Σ (grade / maximum score × coefficient) / Σ coefficient
Draft materials and tasks with a maximum score of 0 are left out of both sums. A module with no graded material at all scores 0.
The overall grade — the Total column — is the weighted average of the module grades, each weighted by that module's Grading coefficient:
overall grade = Σ (module grade × coefficient) / Σ coefficient
Draft modules are excluded entirely. A course whose modules all have a coefficient of 0 gives everyone 100, which is the usual explanation for a gradebook full of perfect scores.
Judging a submission updates that one student's material, module and overall grade. Everything structural re-aggregates the whole course, for every student at once:
publishing or drafting a module or a material,
changing a grading coefficient,
changing a task's maximum score,
moving a material between modules.
So a change of coefficient part-way through a course rewrites history: the grades already earned are re-weighted, not left as they were.
Separately from the grade, each material and module carries a completion percentage, and the student carries an overall progress figure that averages across their modules. For tasks it follows the best submission, the same as the grade does.
Documents are the catch. Reading progress for a document is never reported by the public site, so documents stay at zero however carefully a student reads them. On a course that is mostly documents, the progress figures understate what the learner has actually done — the grade is the number to trust.
No pass mark and no completion state. There is no threshold to clear and nothing that marks a course as finished, passed or failed. A course is a running grade.
No certificate. Nothing is issued when a student reaches the end. Certificates exist on the platform, but they are driven by contests — see Certificates.
No grade override in the console. You cannot type a number into the gradebook. Overriding a grade, and excusing a student from a material or a module so that it drops out of the average rather than counting as zero, are available through the API only.
If a grade is wrong because a submission was judged wrongly, fix it at the source: rejudge the submission from the course's Submissions tab, and the corrected verdict flows back into the grade.
A student sees their own module grades on the course landing page and their per-material scores inside a module. They cannot see anybody else's. There is no course leaderboard.