Introduction to QuizComposer - quizzes


Learning by doing

Assignments via Internet servers

Access for quiz authors

Access for answerers

Based on standards

Defining a quiz using a schema or form

Language versatility

Three kinds of quizzes

'Multiple-choice' quizzes

Your own first "multiple-choice" quiz

Dialog quizzes for training/learning

Your own first dialog quiz

Collecting incorrect answers

Generating almost-alike quizzes


Your own first test quiz

Question and answer types in dialog and test quizzes

Numbers and intervals

Word answers

Character patterns

Sequences and sets

Mathematical formulas in answers

Insertion of images

Answer with coordinates

Mathematical symbols and formulas

Sharing a quiz with others

If you wish to know more

QuizComposer is an Internet-based system for creation and use of quizzes and questionnaires, especially for education and entertainment but otherwise for anybody to use anywhere.

An essential purpose for the system is to promote, in teaching, the method of "learning by doing". Among other things the system includes the possibility of defining so-called dialog quizzes, which function as programmed dialogs. In case an answer to a question is incorrect the question will be presented again, possibly with a hint defined by the quiz author. The hint may depend on the number of times an answer has been attempted. The hint may also depend on the answer itself.

Instead of presenting the same question, possibly with an added hint, another question in the same quiz may be presented or even another quiz. The same is true in case of a correct answer, thus there is great flexibility in creating a quiz.

Such dialogs can help students to learn while an instructor is not at hand or while the student is simply in the right mood for learning by doing an effort. Viewed more generally, dialog quizzes should be regarded as a means of promoting structured reasoning.

It is also possible to create test quizzes (for examination), to be answered once by registered answerers. In test quizzes the questions may be given percentage scores for correct answers.

The system has been developed especially with hard fact subjects such as mathematics, physics and grammar in mind.

The system consists of a collection of programs running on Internet-servers with Linux or UNIX, the server program Apache and the programming language Python. A running system on a server is called a quiz or questionnaire server or plainly, a server.

With the system, it's a simple matter to edit a quiz or questionnaire to be answered by one or more persons, for example pupils at a school or college, participants in a course or competition, or applicants for a job. Here you can see examples of quizzes and examples of questionnaires and the forms by which they are defined.

The rest of this introduction is concerned with quizzes only. There is a separate introduction to questionnaires.

To create a quiz on a server you must normally have obtained an identification (a user name) and a password from the administrator of the specific quiz server you wish to use.

You can, however, try out most of the system with a temporary guest account generated automatically on or another server.

On the present quiz server you can normally create trial quizzes which only you can answer.

You can get an account for either a course or an autonomous author. A course will often have a number of associated participants pre-registered by the server administrator. However, the server administrator may also leave the registration of answerers to the owner of the account.

A course can have only one identification and one password. If the quizzes and questionnaires for the course must be written by two or more persons they must share the identification and password.

A quiz server can be implemented in such a way, that it is only accessible via a higher level system for communication between teachers and students and, possibly, a school administration. Such a Learning Management System has its own registers for all involved persons and courses etc. The system defines on the quiz server all courses and their participants and controls all access to the server for authors and answerers.

An autonomous author must for each closed quiz (i.e. a quiz with limited access) register participants, each with a unique password.

Your quiz is created as an HTML-page (or an XHTML-page if it contains mathematical formulas in MathML, see below) which is placed on the server, such that anyone with access to the quiz server can, depending on the type of quiz, open the quiz and answer the questions. Answering is done by clicking buttons or typing text into entry fields associated with the questions. When the answerer clicks a submit button in the quiz, the answers are sent to the quiz server for immediate comparison with the specification of correct answers and the result is displayed.

Questions can be expressed in plain text only or in HTML (Hypertext Markup Language) or XHTML (Extended ...) with all its features such as inserting images and tables and its many options for choosing fonts and colors possibly via CSS (Cascaded Style Sheets) and for creating dynamic effects by programming in JavaScript. You can define a private logo for every single quiz or all your quizzes.

Quizzes can be created in any western language according to the standard ISO-8859-1. For languages other than English, you must define every phrase which may possibly be presented to answerer including error messages (and you can do so in English too, of course).

You define quizzes and questionnaires with either a schema or a form. You choose schema or form from the page listing your quizzes and questionnaires. Forms are filled-in directly from your keyboard. Schemata are filled-in, or rather, modified on your computer.

It is possible for one and the same quiz to alternate between the two possibilities. When a quiz is created from a schema the corresponding form is generated simultaneously. From a form for a quiz you can generate its corresponding schema for you to copy to your computer and modify.

Most persons will probably prefer using schemata, since these can be editted with a word processor. The rest of this introduction focuses on defining quizzes using schemata.

