For our short form assessments, we have three possible item types that you can use. While there are preferences for testing different types of knowledge and skill, there are always exceptions. Consider this a guide rather than a set of rules, but do reach out to the team if you are not sure of how to approach testing something specific.
Multiple Choice
Probably one of the most familiar item types to most people. Multiple choice items are great for testing knowledge at all levels. It could be factual knowledge (what is a mean?) or more applied knowledge (which model to use in a situation). As it is used more widely in the assessment industry, more research has been conducted into them and you will notice that a large number of our guidelines relate to this type of item.
See here for how to author these items in teach.
Fill-in-the-blank
Fill in the blank items are like multiple choice but for code. This lets us test lower level skill, i.e. being able to recognise the right function to use rather than being able to produce that knowledge themselves. They appear less frequently in our assessments right now, but that doesn’t mean that you shouldn’t use them. In fact, there are some instances for high level knowledge that we have to use them too - think functions that generate random output.
Many of the multiple choice guidelines also apply here but with some adaptations due to the way in which they work.
See here for how to author these items in teach.
Typing
These items let us test higher levels of knowledge related to use of functions. For instance, suppose we want to test knowledge of when to use a WHERE clause in a SQL statement. A fill in the blanks item would tell us that they can identify WHERE as the right option, but a typing challenge tells us that they are able to produce that knowledge in the right situation. For objectives related to application this is our preferred type of item.
See here for how to author these items in teach.
In the very near future we hope to have another version of this that will require production of the entire block of code rather than just a single function or argument. We will provide more information on this as soon as it is available.