Usage¶
Directory Convention¶
mograder follows nbgrader's terminology: source → release → submitted → autograded → feedback.
course/
mograder.toml ← optional config (dirs, moodle settings, etc.)
gradebook.db ← SQLite gradebook (created by autograde)
source/
assignment-name/
assignment-name.py ← source notebook (with solutions)
data.csv ← auxiliary files (copied to release)
release/
assignment-name/
assignment-name.py ← generated (solutions stripped)
data.csv ← copied from source
submitted/
assignment-name/
student1.py ← student submissions
autograded/
assignment-name/
student1.py ← output of mograder autograde
feedback/
assignment-name/
student1.html ← output of mograder feedback
Workflow¶
mograder generate—source/*.py→release/*.py(strip solutions, embed cell hashes)mograder moodle upload— zip release files and open Moodle edit page for attachment- Students complete and submit
.pyfiles mograder validate— run a notebook in a sandbox and report check results (student self-check); warns if non-solution cells have been modifiedmograder autograde—submitted/*.py→autograded/*.py- Integrity check against source notebook (detects tampered check/marks cells)
- Runs each notebook via
marimo export html - Parses check results from HTML
- Injects verification summary + marker feedback cells
- Stores results in
gradebook.db
- Markers grade — grader Grading tab or
marimo edit- Marker sets manual mark and feedback per student
- Grades saved to
gradebook.db
mograder feedback—autograded/*.py→feedback/*.html- Injects mark + feedback callout into existing autograde HTML
- Removes self-assessment scores cell
mograder moodle export—gradebook.db+worksheet.csv→export/- Merges grades into Moodle offline grading worksheets
- Bundles HTML feedback into a Moodle-compatible ZIP
- Auto-imports student names into gradebook
mograder moodle login— obtain and cache a Moodle API token (supports SSO)mograder moodle fetch/mograder moodle submit— students fetch assignments and submit work via Moodle APImograder moodle fetch-submissions/mograder moodle upload-feedback— instructors bulk-download submissions and push grades/feedback via Moodle APImograder moodle sync— syncs assignment metadata from Moodle intomograder.tomlmograder student— launches an interactive student dashboardmograder serve/mograder https *— lightweight HTTPS server + transport for assignment distribution without Moodlemograder hub— multi-user hub server for browser-based assignment delivery (publish, edit, validate)