633 results authored by Christian Lawson-Perfect - search across all users.
-
Exam (21 questions) in Demos
Some questions to show off features of Numbas, linked from the Numbas homepage.
-
Question in Demos
A demo of the number entry part and its options.
-
Question in Demos
The student is shown a plot of a mystery function. They can enter values of $x$ check, within the bounds of the plot.
They're asked to give the formula for the function, and then asked for its value at a very large value of $x$.
A plot of the student's function updates automatically as they type. Adaptive marking is used for the final part to award credit if the student gives the right value for their incorrect function.
-
Question in How-tos
This question models an experiment: the student must collect some data and enter it at the start of the question, and the expected answers to subsequent parts are marked based on that data.
The student's values of the variables width, depth and height are stored once they move on from the first part.
-
Question in How-tos
This question models an experiment: the student must collect some data and enter it at the start of the question, and the expected answers to subsequent parts are marked based on that data.
A downside of working this way is that you have to set up the variable replacements on each part of the question. You could avoid this by using explore mode.
-
Question in How-tos
The student has to enter `diff(y,x,2)`, equivalent to $\frac{\mathrm{d}^2y}{\mathrm{d}x^2}$, as their answer. It's marked by pattern matching, using a custom marking algorithm.
-
Question in Demos
Demonstrates how to display a plot generated in R.
-
Question in NCL MAS2707
The student is given a connected graph and must find a minimum spanning tree.
-
Question in Programming extension
Shows how to use the programming extension's preload function to load files from the question resources into the Python or R code runners.
Look at the question's JavaScript preamble.
-
Question in How-tos
In the first part, the student must write any linear equation in three unknowns. Each distinct variable can occur more than once, and on either side of the equals sign. It doesn't check that the equation has a unique solution.
In the second part, they must write three equations in two unknowns. It doesn't check that they're independent or that the system has a solution. The marking algorithm on each of the gaps just checks that they're valid linear equations, and the marking algorithm for the whole gap-fill checks the number of unknowns.
-
Question in How-tos
The student must solve a pair of simultaneous equations in $x$ and $y$.
The variables are generated backwards: first $x$ and $y$ are picked, then values for the coefficients of the equations are chosen satisfying those values.
-
Question in How-tos
Shows how to use JSXGraph to make a sine graph with amplitude, frequency and phase controlled by sliders.
-
Question in How-tos
This shows how to define a list of LaTeX strings, and pick a couple of them at random to display.
The "JSON data" type is used to define the available strings, so they're automatically marked as "safe" and curly braces aren't interpreted as variable substitution.
-
Question in How-tos
This question shows how to generate a random set of $(x,y)$ samples, where $y = mx + c + \mathrm{noise}$.
The JSXGraph extension is used to show a scatter plot of the data. This isn't necessary if you just want to generate the data.
-
Question in How-tos
This shows how to use a variable name annotation to put a hat on a variable name inside the \simplify command.
-
Question in How-tos
A mathematical expression part with a pattern restriction to ensure that the student has extracted the highest common factor of two terms.
The answer must be of the form $a(b+cx)$, where $b$ and $c$ are coprime.
-
Question in How-tos
The student is asked to give the roots of a quadratic equation. They should be able to enter the numbers in any order, and each correct number should earn a mark.
When there's only one root, the student can only fill in one of the answer fields.
This is implemented with a gap-fill with two number entry gaps. The gaps have a custom marking algorithm to allow an empty answer. The gap-fill considers the student's two answers as a set, and compares with the set of correct answers.
The marking corresponds to this table:
There is one root There are two roots Student gives one correct root 100% 50%, "The root you gave is correct, but there is another one." Student gives two correct roots impossible 100% Student gives one incorrect root 0% 0% Student gives one incorrect, one correct root 50% "One of the numbers you gave is not a root". 50% "One of the numbers you gave is not a root". Student gives two incorrect roots 0% 0% -
Question in How-tos
The expected answer involves the logarithm of a negative number, which doesn't have a unique solution.
The part's marking algorithm evaluates the exponential of the student's answer and the expected answer, and compares those.
-
Question in How-tos
The expected answer involves the logarithm of a negative number, which doesn't have a unique solution.
The part's marking algorithm checks that the student's answer differs from the expected answer by a multiple of $2\pi$.
-
Exam (1 question) in How-tos
There's one question, which you have to get right 5 times in a row. If you get it wrong, you have to start again.
This makes more sense if the question is randomised!
-
Question in How-tos
This shows one way of laying out matrix cells in a table, so that some cells can be filled in by the student.
At the time this was written, there's an open issue for allowing some entries in the matrix entry part to be filled-in, which would make this technique redundant.
Some CSS in the preamble adds the brackets around the table - it has to have the attribute
class="matrix-gaps"
-
Question in How-tos
The student is given a quadratic formula and asked to fill in a table of values of $f(x)$ for a given range of $x$.
There is also a plot of the points, which updates when the table is filled in, or the student can move the points to fill in the table.
The table uses the spreadsheet and JSXgraph extensions.
-
Question in How-tos
The student is given a quadratic formula and asked to fill in a table of values of $f(x)$ for a given range of $x$.
The table uses the spreadsheet extension.
-
Question in How-tos
This question shows how to use the question's JavaScript preamble to request data from an external source, and use that data in question variables.
Note that this means the question only works when the external source is available. Use this very carefully, and avoid it if you possibly can!
-
Question in How-tos
This question shows how explore mode can be used to loop through several versions of the same question. The variables for each version are stored in a list of "scenarios", and a counter works through that list each time the student moves on to the next part, labelled "try the next version of this question".
-
Question in How-tos
Shows that you can embed a 3D GeoGebra applet in a content area.
-
Question in How-tos
The student is shown a passage of code in the prompt to a "choose several from a list" part.
-
Question in How-tos
A random proper fraction $a/b$ with denominator in the range 2 to 30 is picked, and the student must write $\frac{a}{b} \pi$.
The point of this question is to demonstrate that the correct answer is shown as a multiple of $\pi$ rather than a decimal.
-
Question in How-tos
The number entry part in this question has an alternative answer which is marked correct if the student's number satisfies an equation specified in the custom marking algorithm.
-
Question in How-tos
A custom marking algorithm picks out the names of the constants of integration that the student has used in their answer, and tries mapping them to every permutation of the constants used in the expected answer. The version that agrees the most with the expected answer is used for testing equivalence.
If the student uses fewer constants of integration, it still works (but they must be wrong), and if they use too many, it's still marked correct if the other variables have no impact on the result. For example, adding $+0t$ to an expression which otherwise doesn't use $t$ would have no impact.