Assesses the student's ability to carry out a simple calculation. The parameters of the calculation can be set to vary each time the question is viewed, allowing for randomisation between reuses of the question.
The question's lead-in allows for placeholders for the parameters, so the text of the lead-in is accurate.
Calculation questions support the standard preamble and postamble for Rogo questions, except that the Marking Method is fixed at 'allow partial marks'.
Calculation questions use placeholders variables to display parameters. They denote these variables using the symbols $A, $B, $C etc. The variables can then be used in various prompt fields in the question.
Take as an example the calculation of response rate to a survey. 800 questionnaires have been sent out and between 200 and 600 have been returned. The precise number returned is randomly calculated.
The lead-in for this question use variables to compose the text:
This section allows the setter to specify the variables used in the calculation. In this case $A represents the total number of questionnaires sent out, which is fixed, and $B indicates the random response rate:
Each variable must have several parameters specified:
- Min, Max: Limits on what value the variable can take
- The Min and Max can be specified as parameters. for instance, if you wanted to vary the number of questionnaires sent out, then you could use the actual variable as an upper limit of the range:
- Both these values can be linked answers from previous calculation questions, allowing setters to link questions together. Click on the Variable Link icon to do this. You can select any variable used in any question, or even the answer that the student gave.
If Min = Max, then the variable is essentially fixed and behaves as a reusable constant
- Decimals: governs to how many places the value is displayed. The default is 0 (i.e. the variable behaves as an integer)
- Increment: a decimal value indicating how granular the random variation is between Min and Max. This is mandatory. Set to 0 if the variable is fixed.
Additional variables can be added by clicking Add More Options...
Other use of Variables
Variables may be used in the Notes, Scenario and General Feedback section of the question.
This specifies the calculation that gives the correct answer. Rogo will perform this calculation and compare the student answer with it. It will then award marks accordingly.
In this case, Rogo is using a built-in function round to round-off the answer to one decimal place. The student will therefore be expected to supply an answer to that accuracy. (See the section below on Tolerance for how answers are converted to marks).
Formulae should be be entered using Excel-type notation. You may also show the units for the answer.
Add More Answers
This button allows the setter to add 'alternative' answers, especially when they may be expressed using different units. For instance, if one was seeking a probability, one could either express that as a percentage or as a value between 0 and 1. Adding another answer allows the student to express it in the most natural form to them. It will only check answers against formulae that have been specified for the units that the student chooses.: all other formulae are ignored, so it is important to enter them correctly.
Display units for question
If this is unchecked, then the student has to supply units as part of their answer (this is marked). If checked, units are displayed in a dropdown and the student simply choose the units.
Rogo supports the following built in functions:
|acosh([x])||Inverse hyperbolic cosine|
|asinh([x])||Inverse hyperbolic sine|
|atan2([y],[x])||Arc tangent of two variables|
|atanh([x])||Inverse hyperbolic tangent|
|ceil([x])||Round fractions up|
|deg2rad([x])||Converts the number in degrees to the radian equivalent|
|exp([x])||Calculates the exponent of e (the Neperian or Natural logarithm base)|
|expm1([x])||Returns exp(number) - 1, computed in a way that is accurate even when the value of number is close to zero|
|floor([x])||Round fractions down|
|fmod([x],[y])||Returns the floating point remainder (modulo) of the division of the arguments|
|log1p([x])||Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero|
|log([x],[base])||logarithm (the [base] parameter is optional defaults to 'e' and so to the natural logarithm if not provided)|
|max([x],[y],...)||Find highest value|
|min([x],[y],...)||Find lowest value|
|pi()||Get value of pi|
|round([x],[decimals])||Rounds a float to [decimals] number of places|
Tolerance and Precision
These govern how close the answer has to be to the calculated answer to get marks.
The Tolerance has two components.
- Tolerance for Full marks specifies how close the answer has to be to the actual answer to get the full marks
- Tolerance for Partial Marks: if Use Partial Marking is specified, then answers within this tolerance with gain the partial marks. This tolerance should be higher than the Tolerance for Full Marks
Precision governs exactly what the student can submit as an answer. This will be displayed on the screen as a prompt to the student and Rogo will not accept an answer that is not specified to this precision. Precision should be equal to or smaller than the tolerance for full marks, otherwise one could be forced to submit too imprecise an answer to qualify for any marks.
Completing the Question
The student sees the question as follows:
The lead in contains the values of the variables $A (800)and $B (318). The answer box shows the units that the student is expected to provide the answer in.
The student will be expected to enter an answer to the stipulated precision.
Marks are only awarded if the student's answer is within tolerance of Rogo's calculated answer. In this case, the student gets 2 marks if within the tolerance for full marks, 1 mark of with the tolerance for partial marks, and zero otherwise: