// the find
numbas/Numbas
A completely browser-based e-assessment/e-learning system, with an emphasis on mathematics
Numbas is a browser-based math assessment engine developed at Newcastle University. It runs exams entirely client-side, supports SCORM for LMS integration, and uses its own expression language (JME) for randomized math questions. The target audience is math educators who need to deploy auto-marked assessments — not developers building general quiz software.
The JME (Jess Mathematical Expression) language is genuinely capable: it handles symbolic algebra, calculus, matrix operations, and pattern matching for student answers, which is substantially harder than it sounds. SCORM 2004 support is solid and well-documented, meaning it drops into Moodle, Canvas, or any conformant LMS without friction. The marking scripts system (`.jme` files in `marking_scripts/`) lets authors override grading logic per question type, which is the right design — educators need partial credit rules that differ by domain. Localization coverage is real: 20+ locales with proper locale files, not just translated UI strings.
The architecture is a compiler-plus-runtime split where the compiler is Python and the runtime is a pile of individual script files concatenated together — `runtime/scripts/` has no module system, just globals and Knockout.js for binding. This made sense in 2011 and is now a maintenance burden. Star count (215) is misleadingly low because the actual user-facing entry point is the editor repo and the hosted instance at numbas.mathcentre.ac.uk, so the ecosystem is more active than this repo suggests — but that also means you can't understand the system from this repo alone. The diagnostic/adaptive testing feature (`diagnostic_scripts/`) appears to be a fairly thin layer, and the documentation for building custom diagnostic algorithms is sparse. If you want to self-host, you're standing up the Python compiler, the editor (a separate Django app), and configuring SCORM carefully — the README undersells how involved that is.