The Prompt unit

A Prompt unit defines one exchange between the system and the student. It must specify the system’s prompt (which may include a multimedia file), the student’s permitted response and the Lesson the Prompt belongs to. It may also include some other information. A typical example looks like this:

Lesson         animals
Group          1
Multimedia     cat.png
Text/english   What is it?
Response       ?( it's | that's | it is | that is ) a cat
AudioHelp      help/a_cat.m4a that's a cat

A Prompt starts with a line containing the single word “Prompt” and ends with a line containing the single word “EndPrompt”. The content lines have the following meanings:


The Lesson line says which Lesson the Prompt belongs to. A Prompt must have exactly one Lesson line. Typical example:

Lesson animals


The Group line says which Group the Prompt belongs to. A Prompt must have exactly one Group line.

The Group line can be used for two different purposes. If the value is a number, it controls the order in which Prompts are presented during a lesson, with the lower-numbered prompts presented first. If the value is a non-numerical identifier, it can be used to link Prompt to steps in a script, for a course which defines a dialogue.

Typical example:

Group 1


The Text lines gives the text prompts for the student languages (L1s). A Prompt must have one Text line for each L1.

Typical example:

Text/english   What is it?


A Multimedia line names a file in the multimedia directory, which will be displayed as part of the prompt. If you wish to use Multimedia lines, you must declare your course as using the multimedia client.

The following types of multimedia files are currently supported: au, gif, jpg/jpeg, mp3, m4a, mp4, png, txt, wmv, wma, wav.

Typical example:

Multimedia     cat.png


The Response lines specify the different ways in which the student is allowed to respond. There must be at least one Response line in a Prompt. A simple example of a Response line is the following:

Response a coke please


Prompt lines are allowed to use simple regular expression notation to express variants compactly. Alternation is expressed using the symbol |:

Response a ( coke | coca-cola ) please

Optional material

A question-mark ? indicates optional material, for example:

Response a coke ?please


An identifier starting with a dollar sign $ indicates a phrase, which must be defined using a Phrase entry:

Response $i_would_like a coke

Incorrect response

The asterisk * indicates an incorrect response, i.e. a response which will be recognised but fail to match the prompt. The simplest way to use the asterisk is just to put it at the beginning of the prompt:

Response *i wants a coke

It is also possible to include it inside an alternation, to mark that one of the variants is incorrect. So

Response i ( want | *wants) a coke

is a more compact way to write

Response i want a coke
Response *i wants a coke


An AudioHelp line defines an audio file, which must be placed in the multimedia directory. The line includes both the name of the file and a transcription of the content. This information is displayed in the Help area if the student presses the Help button.

Typical example:

AudioHelp      help/a_cat.m4a that's a cat


A TextHelp line defines a piece of text, which is displayed in the Help area if the student presses the Help button. If both AudioHelp and TextHelp lines are provided, the system will currently only display audio help.

Typical example:

TextHelp      that's a cat


By default, the Prompt issued at each step is chosen randomly from those available. In a scripted dialogue application, though, it is sometimes necessary to make sure that two Prompts are consistent with each other. A Tags line defines one or more key/value pairs; the result is that other prompts issued in the same session are required to have consistent Tags values.

Typical example:

Tags missing_hotel_item=showergel