         FORWARE SYSTEMS EDUCATIONAL SOFTWARE PACKAGES

         GETTING STARTED
         A SHORT DESCRIPTION OF THE ROO&ROBBY LANGUAGE
         ROO&ROBBY COMMAND LINE OPTIONS
         SCHOOLWORKS COMMAND LINE OPTIONS AND HOT KEYS
         ROO&ROBBY/SCHOOLWORKS DEMO LANGUAGE DESCRIPTION
         FREQUENTLY ASKED QUESTIONS


         GETTING STARTED

To start Roo&Robby, type

>r&r <Enter>

Then choose Roo or Robby. You will be given a possibility to choose a mode:
Programming, Game, Test, Demo.

To get acquainted with Roo and Robby, choose Roo first, then enter the Demo
mode and start demos in the following order:

program  rod
test     rod
game     rod

These demos explain the corresponding modes of the Roo environment. Then you
may choose Robby, enter the Demo mode and start the demo

program  rbd


To start SchoolsWorks, type

>sw <Enter>

Then choose DataBase, Sheets, or Editor. You will be given a possibility to
choose a mode: Work or Demo.

To get acquainted with SchoolWorks, choose the programs the following order:

EDITOR, then go to Demo and start          editor   edd

SHEETS, then go to Demo and start          sheets   tbd

DATABASE, then go to Demo and start        database dbd





            A SHORT DESCRIPTION OF THE ROO&ROBBY LANGUAGE
             The main characteristics of the algorithmic
           language used in the Roo and Robby environments.


1. Linear Programs:

   A line may contain only one command. No labels, GOTO, and the like.
All possible commands are attached to function keys so one can see all of
them listed in the F-key line (the top line in the screen).

2. Branchings (IF-statements) have one of the following two syntaxes:

   if <condition> then
   ............
   the end of branching

or

   if <condition> then
   ..............
   otherwise
   ..............
   the end of branching

Here and below "............." means any code without subroutines.

You may see all the possible conditions after pressing the "if" F-key.


3. Cyclings (loops) have the following syntax:

   while <condition> repeat
   ............
   the end of cycling

4. Subroutines have the following syntax:

   subroutine <name>
   ..............
   the end of subroutine

All subroutines must be placed after the main program.

Command
            do <name>

will force Roo or Robby to execute the subroutine <name>.





                     ROO&ROBBY COMMAND LINE OPTIONS


      roo [filename[.roo]] -- regular program mode
      rob [filename[.rob]] -- regular program mode
  or
      roo [-d|-s|-t|-cs|-ct] filename[.???]
      rob [-d|-t|-ct] filename[.???]

Options:

            Roo                                       Robby

 -d   demo with .rod file                -d   demo with .rbd file
 -s   test with .rot file
 -t   game with .rog file                -t   game with .rog file
-cs   create test from .roo file
-ct   create game from .roo file        -ct   create game from .rob file

To get a quick help, press CTRL+H when in editor





              SCHOOLWORKS COMMAND LINE OPTIONS AND HOT KEYS




     EDITOR:        editor  [filename[.edt]]            regular mode
                    editor -d filename[.edd]            DEMO mode

  CTRL keys:        Ctrl+F              Exit to DOS
                    Ctrl+A              Change the speed of animation
                    Ctrl+V              Sound on/off
                    Ctrl+H              Quick help

  Alt+<number>                          Do macro <number>





SPREADSHEET:        sheets  [filename[.tbl]]            regular mode
                    sheets -d filename[.tbd]            DEMO-mode

  CTRL keys:        Ctrl+F              Exit to DOS
                    Ctrl+A              Change the speed of animation
                    Ctrl+V              Sound on/off
                    Ctrl+H              Quick help




   DATABASE:        base  [filename[.dbn]]
                    base -d filename[.dbd]

  CTRL keys:        Ctrl+F              Exit to DOS
                    Ctrl+A              Change the speed of animation
                    Ctrl+V              Sound on/off
                    Ctrl+H              Quick help

        Tab:        Next field, or create a new field if currently in
                    the very right field.

        Del:        Delete symbol on the right of cursor.
                    Delete the field if the width of the field is 1.

        Ins:        Insert space symbol into the current cursor position.
                    Expand the field if there is no symbols on the right
                    of the cursor.

Non-evident F-keys AFTER PRESSING F1query:

Esc                 Interrupt query creation

Tab                 Next query element
Right Arrow         Next query element

Left Arrow          Previous query element

Backspace           Delete simple query on the left
Delete              Delete simple query on the right

F1                  Carry out the query
F2                  Trace the query
F3                  Go to the next attribute
F4                  Go to the previous attribute
F5                  Choose a sigh from: > <   = 
F6                  Choose a conjunction: AND/OR

Simple query:

    <the name of attribute> <sign> <value>

Complex query:

   <simple query> AND | OR <simple query> AND | OR <simple query> ...

Wildcards:

