Skip to content
🍄 Computer adaptive practice activity module for Moodle
PHP HTML JavaScript Other
Branch: development
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.travis Temporarily disable failing phpdock tests Jul 26, 2019
backup/moodle2 Make backup and restore comply with changed DB table columns Jul 25, 2019
classes Add admin features for CAPQuiz subplugins Jul 29, 2019
db Upp the version numbers Jul 30, 2019
lang/en Add admin features for CAPQuiz subplugins Jul 29, 2019
report Update version.php Jul 30, 2019
templates Fix linting error Jul 18, 2019
.eslintrc Add ESLint support, JS style format required by Moodle Jan 17, 2019
.gitattributes Add ".gitignore" and ".gitattributes" files Jan 17, 2019
.travis.yml Temp fix by setting the dist to trusty Jul 25, 2019 Update Jul 30, 2019 Add "" file Jan 16, 2019
adminlib.php Fix moodlecheck errors Jul 29, 2019
adminmanageplugins.php Require login Jul 30, 2019
edit.php remove some static factory methods that seem unnecessary Jun 26, 2019
lib.php Add question bank links in navigation menu. Jul 18, 2019
locallib.php Create CAPQuiz exception class Jul 18, 2019
mod_form.php Fix most code style errors Jan 16, 2019
package-lock.json Bump eslint-utils from 1.3.1 to 1.4.2 Aug 26, 2019
settings.php Fix moodlecheck errors Jul 29, 2019
styles.css Minor styling changes to comments list Jul 18, 2019
view_create_question_list.php tidy up som code, add comments, update author tags Jun 27, 2019
view_import.php remove some static factory methods that seem unnecessary Jun 26, 2019
view_rating_system.php rename matchmaking tab to rating system Jun 27, 2019


Build Status

Computer adaptive practice activity module for Moodle

What is it?

CAP is short for /Computer Adaptive Practice/, a term coined by Klinkenberg, Straatemeier, and van der Maas (2011). Where most LMS quiz systems give the students a fixed sequence of questions regardless of how well the students answer, a CAP system will estimate student ability based on their answers, and try to find questions at the right level of difficulty.

In CAPQuiz, the proficiency is measured by a rating. Good answers increase the rating, and bad answers decrease it. To increase the rating, students need to give good answers more of than bad ones /over time/. We have used CAPQuiz as a mandatory assignment, where the students have to reach a certain rating in order to be allowed to sit the exam.

Estimating question difficulty is known to be difficult. CAPQuiz automates this process to some extent. The question author must provide an initial estimate, but CAPQuiz improves the estimates based by comparing how the same student answers different questions. Hence the rated question sets will improve over time.


Documentation is available here, including installation instructions.


The idea of an adaptive learning system at NTNU in Ålesund (then Ålesund University College) was first conceived by Siebe van Albada. His efforts led to a prototype, known as MathGen, written as a standalone server in python.

The first prototype was tested by several lecturers, and was well received by students. There were, however, many problems which we lacked the resources to handle. Most of these problems had already been solved by Moodle and the STACK question type, and it made sense to reimplement the adaptive quiz functionality in Moodle to take advantage of this.


CAPQuiz includes the work of many contributors.

Project lead: Hans Georg Schaathun:


Original idea: Siebe Bruno Van Albada

The first prototype was funded in part by Norgesuniversitetet.

The development of CAPQuiz has been funded in part by internal grants from Ålesund University College and NTNU Toppundervisning at NTNU - Norwegian University of Science and Technology.

You can’t perform that action at this time.