This Page will give an overview of how the software fits together (see figure 1) and the specification of the Custom operator required to integrate QTI with a Computer Algebra System (CAS).
Specifications for the “MathsContent” variable, customOperators and customInteraction –
MathAssess-specifications.pdf version
MathAssess-specifications .doc version
Workshop June 2009
In June 2009 we gave a series of workshops, a worksheet showing how to create question and tests was written.
The worksheet can be found here
List of software components.
J-Assess
SnuggleTex, ASCIIMathML and interconversion of mathematical formats
Mathqurate
MiniBix
QTIEngine, JQTI & Validatr,
Test Constructr
Moodel Plug-in
Although the existing toolkits for e-assessment had been developed and proven in earlier JISC projects, it was clear from the outset that significant enhancements of each would be required. The opportunity was also taken to improve and clarify the structure of their interactions with each other and with the user. Figure 1 shows the final outcome of this; details of the individual components follow.
MathQurate, the item authoring subsystem, is a re-implementation of AQuRate with the following new features:
This supports step-by-step authoring of an item as follows:
JQTI2 is a newly-released pure Java library developed from JQTI as part of MathAssess. The new version brings many improvements to the handling of QTI assessments and reports, most importantly a complete QTI item implementation with a full content model. JQTI contains everything required to read, write, validate and process (processing of templates, responses and outcomes are all fully supported) QTI items and assessments. Validatr is a graphical tool for examining and validating QTI content. Validatr can quickly show the locations of problems and issues that are impossible to locate using an xml schema validation. The capabilities of JQTI are such that no changes are required for MathAssess CAS support; the necessary functionality is provided by a plug-in library that just needs to be placed on the classpath.
Test Constructr extends the proof of concept within the original Contructr from the ASDEL project to include these new features:
...More Information on Constructr
QTIEngine is a new open source engine developed within MathAssess for playing IMS QTI v2.0 and 2.1 content. QTIEngine utilises JQTI 2 to handle QTI xml, and uses a completely customisable XSLT-based rendering solution to generate the rendered questions and tests. Crucially for MathAssess, Includes MathML support for Internet Explorer+MathPlayer as well as for Mozilla Firefox.
..More Information about QTIEngine
Minibix+ is an enhancement of Minibix with these new features:
...More Information about Minbix
The Moodle plug-in allows the the QTI engine to run as a component in Moodle. Thereby allowing an lecturer to set a test and students take the test as part of a course in Moodle.
More information on installing and configuring the QTI engine.
JAssess has been used in its desktop implementation as developed for the earlier Aqurate project. This has been of particular importance in relation to writing of well-formed mathematical exemplars in QTI. As the project progressed this developed into studies of the whole feasibility of incorporating mathematical questions into QTI XML. The advantage of using JAssess to test the experimental XML which has been produced has been that the JAssess code itself could be modified by its author to accommodate the new ideas. In particular this made it possible to examine how far standard QTI XML was capable of supporting new directions, and to identify and study the extensions to QTI XML functionality which are required.
There are a number of different formats for communicating and displaying mathematical information and it has become apparent that we will most likely not be able to settle on a single format to fulfil all of the aims of this project. Because of this, there is a requirement to be able to safely and reliably translate mathematics between the different forms that we adopt.
In general, this task is impossible as the language of mathematics is exceptionally complex and relies heavily on readers' understanding of the underlying contexts. For example, it is possible for the same concepts to be represented in multiple notations (e.g. differentiation using operator notation or Leibniz notation) and symbols and conventions are often reused for multiple purposes (e.g. e may be the exponential number or the identity in a group; a 2-dimensional vector may be denoted using the same notation as a binomial coefficient).
In order to make this problem manageable within the scope of this project, it is recommended that the type of mathematics we consider is restricted to a subset that satisfies the following conditions:
It is suggested that following subset of mathematics can be safely supported:
The project stakeholders must decide whether this is going to be sufficient. There is possibly scope in generalising things slightly but this increases the likelihood that conversions between certain formats will not be easy (if at all possible), making the resulting system brittle and potentially dangerous.