Grading a class is an Education feature: spl grade today, and the class page in a
later release, need an Education license on the computer that grades. Students need no
license: Check my work gives them the same marks, free, in every edition.
Collect the hand-ins
- Students hand in with File › Export…, then Project file: one
.speliorafile each, with the model, its training settings, the lab and their session summary. - Download them from your learning management system into one folder. Subfolders are fine.
- Keep the lab’s own
assignment.jsonnext to it. The grader uses yours, never the copy inside a student’s file.
Grade the folder
Run spl grade submissions/ --assignment assignment.json -o grades/.
Nothing in a hand-in runs: the grader reads each file and applies the lab’s checks, as
Check my work does. Hundreds of files take seconds. It writes three things into
grades/:
grades.csv, one row per file: its points, each check passed or failed, the error codes its model still had, the feedback of the checks it failed, and the session’s times and counts. A cell that would start a spreadsheet formula is made safe.summary.txt: the average, how many got every point, each check’s share of passes, each error’s share, the files that could not be read and why, and the class’s median session times.feedback/: one text file per student, each check with what it found and its points. You can hand these back as they are.
A file that is damaged, too large or not a project gets 0 points, with the reason in its row and in the summary.
Read the results
- Start with the summary. “41% hit E_PORT_RANK_NEEDS_FEATURES” says what to explain first in the next class.
- The session times say how long the lab took: to a first model without errors, to a first training run and to full points.
- Runs stopped by the admin are counted, so a run cut short by the next class doesn’t count against a student.
- A student’s model opens in the app from their file, to see what they built. A hand-in that kept its saved versions shows how the model grew, with File › Compare models….
Put the grades in your gradebook
grades.csv opens in any spreadsheet, and most learning management systems import a CSV
of points. Match the submission column to your roster.
With the class page
The class page will show a lab and its hand-ins on one page of the app, from files, with nothing sent anywhere:
- the roster from your LMS’s CSV, beside the files found, with who is missing and who handed in twice;
- each student’s points and checks, their feedback, and their model, read-only;
- the class’s summary;
- exports to
grades.csv, Gradescope’s results file and PrairieLearn’s.
The roster, the hand-ins and the grades stay in your folder, and the support bundle leaves them out.