Interactions of -arrow- with -size-, -rotate-, -long-, -jkey-, and -copy-
When an -arrow- command is performed, several things happen. An arrow character is displayed on the screen, cuing the student to enter a response. A note is made of the unit and location within that unit of the -arrow- command so that TUTOR can return to this marked spot when necessary. Even the trail of -do-s (and/or -join-s) which brought TUTOR to this -arrow- command is saved, so that each restart at the -arrow- will be at the appropriate level of -do- relative to the main unit. The current settings of -size- and -rotate- are saved, to be restored each time so that you can write a size-3 reply to a student's incorrect response without affecting the size of his or her corrected typing. In other words, responsecontingent settings of -size- and -rotate- are temporary, whereas in other circumstances they are permanent until explicitly changed:
The last writing appears in size 2, rotate 0 despite the size 4, rotate 30, that were contingent on the student's response, “dog.” When the search state is initiated, the original size and rotate settings are restored. Similarly, if “dog” had been judged wrong, the student's revised typing would have been in size 2, not 4, because the original size and rotate are restored before waiting for the student's revised input.
Executing an -arrow- command has other important initialization effects:
- A default response limit of 150 characters is set. The student cannot enter a response longer than 150 characters (including “hidden” characters such as shift-codes and superscripts). This can be altered by following the -arrow- command with a -long- command to change this to as much as 300. If this is a “long 1,” judging will commence as soon as the student types one charac- ter. If more than 1 is specified, the student is prevented from entering more characters and must press NEXT to initiate judging, unless a “force long” statement has appeared in the unit.
- A default specification of “judging keys” is set. In most cases, the NEXT key is solely responsible for starting the judging process. However, there are two other possible ways to begin judging: (1) hitting the limit with a “force long”; or (2) if there is a “long 1”, typing one character will begin judging. This can be altered by following the -arrow- command with a -jkey- command to specify additional judging keys (NEXT is always a judging key). One example is “jkey data,help” which would make the DATA and HELP keys equivalent to the NEXT key at this arrow.
- A default specification is set to disable the COPY key. The -arrow- command can be followed with a -copy- command to specify a previously stored character string to be referenced with the COPY key. An example is “copy v51,v3”, where v51 is the start of the character string and v3 is the number of characters. This way of specifying a string of characters is the same as the scheme used with -storea- and -showa-.
Some explanation of the COPY and EDIT keys is required. The EDIT key is always available for the student to use in correcting his or her typing. Pressing the EDIT key the first time erases all typing, after which each press of the EDIT key brings back the typing one word at a time. This makes it easy to make corrections and insertions without a lot of retyping. Each press of the COPY key, on the other hand, brings in a word from the character string specified by the -copy- command, as opposed to bringing in the student's own typed words with the EDIT key. One example of the use of the COPY key is seen in the PLATO lesson editor. In this case, you as an author can use the COPY key in insert or replace mode to bring in portions of a preceding line without having to retype. The COPY key must be specifically activated by a -copy- command, but the EDIT key is always usable, unless you specify a -long- greater than the normal limit of 150. (To use the EDIT key on responses longer than 150 characters requires you to furnish an edit buffer through an -edit- command.)
The -long-, -jkey-, and -copy- commands all override default specifications set by the -arrow- command. They can be thought of as modifiers of the -arrow- command. If they are to have an effect on the student's first response, they not only must follow the -arrow- command but must precede any judging commands:
If -jkey-, -copy-, or -long- came after the first judging command, the -arrow- defaults would hold for the first response because the modifying command would not have been executed yet.