STACK is a computer-based assessment package for mathematics that provides a question type for Moodle tests. Using structured templates, multiple versions of a question are randomly generated.
You can use it to create exam questions that (and their answers) contain mathematical expressions. Stack evaluates the mathematical expressions entered using computer algebra systems and provides feedback to students, e.g. in the form of points or hints on the answer.
Answers are not simply compared with a model answer, but are broken down into certain properties that must be given for the answer to be correct. In this way, consequential errors can also be recognised and assessed.
The "Stack" question interface features numerous settings. However, only the question name, the question text (which students see), a model answer at Input:ans1 and a test for correctness are mandatory.
Question name: give the question a title.
Question variables: Here you can define variables that will be used in the task, such as in a test answer (in the screenshot: variables "p", "ta" and "tac").
Question text: Enter the assignment here which students will see later. Do not delete the tags [[input:ans1]] [[validation:ans1]]. However, you can replace "ans1" with a name of your choice. You can also use previously defined variables (in the screenshot: {@p@} was previously defined as p:sin(2*x)).
[[input:ans1]] is later displayed as a box in which students can enter their answers. [[validation:ans1]] stands for the feedback on the input, e.g. missing brackets. [[feedback:ans1]] stands for the feedback from the response tree that appears later, e.g. feedback on the calculation path or the result. These tags can be inserted anywhere in the question text.
Use \(..\) and \[..\] as the format for inline formulas and mathematical expressions instead of $..$ and $$..$$ as in LaTeX.
A question can also demand several inputs. To do this, insert further inputs and feedback fields with a different name at the appropriate place, e.g. [[input:ans2]].
Input:ans1 (the name of the section changes depending on the variable name) - Click on this section to expand it. Enter at least one sample solution in the field Model answer, either written out or a previously defined variable (here: "ta").
Different input types can be selected for the sample solution. The default is an algebraic input.
If the question requires multiple inputs, a model answer must be defined for each input.
Response tree: The response tree is used to decide whether the students’ answer is correct. By default, there is a response tree with a response node for each input.
The students’ answer, “SAns”, (in our example “ans1") is compared with the teacher’s answer, “TAns”, which is the model answer (in our example “ta"). If they match (=AlgEquiv at answer test), the TRUE node is executed. If they do not match, the FALSE node is executed.
In each node, points (score) or penalties can be given based on the answer. In addition, textual feedback for students can be stored in each node. For more complex answers, it is possible to select where to continue in the tree or that the response tree ends here (=[stop]). An answer hint can also be given.
Save the questions by clicking Save changes and continue editing at the bottom of the page.
Please note: Before students complete the quiz, you should test your questions. You also need to generate answer variants for questions if they contain random variables. In the next step, we describe how this works.
Click Preview next to the "Save changes and continue editing”button to see a preview.
To test the question without random variables, click on Question tests & deployed variants at the top right of the preview.
Click on Add a test case.
Fill in the input fields as well as the expected results. Please note: At the moment, only the result can be checked in test cases, not the calculation path. The answers are automatically evaluated and displayed in green or red at the beginning of the page.
It is best to test several cases:
a correct answer
an incorrect answer for which you have stored specific feedback
answers that are correct in terms of content but may be entered with incorrect syntax by students
If your questions contain random variables, you must generate and test so-called "variants" in advance. Students will then not receive completely random questions, but one of the tested variants. This is for qualityassurance purposes.
By testing the variants, teachers confirm that they actually work and can exclude variants that are too difficult or have unwanted exceptions.
The use of pre-generated variants reduces the server load due to high computing capacity during a test.
If no variants are stored, these will be generated randomly. However, this is not ideal for the reasons mentioned above.
To create variants, click on Question tests & deployedvariants under the question name.
To add a certain number of random variants, enter a number in the box next to "Attempts to automatically insert the following number of variants: ___". Note that STACK will stop adding variants if there are 10 failed attempts to generate a new note or when one question test fails.
Add more test cases or delete failed test cases by clicking on the corresponding buttons.
Question names should be consistent and comprehensible.
Provide help for the input to students who are working with Stack for the first time, e.g. "Syntax hints".
When defining the solution, if possible, use the variables from the question instead of writing out expressions.
Test the questions in advance to ensure that correct answers are always recognised as such. Also, test incorrect inputs to ensure that they are not mistakenly recognised as correct!
Provide feedback on common mistakes.
Have students write a mock exam with Stack before using it for an official exam. Experience from the mock exam can show you where questions or feedback were not worded clearly enough or what mistakes students often make, so that these cases can also be tested.
You can find a sample exam with Stack in the TC Exam course "Test Your Exam".
Questions on Stack are basically assessed by the response tree, or the results (as points) are treated in the same way as other quiz questions in the TeachCenter.
You can view more detailed results for the "Stack" questions as well as for the other quiz questions by clicking on the red gear symbol > Results in the "Quiz" activity at the top right.