The Course unit

A course description file must have exactly one Course unit. The following example from the Level 3 multimedia course shows the basic syntax:

Name           visual2_course
L2             english
Languages      english
Client         multimedia_client
Feedback       colour_highlighting_on_response


Name           visual2_course

The Course unit must have exactly one Name line, which identifies it. The name has to be a single word.


L2             english

The Course unit must have exactly one L2 line, which specifies the L2 (the language being learned). So far, the only values allowed are english and french.


Languages      english

The Course unit must have exactly one Languages line, which specifies the L1s (the languages in which prompts are presented). The line can contain any number of L1s, separated by spaces. For example, to give french and german as L1s, write

Languages      french german


Client         multimedia_client

The Client line says what type of window the course can be run in. There are currently three options:

The simplest version, suitable for courses which use no multimedia. The Level 1 Hello World course is an example. The window contains panes for text prompts and text responses. If no Client line is included, the Course is assumed to be of this type.
Course with picture or audio prompts, like the Level 3 multimedia course.
Interactive course with scripts and multimedia, like the Level 4 Hello/Goodbye course.


Feedback       colour_highlighting_on_response

The optional Feedback line specifies how the course will respond to errors. If this line is omitted, the default response is just use the red border. The value colour_highlighting_on_response means that the course will also try to highlight incorrect words in red. Given the uncertainty of recognition, this is not always an appropriate strategy, but it can be useful.


This line can be used to change the casing of the recogition result.

RecCase       initialCapital

(default) capitalises the first letter of the recognition result and leaves the rest in lowercase.

RecCase       lowercase

puts the recognition result all in lowercase.

RecCase       uppercase

puts the recognition result all in uppercase.


You can customize recognition feedback using a RecMessage line. If the value includes the string RECRESULT, then the recognition result will be substituted. For example, the line

RecMessage     I think I heard "RECRESULT"

means that the system will for example display the text

I think I heard "A cat"

where normally it would have displayed

A cat

If you have an empty RecMessage line, i.e. just


then the system displays no recognition result.

RecMessageAccept and RecMessageReject

It’s possible to have different messages for accepted and rejected responses. To do this, replace the single RecMessage line with two lines starting RecMessageAccept and RecMessageReject repectively, for example

RecMessageAccept     I think I heard "RECRESULT"... correct
RecMessageReject     I think I heard "RECRESULT"... WRONG!!

If the system would normally have displayed

A cat

it will now display the text

I think I heard "A cat"... correct

for an accepted response, and

I think I heard "A cat"... WRONG!!

for a rejected response.


When the student reaches the end of a lesson, the default behavior is to show a message saying End of lesson and then offer to go to the lesson menu. You can specify the message by adding an EndMessage line, e.g.

EndMessage       Congratulations, you have finished the third lesson!


The number of times the student can attempt a response before the course advances to the next step. The default is 3. Example:

MaxTries      2


Set the recognition grammar to be created either from all the examples in the course:

GrammarLevel per_course

or just from the current lesson:

GrammarLevel per_lesson

Default is per_course.


Add the line

AutoAdvance    no

to stop the system automatically advancing to the next example on success.

CanMoveForward and CanMoveBack

Add the line

CanMoveForward no

to stop the student from using the forward arrow.

Add the line

CanMoveBack no

to stop the student from using the back arrow.


By default, the system shows one audio help example in response to a Help request. You are able to change this by adding a ShowHelp line to the Course unit. So for example if you add the line

ShowHelp       2

then the student will be shown two audio help examples, if at least two are defined.

If you add the line

ShowHelp       0

then the student will be shown no audio help examples.

Declarations for badges

If the course uses gamification, the Course unit also needs to include lines that determine how badges are awarded. This example shows the Course unit for the multimedia English course on the demos and resources page:

Name           english_course
Languages      french german
MaxTries       2
StartScore     100
RejectPenalty  2
SkipPenalty    5
PlainBadge     0
BronzeBadge    0
SilverBadge    90
GoldBadge      100

The lines have the following meanings:

The number of points the student starts with on each lesson.
The number of points the student loses every time they are rejected.
The number of points the student loses every time they move to a new prompt without completing the current one.
Minimum number of points required to get a plain badge.
Minimum number of points required to get a bronze badge.
Minimum number of points required to get a silver badge.
Minimum number of points required to get a gold badge.