moodle/mod/quiz/doc/terminology.html

172 lines
7.2 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC>
<html>
<head>
<title>Terminology</title>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<!--link rel="stylesheet" type="text/css" href="doc.css"-->
</head>
<body>
<h1>Terminology in the Quiz Module</h1>
<h2>Contents</h2>
<ul class="navigation">
<li><a href='#description'>Purpose and Description</a></li>
<li><a href='#terms'>Terms</a></li>
</ul>
<a name='description'></a><h2>Purpose and Description</h2>
<p>
In order to describe and understand the quiz module, it is necessary to
understand the terminology that is used to describe its aspects. On this page
the important terms are named and explained and in some cases linked to more
detailed documentation.
</p>
<a name='terms'></a><h2>Terms</h2>
<table>
<tr>
<th>Term</th>
<th>Description</th>
<th>Related Links</th>
</tr>
<tr>
<td valign="top"><a name="#adaptive_item"></a>adaptive question (QTI
speak: adaptive item)
</td>
<td>Adaptive questions are questions that walk the user through a
directed graph of question states depending on the user's responses.
E.g. a complicated mathematical question that is answered incorrectly,
but is likely to be incorrect because of a common mistake, could provide
the user with a hint towards this mistake, apply a penalty and allow a
second attempt at this question.<br />
Quizzes can be run in adaptive mode, which provides buttons to mark each
question individually.
</td>
<td></td>
</tr>
<tr>
<td valign="top"><a name="#answers"></a>answer(s)</td>
<td>The term answer is used exclusively for the teacher defined answers
of a question. These answers are usually stored in the
<code>quiz_answers</code> table and are compared to the responses for
grading.
</td>
<td></td>
</tr>
<tr>
<td valign="top"><a name="#attempts"></a>attempt(s)</td>
<td>The term attempt is used in the sense of "Attempt at the quiz".
Depending on the quiz settings, a student may be allowed several
attempts at a quiz. An attempt is finished when the student clicks on
the corresponding button on the attempt page. Students do not have to
complete an attempt in one visit. They can navigate away from
the quiz page and return later to continue the same attempt.<br />
Within one and the same quiz attempt a student may make several attempts
at answering a particular question, at least if the questiontype allows
it and the quiz is set up in adaptive mode. These will always be
referred to as &quot;attempts at a question&quot;, never just as
&quot;attempts&quot;.
</td>
<td></td>
</tr>
<tr>
<td valign="top"><a name="#event"></a>event</td>
<td>The $stateobject (and the <code>quiz_states</code> table) has a
field <code>event</code>, which indicates the event that led to the
creation of the state. The field can take the value of any of the
following constants (defined in locallib.php):
<ul>
<li>EVENTOPEN: The attempt has just been opened and this is the
initial state of a question, i.e. the user has seen the question did
not interact with it yet.</li>
<li>EVENTSAVE: The responses are just being saved, either because the
student requested this explicitly or because the student navigated to
another quiz page.</li>
<li>EVENTVALIDATE: The student requested a validation of the
responses. (This is not supported by all questiontypes.)</li>
<li>EVENTGRADE: The responses are being graded but the question
session is not closed. This is generally the case for adaptive
questions.</li>
<li>EVENTCLOSE: The responses are being graded and the question
session is closed. Usually this happens because the whole attempt
closes, either because the student requests it or because the time is
up or because we are beyond the due date.</li>
<li>EVENTDUPLICATEGRADE: This is a strange one. It indicates that the
responses would have been graded had they not been found to be
identical to previous responses.</li>
</ul>
When new responses are being processed by the function <code>
quiz_process_responses</code>, then this function is being passed the
event type in <code>$action->event</code> while the responses are in
<code>$action->responses</code>.
</td>
<td></td>
</tr>
<tr>
<td valign="top"><a name="#question"></a>question(s)</td>
<td>Strictly, a question in the context of the quiz module is the set of
definitions (question name, question text, possible answers, feedback,
etc.) that constitute a reusable item. Therefore a question itself is a
static entity. All data related to interactions with a particular
question (in a particular attempt on a particular quiz) is stored in its
corresponding states.
</td>
<td></td>
</tr>
<tr>
<td valign="top"><a name="#questiontype"></a>questiontype</td>
<td>There are several questiontypes built into the quiz module, however,
due to the plugin architecture of the quiz module, it is possible to
define custom questiontypes. Existing questiontypes include true/false,
multiple choice, short answer, numerical and calculated questions.
</td>
<td><a href="http://moodle.org/mod/wiki/view.php?id=2935&page=Guidelines+for+converting+existing+questiontypes">conversion guide</a></td>
</tr>
<tr>
<td valign="top"><a name="#responses"></a>responses</td>
<td>Conceptually these are the students' responses to a question. This
is always used in plural, although for some questiontypes there is only
one possible response. In the runtime <code>$state</code> object there
is a field <code>$state-&gt;responses</code>, which holds an array of a
student's responses to a question.
</td>
<td><a href="responsestorage.html">response storage</a></td>
</tr>
<tr>
<td valign="top"><a name="#state"></a>state</td>
<td>Question states are saved in the table <code>quiz_states</code>.
States always "belong" to a question within a particular attempt and are
therefore also user specific. The first state in a question's life cycle
during an attempt records the fact that the user has seen the question.
This state is never modified, however, it can be superseded by a new
state, which represents a user interaction. Different user interactions
are defined by the events, a set of constants, one
for each possible type of user interaction.
</td>
<td></td>
</tr>
<tr>
<td valign="top"><a name="#session"></a>session</td>
<td>A question session is the complete history of question states that
the question is taken through. Usually only the most recent state and
the last graded state are of interest though.
</td>
<td></td>
</tr>
</table>
</body>
</html>