To define a quiz using a schema first start up a form from which you copy the right schema from the Internet to your computer. Then edit the schema with a suitable word processor and save it as an HTML file. Use for example LibreOffice or Google Docs. When the schema is ready create the quiz with the same form you used to copy the original schema to your computer.

QuizComposer has mainly been tested with LibreOffice (version 3).

There are three kinds of quizzes, namely multiple-choice quizzes, dialog quizzes and test quizzes.

are answered mainly by clicking one or more buttons in each question. But you may also define questions to be answered with arbitrary text. To create such a quiz you need only know very little more than that a button is defined with brace or bracket containing a lower case letter a-z. Use a brace, e.g. {a} in questions, where only one button may be clicked (i.e. pressed). Use a bracket, e.g. [a] in questions where more than on button can be clicked (i.e. down) simultaneously. The former are called radio buttons, the latter are called checkbox buttons. You can associate with each button a score to be summed up and displayed in result presentations. You can specify summation within groups of buttons by associating group names with the scores.

Multiple-choice quizzes can de defined to be answerable by anybody, with or without registration of results, or answerable for a predefined group of participants only. For quizzes answerable for anybody you may specify whether answers should be registered or not. Quizzes which can be answered by anybody without the answers being registered are, actually, self tests, e.g. personality tests.

Click here to create a trial multiple-choice quiz using a schema.
here to create a trial multiple-choice quiz using a form.

Multiple-choice quizzes are, actually, very similar to questionnaires. Click the last link to learn more about multiple-choice quizzes.

In a dialog quiz when an answer is incorrect, the question is presented again such that a new answer can be stated. Furthermore the questions can be taken one at a time. Each question can be linked with any number of hints (i.e. a new hint can be defined for each attempted answer). A hint can depend on the answer received. The hint may be a simple text, an image, a reference to a page on the Internet, etc. Furthermore a correctly answered question can trigger a bonus (reward).

