Writing Moodle Questions
Moodle is the Learning Management System used on the ITC CLASS server. If you are asked to write Moodle compatible questions the preferred format for doing so is the GIFT format which can be directly imported by Moodle. The complete GIFT format documentation can be found on The Moodle GIFT site but this should give you enough information to get started with the most popular types of questions. In some classes only certain types of questions are accepted by your instructor, check your assignment page specific to your class to find out what question types are allowed.
How to Write Test Questions 101
While it might seem like it should be easy to write test questions, doing a good job of it actually takes a bit of time and effort. Before you begin there are some things to learn about what makes a good test question and why. This section of the page gives you a basic introduction on how to write good test questions, with an emphasis on multiple choice single answer (MCSA) questions. These are probably the most popular type of exam question.
To write a good test question you need to first determine what content you are going to ask about. It's impossible to ask a question about everything that should be learned in a reading or a lab activity so you need to determine what the most important parts of the reading or activity are. Looking at an outline of a reading, either created from the headings of the reading, a table of contents, or your own outline notes along with a good understanding of the content yourself should provide some clues as to the most important sections. It's also important when writing multiple questions that they don't all focus on just one or two parts of the topic, questions should be spread across all of the content. If you'd like to review how to read for understanding and taking notes on a textbook a good place to start is the Cornell College page on reading textbooks.
The next thing to determine is what level of understanding you want to check for with question you're writing. For any given topic you can ask a a simple question where you're just asking someone to recall something such as a definition, command, etc. or you can ask much more complex questions such as to design something new or to identify the cause of something. There are lots of ways of describing these different levels of questions but perhaps the most common is by using something called "Bloom's Taxonomy" which divides types of learning (and testing) into remembering, understanding/comprehending, applying, analyzing, creating/synthesizing, and evaluating. You can learn much more about Bloom's Taxonomy if you do some searching online. A helpful resource is a chart like this one from Fresno State which includes a description of each level as well as some sample verbs which describe things you can ask someone to do to test that level of understanding.
Ideally you want to test for multiple levels of understanding across the topic when writing test questions. Not all questions should be simple remembering/recall questions, and not all questions can be higher level understanding questions. You can get an idea of what different levels of questions look like in the multiple choice format in this handout on Levels of Learning & Bloom's Taxonomy. As you might have already figured out by reading these resources the activity of creating test questions is a way of checking understanding itself. In fact, it's a pretty high order of learning requiring the creation/synthesis of a good question based on the material, which is why you're being asked to do it!
Once you have an idea about the specific information you want to ask about and what level of understanding you want to check for you need to get down to actually writing the question. There are a lot of rules to making a good multiple choice test question. A good resource to read through and follow is the Vanderbilt University guide to Writing Good Multiple Choice Test Questions.
Additional Resources
- Writing Good Multiple-Choice Exams by Dawn Zimmaro
- Writing Multiple-Choice Questions for Higher-level Thinking by Mike Dickinson
Formatting Questions for Moodle
There are three main sections to a Moodle question: the question name, the question and the answer section. The answer section should also include feedback about why the answer is correct or incorrect and where the answer can be verified.
It is not uncommon for questions about computer topics to include some of the special question formatting characters like curly braces, tildes, hashes, equals signs and slashes (forward or backward). If these special characters are part of the question, answer or feedback each one needs to be escaped. To escape a special character you put a single backslash in front of it such as \# which will print just as a # when the question, answer or feedback is displayed.
You can work on the questions in any text editor though a plain text editor is best. An example of a plain text editor on Microsoft Windows is the notepad.exe program. When submitting new questions you should simply copy and paste the question text into the body of an email message, be sure not to add any additional formatting.
Moodle Question Types
Multiple Choice Questions
Multiple Choice Single Answer
A basic multiple choice question, with one correct answer, is easy to write in the GIFT format. This type of question is referred to as a Multiple Choice Single Answer or MCSA question. MCSA questions should usually have four choices, one which is correct and three which are incorrect. The incorrect answers should be believable but definitely wrong.
A basic MCSA example:
// This line is a comment. You can use comments for your own use, they are not required ::The name of your question goes here::The text of your question goes here?{ =The correct answer begins with an equals sign ~An incorrect answer begins with a tilde ~Another incorrect answer ~A third incorrect answer }
Note that the correct answer begins with an equals sign (=) and incorrect answers begin with tildes (~). All of the answers are indented with a tab.
When you write an actual question you should provide feedback about why answers are correct or incorrect and where the answer can be verified. Feedback comes after each answer and is separated from the answer by a hash sign (#). The question name should usually be identical to the question text but if the question is long or has special formatting the name of the question should be a short and simple description of what the question is asking about instead of a complete duplication of the question. Here's an example of a complete MCSA question:
// This question is a basic question about the OSI model, remember this line is just a comment for your own use ::What is a layer three network address most commonly called?::What is a layer three network address most commonly called?{ =An IP Address#IP Addresses are the type of address most commonly used at layer three of the OSI model. (Textbook p. 42) ~A MAC Address#MAC Addresses are layer two addresses (Textbook p. 42) ~A NetBIOS Address#NetBIOS addresses are not as common as IP Addresses (Textbook p. 41) ~A Sector Address#Sector addresses are used for locating data on disks, not for networking. }
Remember that the "answers" displayed will just be "An IP Address, A MAC Address, A NetBIOS Address and A Sector Address. The remainder of each line is feedback about why each answer is correct or incorrect and where the answer can be verified. Also remember that it is not uncommon for questions about computer topics to include some of the special question formatting characters like curly braces, tildes, hashes, equals signs and slashes (forward or backward). If these special characters are part of the question, answer or feedback each one needs to be escaped. To escape a special character you put a single backslash in front of it such as \# which will print just as a # when the question, answer or feedback is displayed.
You should never have answers that refer to the location of other answers (all of the above, choices a, b, and c, etc.). The answers to each question are presented in a random order so it is not possible to know which answers are above the current answer or what letter choice each answer will be. If you have a question like this it is better to create a multiple choice multiple answer (MCMA) question instead.
Multiple Choice Multiple Answer
A more complex multiple choice question has more than one correct answer. This type of question is referred to as a Multiple Choice Multiple Answer or MCMA question. MCMA questions should have at least four choices. At least one choice should be correct (the choice could be "None of these") and at least one choice is normally incorrect though once in a while it is alright to have all of the answers be correct. Incorrect answers should be believable but definitely wrong.
The key differences with MCMA questions is that all of the answers begin with a tilde (~). Each answer (correct and incorrect) must be assigned a percentage of the credit for the overall question. The points for all of the correct answers should add up to 100% and these should normally be divided equally among all correct answers. Incorrect answers should be worth -100%.
// This question asks about Linux tools which can discover open ports on a system ::Which tools would help discover open ports?::Which tools would help discover open ports?{ ~%-100%DHCP#DHCP provides IP addresses and has nothing to do with open ports (Textbook p. 392) ~%33.333%netstat#Netstat provides a list of all open ports on the local system (Textbook p. 414) ~%33.333%nmap#Nmap can be used to find open ports on local and remote systems (Textbook p. 487) ~%-100%SSH#SSH is used for remote connections to another system, not finding ports (Textbook p. 499) ~%-100%find#Find is used for finding files, not ports (Textbook p. 212) ~%33.333%lsof#Lsof can list open ports as well as files (Textbook p. 485) }
Note that is this example there are three correct answers so each one is worth 1/3 of 100% which is rounded off to three decimal places 33.333%.
Matching Questions
With a matching question you are given the first part of a pair and asked to select the second part from a list of possible choices. For formatting and readability purposes it is better if you put longer parts of the matched pair first and shorter parts second. The second part of each answer is what will appear in the dropdown box. Matching questions can contain any number of matched pairs, but it is generally best to have 4-6 pairs. Note that with a matching question each answer line begins with an equals sign (=) and the two halves of the matching section are linked with an arrow (->) made up of a dash (-) and a greater than sign (>). The GIFT format does not allow feedback for matching questions so you do not need to include feedback about why answers are correct or incorrect for this question type.
Example:
// This question is asking about the filesystems used by various operating systems ::Match the following filesystems with their features.::Match the following filesystems with their features. { =A non-journaling popular Linux filesystem -> ext2 =A journaling popular Linux filesystem -> ext3 =The default Windows 2000 filesystem -> NTFS =A widely implemented filesystem used in MS-DOS -> FAT }
True/False Questions
True/False questions are easily created on a single line but should be used sparingly. If you are editing an existing question pool no more than 10% of the questions should be true/false. If you are writing new questions follow the information from your instructor about how many of your questions may be true/false.
True Statement Example:
::Apple sold personal computers before IBM did.::Apple sold personal computers before IBM did.{TRUE#The Apple I came before the IBM PC.}
False Statement Example:
::Al Gore invented the Internet.::Al Gore invented the Internet.{FALSE#He did assist in providing funding though.}