?         stands for any symbol
*         stands for any string









            ROO&ROBBY/SCHOOLWORKS DEMO LANGUAGE DESCRIPTION

%           Exit DEMO, stay in the environment

+<text>     Output text in the DEMO line

-           Erase DEMO line

@           Pause

$           Wait for user's pressing a key

            All other DEMO commands simulate key pressings

:<text>     Output <text> in current cursor position in an
            "editable" field

\           Simulate <ENTER> after :<text>

#           ESC

UP          UP      ARROW
DN          DOWN    ARROW
RG          RIGHT   ARROW
LF          LEFT    ARROW

ET          ENTER

PU          PageUp
PD          PageDown

IN          Insert
BS          Backspace
DL          Delete

HM          Home
END         End
TB          Tab
STB         Shift+Tab
CHM         Ctrl+Home
CEND        Ctrl+End
A0...A9     Alt+0...Alt+9

F1...F9     F1...F9

^A...^Z     Ctrl+A...Ctrl+Z

Y           Yes, when (Y/N) is required
N           No, when (Y/N) is required

See files program.rod, game.rod, test.rod, program.rbd, ... , *.??d
for details.





                     FREQUENTLY ASKED QUESTIONS


I. How to escape from a module at any point without having to reboot a
   computer?

1.1     When you are in the editor, use CTRL+F. If some activity is in
        progress (for expample, Chris is tracing your program or you
        observe the condition of a game), this activity must be interrupted
        first (usually with F1-break or ESCape).

1.2     When you are watching a demo, use CTRL+E. Sometimes it takes
        more than one pressing or even holding CTRL+E until the demo
        is interrupted. The DEMO MODE is not so frequently used, and
        we think it is not a very big weakness of the program.

1.3     When you are in the menu, use ESC. By the way, you may skip the
        very first menu cartoon by pressing any key.

Our software is used more than five years in the real teaching process in
the xUSSR (more than 2500 schools) and we currently teach 4-8 grades
kids here in Nebraska. Is was our teaching experience which did require
to bring some difficulties with escaping from the programs. It is very
inconvenient for a teacher when several students in the classroom are
always out of the program just because they wanted to see what happens
after ALT+X or CTRL+Q, or they simply get tired and did not want to solve
a problem.

II. What each of the function keys does under the different modes in the menu?

PROGRAMMING:

  F1 load    press if you are going to load pre-existing Roo (Robby) program,
             then choose the program (file name *.roo or *.rob) from the list.
  F2 new     press if you are going to create a new program or will use
             CTRL+T to load games (for Roo or Robby) or CTRL+S to load tests
             (for Roo only).


       GAME:

  F1 play    press if you are going to load a "black-box" game for Roo (Robby),
             then choose the game (file name *.rog or *.rbg) from the list.

  If student uses F2test possibility (in the F6game menu), and then escapes
  to DOS after watching the result of testing, the special Game Report file
  is created in the current subdirectory. The name of the report file is the
  same as the name of the game file, and the extension is ".rpt". These are
  samples of such a report:

Roo Game Report
2-16-1992
17:14                            time
Solution is Correct : 19,12      initial, final quantities of hearts

Roo Game Report
2-16-1992
17:19
Solution is Wrong!               all the hearts are lost, and the student
                                 was unable to win the game

  F2 create; press if you are going to create a new game using existing
             program as the "black-box" or pattern program.

             You will be given the list of Roo (*.roo) or Robby (*.rob)
             programs. Each program can become a "black-box" game in the
             following process:

             After choosing program from the list, Roo (Robby) is loaded.
             First, you will be able to set  the number of hearts for
             this game. This number usually reflects the (estimated)
             complexity of the game. Then, choose the first initial position
             from which Roo (Robby) will start the loaded program.
             The term "initial position" includes the initial state of the
             Robby grid's cells, his "pocket" (stack) and display (memory).
             This position will be also the first initial position in the game
             you are creating. After pressing the ENTER key, you will see
             the result of running the program from the first initial
             position. It will be the first result for the future game.
             You can finish the creation of the game at this point so that
             your game will consist of only one pair

                             (initial position, result).

             It makes sense for linear programs, but for more difficult
             programs you will probably choose to continue the process and
             set the second initial position, etc.

  The difference between loading game from PROGRAMMING MODE and entering
  DEMO MODE from menu is the following:
     -  You can load several games from PROGRAMMING MODE consequently.
     -  You can load only one game if you entered GAME MODE from menu, and
        so this method is preferable if you are interested in the student's
        results of solving a particular "black-box" problem.

       TEST:

  F1 take         take a pre-existintg test (*.rot)

  Test statistics are saved in the file with the following name:

  <the name of the test>.?

  where ? is the number of the test's report (the test may be passed several
  times, which provides teacher with the information about student's progress).

  F2 create       create a test using regular Roo program (*.roo)

  Creating a test is similar to creating a game.
