330 likes | 434 Views
MathAssess. Maths in QTI http://www.sourceforge.net/qtitools MathAssess is a JISC Demonstrator project. Partners. Liverpool John Moores University plus Graham Smith and Sue Milne University of Glasgow University of Portsmouth University of Edinburgh - SnuggleTeX
E N D
MathAssess Maths in QTI http://www.sourceforge.net/qtitools MathAssess is a JISC Demonstrator project
Partners • Liverpool John Moores University • plus Graham Smith and Sue Milne • University of Glasgow • University of Portsmouth • University of Edinburgh - SnuggleTeX • Kingston University - AQuRate • University of Southampton - ASDEL • University of Cambridge - Minibix
Item and Test Use Cases Item Author • Author questions • Edit questions • Store questions • Tutor • Assign tests • Administer tests • Student • Attempt questions • Get new questions • Take tests • Test Constructor • Construct tests • Store tests
Now add Maths... We must be able to: • Display maths expressions • Manipulate maths expressions • Create randomised items, i.e. use templates • Compare input and expected answer algebraically, not just string matching ...and there’s more!
The finer points... • templateProcessing • Compute mathematical values (in more complex ways than standard QTI allows) • Use a Computer Algebra System (CAS) • Do not (usually) select from “canned” examples • Set default values and constants as maths expressions • responseProcessing • Compare variables with mathematical values algebraically: • Equal? Equivalent? Greater/Less? • Compare expressions involving mathematical variables: • Functions, Coefficients, Terms • Feedback • Target student errors – “coeff of is incorrect” • Use mathematical variables in feedback
What does a Maths Variable look like? It must have • Visual form expressions are displayed as mathematics • Semantic meaning expressions can be manipulated • Input form for students as “natural” as possible • Input form for authors expresses meaning and hence appearance So the variable contains • Presentation MathML annotated with • Content MathML • CAS code – Maxima • Input string - ASCIIMathML (if any) • CAS code – Maxima used in authoring (if any)
Using CAS For • Computing groups of maths expressions • Computing a single maths expression • Comparing two expressions (variables of baseValues) • Evaluating a condition customOperator • scriptRule • casProcess • casCompare • casCondition customOperators all use Maxima CAS. All can be used in template and response processing.
SnuggleTeX & ASCIIMathML • SnuggleTeX converts: • LaTeX to XHTML and MathML • PMathML to CMathML • CMathML to CAS code (Maxima) • ASCIIMathML converts • String input to • (slightly strange) PMathML • Maxima can output (strange) PMathML • The maths glue joins these up...
JAssess • New implementation with maths features • Has been testbed for “upconversion” • Investigating MathAssess requirements • Prototype implementation • Proof of concept rendering • Uses maths glue classes
JAssess Rendering • Desktop renderer • MathAssess functionality
MathAssess Tools Author Store Deliver Test Constructor+ ASDEL+ Assessment Delivery Store / Retrieve Tests Deliver Tests Applications JAssess+ Preview Applet Minibix+ Item and Test Storage Render Questions Local Question Preview Store / Retrieve Questions QTI Engine Question Render MathQurate Item Author Server Question Preview Mathqurate Authoring API QTI Assessment Item Data Classes Minibix+ Item Storage API QTI Assessment Test and Item Banking JQTI2 Rendering API QTI Assessment Delivery Classes (+XSLT) Libraries
MathQurate New features: • New interface based upon Eclipse • Uses Java API for XML binding (JAXB) • Uses JQTI2 library for preview • Question features: • Templates – randomisation • Maths input via LaTeX • customOperator for CAS computations • customInteraction for maths input
Step 2: Review and edit meta-data • Edit the meta-data • Identifier • Title • Adaptive attribute
Step 3: Declare template and outcome variables • Template variables are used for randomisation • Outcome variables are used in response processing, after question submission • Edit the variables • Define each variable's identifier • Assign its base type • Assign the cardinality • Set the default value, if any • For template variables also set the mathVariable and parameter flags
Step 4: Declare the response variables • Some response variables are bound to the student input and compared with the expected answer • Response variables are defined for different purposes: • The question response • Contains the student input • May define a correct answer • Feedback requests e.g. Hint or Solution
Step 5a: Editing the item body • Edit the content for display to the student • Insert and edit MathML where required • Insert and edit ChoiceInteraction • Basic preview
Step 5b: Editing MathML • SnuggleTex approach • LaTeX input • MathML output • Re-editing supported
Step 5c: Editing Choice Interactions • Breaks up the XML into digestible information • Metadata editor • HTML and MathML Prompt editor • List of Simple Choices
Step 5d:Editing Simple Choices • Each simple choice can contain HTML and MathML • Metadata editing • Editing of Feedback provided to the student inline when this choice is selected
JQTI • JQTI is a pure Java library for handling, validating & interpreting QTI 2.x, released under a BSD licence • JQTI v.1 • Full support for the assessment model, partial expression and reporting model support • JQTI v.2 • Adds full support for item, expression and reporting models • Plug-in support for customOperators and customInteractions • JQTI-Rendering is a Java library for rendering QTI using a series of XSLTs • JQTI-Controller is a library for coordinating the presentation of assessments
JQTI + MathAssess • No changes to JQTI 2 required for MathAssess CAS support • MathAssess functionality provided by a plug-in library that just needs to be placed on the classpath!
Test Constructor+ New features: • Use JQTI2 library • Take items from item bank (Minibix) using the Maths taxonomy • Package as test and deposit back into bank (Minibix)
QTIEngine Demo: http://qtiengine.qtitools.org • QTIEngine is a new QTI rendering and responding engine for both individual items AND complete assessments • Built on top of JQTI2, JQTI-Rendering and JQTI-Controller • Aims to implement the entirety of the QTI specification! • (currently support for rendering mediaInteraction and drawingInteraction is missing, although they are supported in JQTI) • Includes MathML support for IE+MathPlayer & Mozilla
Minibix+ New features: • Maths capability • Store both items and tests • Better search and metadata editing • Support organisation by taxonomy • Offer support and advice for online testing
Coming soon... • In MathAssess • Completion of work in progress • Moodle integration • CARET training materials • And then... • Content • Live diagrams • Live graphs • Graphical interactions in maths items