The QUEST tool to produce multiple-choice answers pages
Introduction
On the web we can find a few tools that produce tests and quizzes for
the inter- or intranet. However, these tools are not specialized to deal with
high level math and to develop multiple-choice questions cointaining
special caracter and formulas is often difficult and/or boring. In this
section we describe how a teacher can easily create a PHP training page
by starting from a simple Word or LaTeX document.
Basic idea
Several programs can translate a scientific Word or LaTeX document
in an HTML document (eg LaTeX2HTML, for LaTeX, and
MathType, for Word). However, to produce a training page we need to
automatically add same radio buttons and a process that allow to check the
correctness of each answer. In an HTML file the symbol '$' is not
processed. This means that if the scientific document contains, for
example, the special word $command$ this string will not be corrupted
when we translate the scientific document in an HTML document. So, we
can:
write with the favourite word processor a document where are planned
multiple-answer questions;
add to the original document some simple keywords in between two
dollars symbols;
translate the document into an HTML document;
convert the HTML document in the final PHP page substituting the
keywords in between the two dollars with appropriate PHP code.
The step 4 is provided by the QUEST tool.
Figure 1 shows an example of document containing several keywords that
will be interpreted by the QUEST tool. Here, all the keywords are in
capital letters in order to differentiate them from the regular text,
but the QUEST program is case insensitive.
Figure 1 - Example of document containing a few keywords that are
interpreted by the QUEST tool.
QUEST keywords
As shown in Figure 1, at the beginning of the document is mandatory to insert
the keyword $START$ followed by the name of the PHP file (name of the training
session) that the QUEST program will create at the end of the process. Then,
excluding the keywords $SCORE$ and $NEXTPAGE$, all the other keywords has to
be specified in between the $START$ and the $END$ keyword. In particular, the
$END$ keyword will be replaced with the 'Submit' button. We have planned that
the document is divided in several sections having a progressive number. Each
section can contain one or more multiple-choice questions. Furthermore, for each
multiple-choice question only one is the correct answer. To specify a new section
we have to insert the keywords $QUESTION$. This keyword will be replaced by a
progressive number N and all the following radio button will be referred to the
question number N.1. For example, the first time we have the question number
1.1, the second time the question 2.1, and so on. If inside a section we specify
the keyword $SUBQUESTION$ all the following radio button will be referred to
a question number equal to N.2. Each time the keyword $SUBQUESTION$ is specified
into a subsection, the digit on the right is increased by an unit. To show in
the final document a radio button we have to write $RF$ for a false answer and
$RT$ for a true one. The number of $RF$ keywords is arbitrary but only a one
$RT$ keyword must be present. The keyword $RESULT$ specifies where, after one
has submitted the page, has to appear one of the following messages: OK,
This
is not the correct answer
We can also associate with a wrong or correct answer a longer message. To
do this we can use one of or both the following keywords: $MESSAGEFALSE$<<message_body>>
$MESSAGETRUE$<<message_body>> where message_body has to be replaced
by the text of the message. Moreover, two additional keywords can be introduced
(see Figure 1 at bottom). The first is $SCORE$ and will be replaced by the
number of correct answers. The second is $NEXTPAGE$<
>. This last keyword will be replaced by the link specified in between << and >> only
if all the answers are correct.
Below we show the result obtained by applying the QUEST tool to the page of Figure1.
Figure 2 - Example of PHP page made by the QUEST tool.