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.
| Term | Description | Related Links |
|---|---|---|
| adaptive question (QTI speak: adaptive item) | 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. Quizzes can be run in adaptive mode, which provides buttons to mark each question individually. |
|
| answer(s) | The term answer is used exclusively for the teacher defined answers
of a question. These answers are usually stored in the
quiz_answers table and are compared to the responses for
grading.
|
|
| attempt(s) | 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. 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 "attempts at a question", never just as "attempts". |
|
| event | The $stateobject (and the quiz_states table) has a
field event, 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):
quiz_process_responses, then this function is being passed the
event type in $action->event while the responses are in
$action->responses.
|
|
| question(s) | 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. | |
| questiontype | 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. | conversion guide |
| responses | 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 $state object there
is a field $state->responses, which holds an array of a
student's responses to a question.
|
response storage |
| state | Question states are saved in the table quiz_states.
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.
|
|
| session | 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. |