Quest Ladder
TeachFORGE.ai
Quest Ladder / Dynamic variables
Dynamic variables: one type, endless questions
Say which parts of the question change, and the same design produces a different question every time it is asked.
Write it once. Ask it a hundred times.
What a variable is
A dynamic variable is a value that changes between generated versions of the same question type. The panel is headed Dynamic parameters, and in the manual lane it opens with the plain instruction to add each variable you need, choose its type and set its constraints.
Each sampled value is reused consistently everywhere in the question — the stem, the answer, the hints, the solution and any visual. Set a triangle's base to 7 and every part of that version of the question agrees it is 7.
This is what makes the Quest Ladder worth the setup. A type with three variables and sensible ranges is a question bank, not a question, and a learner who retries gets a fresh problem rather than a memory test.
The eleven types
| Type | For |
|---|---|
| Integer | Whole numbers. |
| Decimal | Numbers with a set number of decimal places. |
| Algebraic letter or symbol | The letter itself varies, so the question is not always about x. |
| Text or scenario choice | A word or a whole scenario picked from a list — the name, the context, the substance. |
| Value with unit | A number and its unit together. |
| Quantity with unit | The same idea where the quantity itself is the concept. |
| Numeric dataset | A whole set of numbers, for statistics questions. |
| Symbolic formula | An expression that varies. |
| Matrix | A matrix of values. |
| Vector | A vector. |
| Complex number | A complex value. |
Setting one up
Each variable has an Id — the short name you refer to it by — and a Purpose, which is prose for whoever reads this later, including the AI on the assisted lanes. Then, depending on the type:
- Min, Max and Step for the numeric types, with Decimal places for decimals.
- Choices (one per line) for a text or scenario choice.
- Units (one per line) where a unit varies.
- Dataset size for a numeric dataset.
Rules are what make it fair
Ranges alone produce nonsense. Two variables between 1 and 20 will eventually generate a subtraction with a negative answer in a class that has not met negatives, or a triangle whose sides cannot close.
- Rules for this parameter (one per line) constrains one variable on its own.
- Rules involving multiple parameters (one per line) constrains them against each other — the one you will use most.
Write the rules at the same time as the ranges, not after a learner finds the bad case. Generate a handful of samples and read them: the failure is always obvious once it is on screen and never obvious in the ranges.
Placing a value
A variable reaches the question through a token. You rarely type these — the Insert tray puts them in — but they are readable, and recognising them helps when something renders oddly.
| Token | Means |
|---|---|
param | The sampled value of a variable. |
expr | An expression computed from variables. |
derived | A computed fact, defined once and reused. |
addon | A smart add-on's output. |
blank | A numbered gap in a fill-in-the-blank question. |
Computed facts deserve their own mention. Under Computed facts, Add fact defines a value derived from the sampled variables — a greatest common divisor, a simplified numerator — and it is referenced the same way a variable is. Defining it once means the stem, the answer and the solution cannot disagree about it.