Christian Lawson-Perfect
Christopher Graham

Newcastle University.


(Photo Martin Pot, CC-BY 3.0, Wikimedia Commons)

Numbas is an open-source system developed by the e-Learning Unit of Newcastle University's School of Maths and Stats, based on many years of use, experience and research into e-assessment.

It's aimed at numerate disciplines.

It creates SCORM-compliant exams which run entirely in the browser, compatible with VLEs such as Blackboard and Moodle.

Design goals

  • Scalable, reliable and accessible to a broad range of users.
  • Good-looking and easy for students to use.
  • Used by question authors who aren't experts, without support.


A large driver for Numbas was the lack of customisability in previous systems.

Interface and logic are completely separated in Numbas - custom themes can change the look of tests, or reimagine how they're run.

Extensions allow the addition of new functions, data types, and resources.

Integration with a VLE

  • Numbas can use the SCORM standard to integrate with compliant VLEs, such as Moodle and Blackboard.
  • Or there's a Basic LTI tool provider which works better than most SCORM implementations.
  • Or you can use it without a VLE.

Formative vs summative use

Computer-aided assessment is great for formative assessment.

Students can try randomised questions over and over until they're happy.

Summative assessment poses problems:

  • How to prevent cheating?
  • Can you ask the right sort of questions for a high-stakes summative exam?

Current use

  • At Newcastle in the Maths and Stats degree, and many service courses.
  • 100+ universities in the UK and around the world.

The unique challenge of doing everything client-side, in JS

  • No calling out to a CAS
  • So you've got to reimplement everything from scratch

(Not completely true)

Google image search for "good train", CC-BY 2.0, John on Wikimedia Commons

On the train up, I had some luck making the variable generator work asynchronously, which would allow calls to remote systems.

Helping with development


Photo © S J Bennett, CC-BY, on Flickr




Source code