Summary of Sequencing Commands
You have learned a variety of commands which enable you to control the sequencing of units in a lesson. These include commands which set pointers (-next-, -help-, -base-, etc.) and a couple of immediate branching commands (-do- and -jump-). You have seen how to have two parallel sequences of main units, a non-help sequence and a help sequence, and have used the -end- command to terminate a help sequence. Additional aspects of the connections among units will be discussed in Chapter 6 in the section on the -goto- command. Recall that the LAB, DATA, and BACK keys are activated by -lab-, -data-, and -back- commands, just as the HELP key is activated by the -help- command. The shifted HELP, LAB, DATA, NEXT, and BACK keys (abbreviated as IIELP1, LAB1, DATA1, NEXT1, and BACK1) are activated by the commands -helpl-, -lab 1-, -datal-, -nextl-, and -backl-. (When in a help sequence, the BACK or BACK1 keys will cause a return to the base unit, unless there are explicit -back- or -backl- commands to alter this.) Here is a unit which uses many of these commands:
This is an extreme case, but this unit gives the student six choices of help sequences, and which help sequence is entered depends on which key the student presses. In any of these cases, the eventual return will be to this base unit.
The commands -next-, -next I-, -back-, and -back I- are somewhat different in that they do not cause a help sequence to be initiated (pressing the corresponding key does not alter the base pointer, and one simply moves among main units of the help sequence or non-help sequence).
The same conventions apply to all these commands. In particular, a blank tag (or “q”) disables the corresponding key by clearing the associated pointer. A non-help sequence can be changed into a help sequence by specifying a unit to return to with a “base unit” statement. A help sequence becomes a non-help sequence if we encounter a “base q” or “base” statement, since these clear the base pointer.
It is important to point out that all the unit pointers, other than “base”, are cleared when we start a new main unit (either by -jump- or by pressing a key such as NEXT, BACK, or HELP). Starting a new main unit, therefore, involves a number of important initializations, including erasing the screen to prepare for the new display (unless there was a preceding “inhibit erase”).
Notice that -jump- and -do- are basically author-controlled branching commands, while -help-, -back-, -data-, etc., permit the student to control the lesson sequence.
There is another way to enter a help sequence, which is particularly useful in offering the student an index to the various parts of the lesson. Suppose the lesson is organized into chapters or topics and you wish to let the student choose his or her own sequence. In particular, the student can skip ahead, go back, or review material. It is desirable that the student be able to go to an index or table of contents at any time. One way to provide access to the index is to put a “data table” statement in every main unit. The student can then hit the DATA key and jump to unit “table” at any time. Unit “table” would contain a list of topics for the student to choose from, and it should contain a “base” statement to insure that the chosen topic be entered as a base sequence. Another way to provide access to this kind of index is by means of a single -term- command:
The presence of “term index” in the unit “table” makes it possible for the student to press the TERM key and type “index” in order to reach unit “table” at any time. (The TERM key is the shifted ANS key on the keyboard.) When the student presses TERM, TUTOR responds by asking the student “what term?” at the bottom of the screen, whereupon the student would type “index”. The student then reaches unit “table”, where he or she may choose a chapter. You can see that -term- is complementary to -help-. The -help- command in a main unit specifies where to go if HELP is pressed while in that main unit, whereas the presence of -term- in a unit specifies that the unit can be entered from anywhere in the lesson. An error is made if another -term- command (with the same tag) is placed in a different unit. In this case, TUTOR would not know which unit to enter.
While the -base- command can be put at the beginning of the unit, there is some advantage to moving it later on in the unit. With -basecommands just before the -jump- commands, the student retains the option of pressing BACK to return to where he or she came from (if he or she doesn't like the available choices). This option is lost if the -basecommand has already cleared the base pointer.
The name -term- stems from an early use of this kind of facility to provide a dictionary of “terms”, whereby the student has access to the special vocabulary used in a lesson. In such an application, there are as many help units as there are terms to be defined and each unit has an appropriate -term- command:
When the student types TERM-cardiac, the screen is erased and the definition of “cardiac” is displayed by unit “cardinfo”. Immediately upon pressing NEXT or BACK, the screen is again erased and the student is sent back to the beginning of the base unit. A better procedure in this case would be to change the statement “term cardiac” to “termop cardiac”. The -termop- command refers to “term on page” and permits the display given by unit “cardinfo” to be added to the original display without any erasing.
Except for such dictionary applications, it is strongly recommended that you limit yourself to having only one unit with a -term- in it, and its tag should be “index”. This greatly simplifies the instructions to the student on how to use the lesson and minimizes what he must remember in order to move around in the lesson. In the index unit you describe the various options that are available. Even for providing a dictionary of terms, this scheme is probably preferable (one of the options could be “dictionary of terms”, which in turn would show a list of the words whose definitions are available).
It is possible to have additional -term- commands in the unit to provide synonyms:
These additions insure that the student will reach this unit by TERMindex, or TERM-contents, or TERM-choice.