Information: This question type requires activation. Please contact the Service Desk to activate.
Introduction
Symbolic Math is a programmatic, automaticallymarked question type where questions can be answered as numeric values or algebraic equations. Symbolic Math uses the same core concepts as Numerical Simulation where the variables and logic are set within the Program Model of the question. But unlike Numerical Simulation, the candidate response can be in the form of an algebraic equation that will be automatically validated and evaluated accordingly.
For example, in the below question the user must enter in a numeric value in the first input and an equation in the second. The highlighted values are randomly generated each time.
Content
 Create New Question
 The Question Text
 The Program Model
 The Question Text: Assign Program Variables
 The Response Outcome
 ResponseSpecific Feedback
 Save And Preview
How To Author
There are 3 core elements when authoring a Symbolic Math question: the Question Text; the Program Model; and the Response Outcomes.
 The Question Text are the fixed elements of the question. The only parts that change are the values of the program variables you insert within the question text.
 The Program Model: this is where all the variables, their parameters, and calculations are set.
 The Response Outcome: this is where you decide how the candidate’s response will be evaluated.
Create New Question
 Select the Author module > Questions.
 Click Create new.
 Under Automatically marked, click Symbolic Math.
The Question Text
 Author the question text in the main authoring area and wherever you’d like a variable to appear, click + Insert followed by Program Variable. This will insert a variable placeholder.
 Where you’d like a candidate input field for the candidate to respond, click + Insert followed by Candidate Response. This will insert a response placeholder.
The Program Model
To set all the variables and their parameters, you must edit the Program Model. The Program Model uses MAXIMA for its operations. In MAXIMA, variables are declared by first writing the variable name, followed by a colon. After the colon, you specify the value or parameters for the variable. Remember, each line of code must end with a semicolon to be correctly interpreted.
For a stepbystep example of a question being authored, see Symbolic Math Step by Step Example.
For further detail on the Program Model syntax, see The Program Model.
 From the right menu, click Program Model > Edit Program Model
 Write the Program Model and when finished, click ‘Compile’ to verify your syntax and ensure the example values are being generated as expected. Click Save.
Error Carry Forward
Symbolic Math has Error Carry Forward functionality. This works the same way as it does for Numerical Simulation. See Error Carry Forward for further information.
The Question Text: Assign Program Variables
With the program model complete, return to the question text and click on each Program Variable placeholder you inserted. From the Program Variables dropdown, select which variable you’d like to display.
The Response Outcome
To set the type of input you expect from the candidate, as well as the different ways you’d like to validate them, you must set the Response Outcome for each Candidate Response.
 Click on each Candidate Response field and select Edit response outcome
 Select the required Input Type. Each type has their own set of options.

Symbolic Math
 String Match
 Algebraic

Basic Numbers
 Equal
 Abs. Tolerance
 Rel. Tolerance
 Unequal
 Greater than
 Less than

Symbolic Math
 Select the variable to be evaluated against
 Select the outcome
 Correct
 Partially Correct
 Incorrect
Symbolic Math
Selecting the Symbolic Math Input type will allow candidates to enter both values or a formula as their response. How this input is then evaluated is dependent on the option selected from the next dropdown.
String Match
Important: Switch off simplification by adding simp: false;
to the programme model otherwise the equations within the variable will be automatically simplified (eg. '1+2+3' will become '6' and '6' will be the string validated against. Adding simp: false;
will keep the string as '1+2+3').
String match requires the candidate to enter the exact same response as the variable selected. For example, if evaluating against the variable answer: x+y+z;
to get the correct response the candidate must enter x+y+z. z+y+x or any other combination will not be correct because a match must be identical with each character in its specific location
Algebraic
Algebraic will mathematically evaluate the candidate’s input. Provided their response is mathematically correct, it will be evaluated accordingly. For example, if evaluating against the variable answer: x+y+z;
to get the correct response, it would not matter what order each value was in because the sum of all three is the same.
Even if the required input is entirely numeric, provided the input is mathematically the same, it will be treated the same. For example, if the question required the answer to (5 + 5) x 10^{2}, the following would all be correct answers using the Symbolic Math: Algebraic input type.
 10^3
 10 * 100
 1000
 500 * 2
 etc…
Important
For Algebraic responses, the multiplication operator must be included in the candidate response.
eg. \( 2 \times x + 21 \) rather than \(2x + 21\).
Candidate responses can be reviewed in the Grade module and marks overwritten if they forget to do this.
Basic Numbers
Selecting the Basic Number Input type will only allow candidates to input a numeric value (including decimal places). The functionality with the Basic Numbers Input Type is the same as Numerical Simulation. Where the options are:
Equal
The candidate input is exactly the value of the variable as setout in the programme model.
Abs Tolerance
The candidate input can be between a set value lower and higher than the variable as setout in the programme model.
See Absolute and Relative tolerance for more information.
Rel Tolerance
The candidate’s input can be between a higher and lower range relative to a percentage of variable as setout in the program model
See Absolute and Relative tolerance for more information.
Unequal Than
The candidate input is any value other than the value of the variable as setout in the programme model
Greater Than
The candidate input is greater than the value of the variable as setout in the programme model
Less Than
The candidate input is less than the value of the variable as setout in the programme model
ResponseSpecific Feedback
You can set responsespecific feedback for the candidate. See Response Feedback for further information.
Save and Preview
Once you've finished setting the Question Text, Program Model, the Response Outcomes, simply click Save. If you'd like to preview the question, click the Preview eye icon in the top right.
As an author, each time you refresh your browser the variables will be recalculated. This is not functionality available to candidates. For candidates, once variables have been calculated, they remain fixed for that attempt.