EthelExam is the platform course staff use to view, score, and finalize AI-scored exams, and students use to view their results and raise objections ("vetoes"). It is part of the Ethel project at ETH Zürich. The reference instance, serving ETH Zürich courses, runs at exam.ethel.ethz.ch.
EthelExam is the visible end of a service that accompanies the whole examination process. The Ethel team supports course teams in designing the exam and its rubrics so they work well with AI scoring, assists with scanning the completed exams, runs the AI scoring of every problem part, and imports and provisions the results in EthelExam — where course staff verify the scores and students view their results and submit vetoes. Manual scoring is needed only where a veto asks for it, and the examiner always retains final grade authority.
This service is developed in the exam-grading-assistance project STIFT+, funded by the Rector's Impulse Fund 2026 (project description, PDF): an initiative to keep open-ended, handwritten STEM exams viable at scale by combining multimodal AI scoring with human oversight. Participating courses receive central support for assessment design, scanning, AI integration, and data handling. Participation is an R&D collaboration between the course team and the Ethel team.
Audience: teaching assistants (TAs).
This edition contains the shared chapters and the guide for your role. Read Key concepts and Getting started first.
| Part | For |
|---|---|
| Key concepts | everyone |
| Getting started | everyone |
| TA guide | teaching assistants scoring vetoes |
| Troubleshooting | everyone |
| Glossary | everyone |
EthelExam is run by the Ethel team, the group that operates the platform and provides support. Whenever this handbook says to contact the Ethel team, write to:
Include the exam (course code and term), the problem part if one is affected, what you expected, what you saw instead, and roughly when it happened. The team also appreciates hearing your feedback. Questions about a score itself are a matter for the course, not the Ethel team.
All names, exams, and documents shown in screenshots are synthetic example data.
| Version | Date | Changes |
|---|---|---|
| 1.0 (draft) | 21 August 2026 | First edition. 20260822-041925-b6b27b7f |
Provided by the Ethel team, ETH Zürich.
This chapter explains the vocabulary and the scoring model that everything else in EthelExam builds on. It is short. Read it once and the rest of the handbook will make much more sense.
An exam in EthelExam is one course's examination in one term, for example Physics I, PHYS-101, FS 2026. Inside an exam:
For each problem part a student answered, EthelExam stores the scanned document with that answer (a PDF). It is shown right next to the scores, so the score can always be checked against the actual work. Parts without an answer are marked absent.
Every problem part has a rubric: a list of criteria, each worth a number of points. A score in EthelExam is not a single number. It is one value per rubric criterion, and the total follows from them.
Scores come from two sources:
During normal scoring in EthelExam, score changes are never destructive: every scoring action is recorded, and course admins can inspect the full score history of any problem part.
A veto is an objection against the current score of one problem part: "please look at this again". Vetoes drive the whole scoring workflow.
Two time windows, set by the course admin, control what students can do:
There is no separate "publish results" step. As soon as the viewing period is active, students see the current scores of their problem parts, except parts with an open veto, whose scores stay hidden until they are scored again.
Access is per exam: the same person can be a course admin in one exam, a TA in another, and a student in a third. Within one exam:
| What you can do | Course admin | TA | Student |
|---|---|---|---|
| See student names and Legi | yes | no — pseudonymous labels | own data only |
| See students' documents | all | all, without names | own only |
| See AI scores | always, including history | never | own, when the viewing period is active and the part has no open veto |
| See manual scores | always, including history | on manually scored parts | own, under the same conditions |
| Enter scores | on vetoed or manually scored parts | on vetoed or manually scored parts | never |
| Create vetoes | any eligible part, including in bulk | no | own parts, during the veto period |
| Edit periods | yes | no | no |
| See scoring notes | all | only on parts they can score | never |
Three of these rules are worth explaining:
A scoring note is a private staff notepad on one problem part of one student, for example "partial credit discussed with lecturer, see 3.c". Notes are visible to course staff only, never to students. Course admins see every note including who wrote it; TAs can only read and write notes on parts they are allowed to score, and see notes without author names.
Importing exam data, resetting an exam, and managing who is enrolled are operational tasks performed by the Ethel team on request. They are not self-service functions in the web interface. If data looks wrong or missing, contact the Ethel team (see Getting help) rather than looking for an import button.
Course teams that run the scanning and AI scoring themselves can prepare an import package and hand it to the Ethel team for import — see the EthelExam Import Package Guide, available from the Ethel team. This must be arranged well in advance of the exam.
EthelExam uses Switch edu-ID, the same account you use for other Swiss university services. There is no separate EthelExam password.
Open the EthelExam address for your institution — at ETH Zürich this is exam.ethel.ethz.ch — and select edu-ID Sign-in. You are taken to the Switch edu-ID login and, after signing in, back to EthelExam.
The first time you sign in, EthelExam shows you exactly which information it received from your Switch edu-ID account: your name, email address, and your university affiliations. Review the list and select Agree and continue. This appears only once; afterwards you go straight to your exams.
After signing in you land on Exams: every exam you have a role in, one card per exam. The card shows the exam's viewing and veto periods, and the actions your role allows. A student sees a View button; a TA also sees Vetoes; a course admin sees View, Vetoes, Exam overview, and Exam settings.
If an exam you expect is missing, the most common cause is that your university affiliation is not linked to your edu-ID account. The Missing an exam? panel at the bottom of the page explains how to check and fix this. If the exam is still missing afterwards, contact the Ethel team (see Getting help).
The header is the same on every page: breadcrumbs on the left show where you are (exam name, current page), followed by the navigation buttons your role allows. Where a button carries a badge, the number is the count of open vetoes.
Page addresses are stable: a bookmark or a shared link lands on the same page again, provided the person opening it has a role that allows it.
As a TA you score vetoed problem parts again. You see the students' work and documents, but never their identities, and on parts with an open veto you score blind. Both are by design, and both are explained below.
Your exam card shows a Vetoes button with the queue state. On the exam card, "8 / 20" means 8 of 20 vetoes have been scored. That button is your main entry point.
In the veto worklists, students appear as neutral five-character identifiers (pseudonymous labels) such as "0BASP" instead of names. The label does not reveal the student's identity to you, and it is only valid within one problem part: the same student carries a different identifier on each part of the exam, and the whole-exam view shows no identifier at all. You judge each answer on its own; this pseudonymity is what lets a student trust that a veto was judged on the work.
Your view of any problem part depends on its state:
Vetoes lists every problem part with its veto counts:
Pick a part with open vetoes and you land in its veto scoring worklist: one card per vetoed answer, the scanned document on the right, the rubric on the left.
On a card with an open veto, every rubric value shows as zero and the card is already in edit mode. This is intentional: blind scoring. You are not shown the AI's scores or any previous manual scores for the disputed part, so nothing anchors your judgment. Read the student's answer, check it against the rubric (the Rubric link opens the official rubric excerpt for this part), fill in every criterion, and press Score.
Two things happen when you score an open veto:
The veto closes. Scoring is the resolution; there is no separate accept or reject step.
The card moves down the list on the next refresh, so open work stays on top:
Cards whose veto is already closed show the current scores, and you can still correct them.
While a veto is open, the student sees no score for that part — only a notice that it will be scored again. The moment you press Score, the new result becomes the student's score:
From a veto card, Student exam opens that student's entire exam, still without any name — the exam view shows no identifier at all. Use it when an answer refers to another problem part or continues on a different page: answers sometimes depend on each other, and the whole exam gives you the context. The visibility rules above follow you: open-veto parts are blind and editable, manually scored parts show their scores, untouched parts show their documents but no scores.
On parts you can score, the Scoring note section lets you read and leave staff-only notes. You see notes without author names (only whether a note is your own); course admins see all notes with authors. Students never see notes.
Notes are versioned: every edit is recorded, and the clock icon opens Previous notes with the earlier versions. Nothing you write or overwrite is lost.
Several people can work the same queue. If someone scores a part you are editing, your card offers Use saved scores or Keep my version; nothing is lost silently. If you leave a page with unsaved edits, the app warns you first.
After an hour of inactivity (or 8 hours after signing in, whichever comes first) EthelExam ends your session and shows "Your session has expired" on the sign-in page:
Sign in again and you will be returned to the page you were on. Unsaved edits do not survive the expiry; save as you go.
Your exam list shows exams in which your signed-in identity has a role. The usual cause for a missing exam is an unlinked university affiliation in your Switch edu-ID account: open Missing an exam? at the bottom of the exams page, follow the guide, then sign out and back in. Still missing? Contact the Ethel team (see Getting help).
If a scanned answer shows "Document temporarily unavailable", use Retry; this is almost always transient. Open in new tab is a second path to the same document. If a document is persistently unavailable, report the exam, problem part, and time to the Ethel team.
Two staff members had the same problem part open, and the other one saved first. Nothing is lost: the card shows both versions and asks you to pick Use saved scores (accept your colleague's result) or Keep my version (submit yours on top). Coordinate in the veto worklist by working top-down; scored cards drop down the list on refresh.
You have score or note edits that have not been saved. Stay returns you to the page so you can press Score or Save note; Leave without saving discards the drafts.
For anything data-related — wrong or missing students, wrong documents, re-imports — contact the Ethel team (see Getting help). For access problems, start with An exam is missing from my list above. Questions about a score itself are a matter for the course.
AI scored — The initial state of every problem part: scores from the Ethel team's AI scoring, imported into EthelExam, before any human has intervened.
Blind scoring — What a TA does on a part with an open veto: the disputed score is hidden and the rubric starts at zero, so the fresh scoring is not anchored by the old number.
Course admin — The faculty role that runs an exam: sets periods, sees identities and score history, creates vetoes, and corrects scores.
Document — The scanned PDF of one student's answer to one problem part, shown next to the rubric.
Ethel team — The group that operates EthelExam, provides support, and appreciates hearing your feedback. Contact: ethel@sl.ethz.ch (see Getting help).
Exam — One course's examination in one term, for example Physics I, PHYS-101, FS 2026.
Exam instance — One student's personal copy of an exam, with one row per problem part.
Legi — The Swiss matriculation number identifying a student.
Manually scored — The state of a problem part after a member of course staff has entered scores by hand. A manually scored part can never be vetoed again.
Problem — A top-level exercise of an exam ("Problem 1 — Rolling sphere").
Problem part — One sub-question of a problem ("1.a — Speed at the bottom of the incline"), and the unit that documents, scores, vetoes, and notes attach to.
Problem part view — The course-admin page that shows one problem part across all students.
Rubric — The list of criteria, each worth points, against which a problem part is scored.
Scoring note — A private staff notepad on one problem part of one student. Versioned; never visible to students.
Student label — The pseudonymous five-character identifier (such as "0BASP") that identifies a student to a TA within one problem part, shown in veto scoring only. It does not reveal the student's identity to TAs; identifiers differ from part to part by design.
TA — The teaching-assistant role: scores vetoed parts blind and never sees student identities.
Veto — A final, one-time objection against the current score of one problem part. Open until staff enter a manual score, which closes it.
Veto period — The window during which students can submit vetoes. Always lies inside the viewing period.
Veto scoring — The staff workflow (and page) for scoring vetoed parts.
Viewing period — The window during which students can open their exam and see documents and scores.