Hints and rewards can specify the next question (or the next quiz) to be presented. You can thus create quizzes with questions to be presented only if another question was answered incorrectly - or correctly. Such quizzes will be called hyper quizzes (there doesn't seem to be a generally accepted name for such quizzes, and hyper designates a corresponding quality in HTML).

Click here to create a trial dialog quiz using a schema, here to create a trial dialog quiz using a form.

All answers are anonymous, meaning that only the answerer knows, what answers she or he has stated.

For a dialog quiz you can start a process of collecting incorrect answers and have them displayed clearly at any time. Notice however, that incorrect answers are not registered before all questions in the quiz have been answered correctly in one and the same session (a process which will not be defined here). Thus, if an answerer gives up during the process his/her answers won't be registered. By adding correct answers as the last hint for for a question your chances of having incorrect answers registered is improved.

Notice that the answerer is anonymous and that he/she can delete incorrect answers by using the BACK button.

The summary of incorrect answers for a quiz includes the number of sessions in which one or more questions were answered incorrectly and the number of sessions in which no questions were answered incorrectly.

You can generate dialog quizzes which differ from each other only by relatively short character strings. The quizzes are generated from a template quiz and a table defining the differences.

A test quiz (sometimes called an assessment quiz) can only be answered by participants registered for the test and each participant can only answer it once. Questions can have an associated score. You can view the results as the answers come in. Answers are evaluated immediately and the score is presented to the participant, if you wish so.

Click here to create a trial test quiz using a schema, here to, using a form, create a trial test quiz, which only you can answer.

As in multiple-choice quizzes a question may have a number of options, presented as radio or checkbox buttons.

Otherwise, the answer to a question may be text typed in a text-box. If the answer is a number, you may define the correct answer as any number in an interval, for example:
An answer like 10/3 (i.e. 10 divided by 3) would be correct, because it's between 3.2 and 3.4. You may, as the quiz writer, determine that an answer should be evaluated by a simple expression in the encoding language, Python. For example, by using the command:
  not 0+-1
you specify that the answer should be outside the open interval from -1 to 1.

You can also write expressions indicating one or more intervals for the answer. In the expressions the quiz answerer's response must be represented by ?-marks. A simple example is:
  -2.5 < ? < -1 or 1 < ? < 2.5

An answer may be a word, or more precisely, a string and unless you determine that it may be abbreviated, an answer must be correct, character by character, apart from superfluous space characters. An example of an abbreviation is:
where the period indicates that crocodile and crochet could both be correct answers.

You may also specify that an answer must match a pattern according to a common standard widely known as "regular expressions". An example of a pattern er:
where the character ^ indicates the start of a pattern and the character pair specifies: "any sequence of characters". Thus, here again a correct answer must start with croc. Another example of a regular expression is:
where (?i) specifies that any character in the answer may be written in lower or upper case ("ignore case").

An answer can consist of several parts each typed into its proper entry field specified by a pair of brackets or braces as in:
  { Stock. }{ Oslo }{ ^(?i)copen.* }
a correct answer for the latter being for example:
Oslo Stockholm Copenha.

This type of answer is called a set (or collection) of answer parts. There is a distinction between sequences in order such as a pair of coordinates specified in brackets and sequences in no order specified in braces.

If you do not specify entry fields for answer parts they will be generated automatically. Questions to be answered with a sequence in order can be specified with entry fields interspersed in the question phrase.

A permissible answer may be defined as being a subset of a non-ordered set e.g. the names of 3 capitals in 4 specific countries in Europe as in:
  {.3    Lon. }{ Paris. }{ Ro. }{ Berl. }
A correct answer could be:
  Berlin Paris Rome
but also:
  Berl Paris Lon
in each of the 3 entry fields which will be created for the question (automatically, unless you specify the yourself).

QuizComposer has a built-in program for analysis of simple algebraic formulas with at most one single call of a monotonous function such as the formula sqrt( (xa-xb)^2 + (ya-yb)^2 ). Many questions within applied natural science (and basic mathematics) can be answered with (a combination of) such formulas. It is important to study the guide QCmath closely before attempting to use this facility.

More complicated formulas must be analyzed using more advanced programs. Servers can be rigged with a program, for checking that an answer is a correct mathematical formula in a language defined by such a program. Examples of such languages are Mathematica, Maple and YACAS, the latter being "Open Source".

Such rigging might also be possible with other types of languages, e.g. for chemistry.

The easiest way to make the introduction or a question phrase for a quiz contain an image is by inserting an image identifier consisting of a name and a format, for example
figur1.gif into a schema. The first time a schema with such an identifier is submitted to the server a form is presented in which you must state the path and name of the file on your computer containing the image. The file is copied to the quiz server and associated with the quiz, or to be more precise, the name of the quiz. Final creation of the quiz with image requires a resubmission of the schema.

An image inserted into a schema using a word processor is represented in the schema by a reference to a file that contains the image. If a schema contains such references your quiz is created in three steps as described above. In the second step you will be prompted for the path and names of the images.

Formulas inserted into your schema using a word processor are displayed as images. Your quiz will be created with these images as just described.

If you state a new name for a quiz defined by a schema then its images must be associated to the new name. You must then again state their position on your computer.

An answer with a pair of coordinates is written as two numbers separated by an underscore, e.g. -1.23_4.5e-2. The corresponding specification of a correct answer must be a so-called coordinate box written as two so-called coordinate intervals separated by an underscore.g. 2+-0.5_-5+-1.5. A coordinate interval is thus written as a number followed immediately by a plus and a minus followed immediately by a non-signed number. Decimal numbers are written with a decimal point.

Answering with a coordinate pair can be done by clicking an image defined with a width and a height if the specification of a correct answer starts with so-called coordinate span. A coordinate span is written as two pairs of colon separated numbers separated by an underscore, e.g. 20:30_35:45.

Clicking such an image presents a dialog box which displays the coordinates of the point clicked assuming the coordinate span spans the image. An ensuing click on an entry field inserts the coordinates into the entry field. Such an answer is correct if the coordinates correspond to a point within the coordinate box specified for the entry field.

Formulas in a quiz can be defined in two ways.

A formula created with a word processor is represented by an image placed on your computer in the same folder as your schema. Your schema contains a reference to the image. Read about insertion of images into your quiz above.

Alternatively to creating formulas using a word processor formulas can be written with keyboard strokes confined within two $-signs. This format follows, to some degree, the well-known de facto standard for entering mathematical texts (and the like) for scientific articles: LaTeX. Click here for more information regarding mathematical symbols.

Among the examples you will find one or more quizzes with mathematical formulas written between $ signs.

If you wish to assemble images and documents associated with a quiz definition, create a package with these items using this form which you can access form the listing of your quizzes and questionnaires. You can gather any number of quizzes and questionnaires, for example all quizzes and questionnaires for a course, together with their associated files in a single pack.

A quiz pack is a text file containing at the top information about its contents together with a description defined when the pack is created. The rest of the file is the real content formatted for transport over the Internet. A quiz pack can be made public, such that its first part can be viewed with a browser and the whole pack unpacked by any author on a QuizComposer server. Alternatively, the pack can be sent by e-mail, or some other media, be placed on a local computer and from there unpacked on any QuizComposer server.

Obviously, packs are also useful for archiving.

about creation of a dialog or test quiz, then click this complete guide. If you wish to know more about creating a multiple-choice quiz, click this guide Finally, if if you wish to learn about the possibilities concerning questionnaires then click this introduction and this guide.

Have a good time!