[net.unix] On-line tutorials under UNIX

WMartin@office-3@sri-unix.UUCP (09/01/83)

From:  Will Martin <WMartin@office-3>

As part of our UNIX-based workplace automation effort, we want to
have some form of on-line tutorial training in the specific tools
we are building, and, perhaps later, some on-line general UNIX
training.

We have seen (and have acquired) the audiodigital tape training
system from User Training Corp.  [In case you haven't seen this
at a USENIX conference or the like, this is a cassette tape
player that you put into the RS232 line between your terminal and
host or modem.  The cassette is stereo; one track is audio which
you listen to over headphones, the other is digital and contains
data which appears on the terminal screen.  So you can be walked
through a session by voice and see the activity on the screen.
You can interrupt the training tape and interact directly with
your own computer for examples during a training session.]

Anyway, since it is somewhat of a hassle to have these tapes
customized for training people in our own software systems, we
want to have a "Tutor" tool that will walk the user through the
operation of a piece of software, controlling what the user sees
but also allowing him/her to really run the tool and see the
results.

It may be possible to do this with a fairly simple shell script;
I thought at first of a series of "cat" commands, printing out
screens of instructions or examples, interspersed with "if" or
"case" statements which would allow the user to skip around or
back-up in the session, and calls to the programs themselves so
the trainee can run examples.

However, this doesn't give much control over what the user sees
and does; what we would really like is some software package that
would sit between the user and the system being demonstrated,
present information to the trainee, run the system using
pre-determined data and show the user the results, and generally
act as an automated teacher.  I'm not expecting anything very
complicated in terms of this package interpreting the user's
input; some sort of dialog on the level of "go on", "quit", "go
back to screen 5", etc.  is as complex as I think we'll need.
Does anyone know of anything like this that is available and will
run under 4.something BSD?  It sounds like something one of the
academic UNIX sites would have put together long ago for bringing
up novice users, but maybe that's a rash assumption...

Regards, Will Martin

steve@brl-bmd@sri-unix.UUCP (09/01/83)

From:      Stephen Wolff <steve@brl-bmd>

It's not entirely trivial, but you -=>CAN<=- write your own `learn' scripts to
tutor any software you like.  We started on some for our rudimentary WA stuff,
but the person involved left for greener pastures before any were completed.

mullen@nrl-css@sri-unix.UUCP (09/02/83)

From:  Preston Mullen <mullen@nrl-css>

Sounds like you want the "learn" CAI stuff that comes with UNIX
version 7 (and 4.1bsd).

"Learn" is a general interpreter for CAI scripts; scripts exist for
a simple UNIX tutorial, but you can also write new scripts to teach
anything you want.  If learn doesn't do exactly what you want, it could
probably be modified.

Check the manual page for learn(1) and the paper by Lesk and
Kernighan, "Learn -- Computer Aided Instruction on UNIX (Second
Edition)" in Volume 2a of the Version 7 UNIX Programmer's Manual.

mark@umcp-cs.UUCP (09/05/83)

I wrote a program which sits between the user and the shell for
teaching people about editors.  It works by logging the
user in again through a pseudo-tty, so it could actually
be used to teach anything about unix from the ground up.
It is a trivial two-window interface, with the top window
for commands and the bottom window being the real terminal
(requires terminals with set-scrolling-region command).
It reads a script of things to present to the user, commands
to execute as if the user typed them, and sequences of
keystrokes which the user is REQUIRED to type (if the user
types the wrong key during one of these the command window
say something like: I expected you to type 'x', you typed
'y'.  Please type 'x'."

I would be happy to mail you the source (it is only about
100 lines of C, not counting the window interface which
is about another 300 lines of C).  
-- 
spoken:	mark weiser
UUCP:	{seismo,allegra,brl-bmd}!umcp-cs!mark
CSNet:	mark@umcp-cs
ARPA:	mark.umcp-cs@UDel-Relay