Exam Module
IB MYP on-screen practice & mock exams for FSK & FWGS — author, sit, mark, release and analyse a paper in one place, built to mirror the IB’s own M25 eAssessment.
How the loop works
5A paper travels from a blank draft to a released, criterion-marked result without leaving the module. The one hand-off that trips people up is Release, so it’s drawn below as two steps — propose, then approve — always done by two different people.
Author
T · EO · ABuild the paper
Sit
STake it, crash-proof
Mark
T · EO · AScore parts + levels
Release · propose
T · EO · AThe maker proposes
Release · approve
C · EO · AA different checker approves
Analyse
T · C · EO · A · VAggregate, de-identified
The hand-off in the middle is deliberate: a teacher (the maker) proposes a release; only a coordinator or admin (the checker) can approve it — and never the same person who proposed it. See who can do what for the full picture.
The five stages, in detail
Author
Build exams in the verified IB M25 shape (Task → Question → Part) with the full answer-widget set — or start from a ready-made template, including the six real Grade-10 internal mock papers (Mar 2026): Mathematics, Mathematics Extended, Integrated Sciences, Individuals & Societies, Language & Literature, Language Acquisition.
Sit
Students sit in the browser with crash-recovery: every answer saves locally the instant it is made and syncs to the server in the background, so a dead or swapped device resumes right where the student left off.
Mark
Mark per-part points (auto-scored where the key allows, with ECF chaining) plus teacher-committed best-fit criterion levels — never auto-averaged. The 1–7 grade derives from the committed levels.
Release
Release runs maker-checker: the teacher proposes, a different coordinator approves. Students then see their grade, criterion breakdown and per-part review.
Analyse
Analytics are aggregate and de-identified with small-group suppression, plus an audited CSV export — no named individuals ever leave the cohort.
Who can do what
6Two roles do the real work, and by design neither can do both. Everyone else is a superset, a read-only window, or their own sandbox — find your role below, then read down its column in the table.
The maker
The checker
Runs the exam office
Maker + checker
Analytics only
Their own paper
- Teacher
- Authors exams, marks them, and proposes a release.
- Coordinator
- Manages boundary tables & access-arrangement profiles, and approves — or sends back — a release someone else proposed. Cannot author or mark by design, so a teacher (or admin) always has to hand them something first.
- Exam officer
- Runs the paper office: assigns paper-makers and markers, publishes and locks papers, and, like the coordinator, signs off papers and releases results.
- Admin
- Every capability on this page in one account, plus user management — the full operations superset.
- Viewer
- Sees aggregate, de-identified analytics and nothing else — no exam content, no named student. That is the entire point of this tier.
- Student
- Sits their own real exam and sees their own released result — never anything belonging to anyone else.
the maker
the checker
That split is deliberate, not an oversight — a release always needs two different people.
| Capability | Teacher The maker | Coordinator The checker | Exam officer Runs the exam office | Admin Maker + checker | Viewer Analytics only | Student Their own paper |
|---|---|---|---|---|---|---|
| Author exams — start a draft or a new version, edit a paper you are assigned to MAKE (/exams) | ✓ | – | ✓ | ✓ | – | – |
| Publish or unpublish a paper (the exam office only — a maker asks the office) | – | – | ✓ | ✓ | – | – |
| Mark exams — part points, criterion levels, propose a release, on a paper you are assigned to MARK (admin: any paper) | ✓ | – | ✓ | ✓ | – | – |
| Open the marking grid (/marking/sitting/[id]) — students × questions, on a paper you are assigned to MARK; a checker may open any (F15) | ✓ | ✓ | ✓ | ✓ | – | – |
| "Try as student" — preview/sit any exam in a staff sandbox | ✓ | ✓ | ✓ | ✓ | – | n/a |
| Approve or send back a proposed release (/approve) | – | ✓ | ✓ | ✓ | – | – |
| Manage boundary tables & access-arrangement profiles (/arrangements) | – | ✓ | ✓ | ✓ | – | – |
| See a named student’s progress across mocks — a criterion-by-criterion line (/students/[id]/progress) | – | ✓ | ✓ | ✓ | – | n/a |
| Turn a sitting's anonymous marking on/off (/sittings/[id] — F18, ON by default) | – | ✓ | ✓ | ✓ | – | – |
| Run the paper office — assign paper-makers/markers, publish/unpublish, lock, delete, versions | – | – | ✓ | ✓ | – | – |
| See analytics — aggregate, de-identified, never a named student | ✓ | ✓ | ✓ | ✓ | ✓ | – |
| See NAMED students — roster, monitors, marking, results, DPDP, groups — ONLY on the campus(es) you hold a grant for (FSK / FWGS / both); admin always both | ✓ | ✓ | ✓ | ✓ | – | n/a |
| Manage users (/admin/users) | – | – | – | ✓ | – | – |
| Handle a data request — export a child’s record, or erase it (/dpdp) | – | ✓ | ✓ | ✓ | – | – |
| Sit their OWN real exam, see their OWN released result and their own progress across mocks | n/a | n/a | n/a | n/a | n/a | ✓ |
A dash means that role doesn’t have the capability; n/a means the capability isn’t about that role in the first place — only a student sits their own exam, for instance.
One admin account can’t close its own loop
Release approval blocks self-approval by e-mail, not by role — so even a single admin account can propose a release and then cannot approve it themselves. Demoing the full propose → approve hand-off needs two distinct people (or two distinct staff identities), whatever role they hold.
The verified answer widgets
16Every question type verified against the real IB M25 software. Auto-scored where the markscheme allows — including numeric tolerance, ECF chaining and rich-text with math — the rest marked by the teacher against the criterion rubric.
What’s new
12Task tabs and the progress strip pin under the header, a question rail runs down the side with an answered / left count, and the app sidebar steps out of the way while you sit a paper.
Equations render where you type them, × for multiply, Cmd+, and Cmd+. for super/subscript, and Enter no longer strands you inside an exponent.
A paper is approved by someone other than its author before it can be published — and a term exam, mock or final needs two. Editing after sign-off voids it.
Teachers schedule and run their own formative and summative work; term exams, mocks and the final e-assessment are a coordinator’s.
Target a sitting at a whole cohort, a section, named individuals, or a saved group that spans sections — built once and reused, for sets like Maths Extended.
The braking-distance sim runs and reports each reading without keeping the table for you: recording and averaging the results is the marked skill. Averages are per condition and speed, and now say so on every row.
KaTeX rendering across authoring, player, marking and results.
Uploaded assets plus original SVG diagrams inside questions.
Drag-and-drop, a graph-plot canvas, and draw / annotate.
MathLive keyboard for typed mathematics in the player.
Question palette and reference tools, mirroring the IB software.
Self-hosted interactive simulations, safely isolated.
The Grade-10 mock papers
The six G10 papers were digitised from the school’s own printed papers, which ship no markschemes. Objective answer keys are therefore derived — each is tagged “derived — teacher to verify” — and a few figures could not be recovered (they fall back to teacher-marked parts with a description standing in for the figure). Run a teacher pass over the keys and figures of any G10 paper before using it for a real sitting.