Flush out the last dregs in the terminal before quitting when
[unix-history] / usr / src / usr.bin / learn / USD.doc / p3
CommitLineData
01d1a684
KD
1.\" @(#)p3 6.1 (Berkeley) %G%
2.\"
3.NH
4Scripts.
5.PP
6As mentioned above, the present scripts try
7at most
8to follow a three-track theory. Thus little
9of the potential complexity of the possible directed graph
10is employed, since
11care must be taken in lesson construction to see
12that every necessary fact is presented in
13every possible path through the units. In addition,
14it is desirable that every unit have alternate successors
15to deal with student errors.
16.PP
17In most existing courses, the first few lessons
18are devoted to checking prerequisites. For example,
19before the student is allowed to proceed through the editor
20script the script verifies that the student understands files
21and is able to type.
22It is felt that the sooner lack of student preparation
23is detected, the easier it will be on the student.
24Anyone proceeding through the scripts
25should be getting mostly correct answers; otherwise, the
26system will be unsatisfactory both because the wrong
27habits are being learned and because the
28scripts make little effort to deal with wrong answers.
29Unprepared students should not be encouraged
30to continue with scripts.
31.PP
32There are some preliminary items which the student must
33know before any scripts can be tried. In particular,
34the student must know how to connect to
35a
36.UX
37system,
38set the terminal properly,
39log in,
40and execute simple commands (e.g.,
41.ul
42learn
43itself).
44In addition, the character erase and line kill conventions
45(# and @) should be known.
46It is hard to see how this much could be taught by
47computer-aided instruction, since a student who
48does not know these basic skills will not be able
49to run the learning program.
50A brief description on paper is provided (see Appendix A), although
51assistance will be needed for the first few
52minutes. This assistance, however, need not be highly skilled.
53.PP
54The first script in the current set deals with files. It assumes
55the basic knowledge above and teaches the student about
56the
57.I ls ,
58.I cat ,
59.I mv ,
60.I rm ,
61.I cp
62and
63.I diff
64commands.
65.tr ~
66It also deals with the abbreviation characters *, ?, and [\ ]
67in file names.
68It does not cover pipes or I/O redirection,
69nor does it present the many options
70on the
71.ul
72ls
73command.
74.PP
75This script contains 31 lessons
76in the fast track;
77two are
78intended as prerequisite checks,
79seven are review exercises.
80There are a total of 75 lessons in all three tracks,
81and the instructional passages typed at the student
82to begin each lesson total 4,476 words. The average
83lesson thus begins with a 60-word message.
84In general, the fast track lessons have somewhat longer
85introductions, and the slow tracks somewhat shorter ones.
86The longest message is 144 words and the shortest 14.
87.PP
88The second script trains students in the use
89of the
90.UX
91context editor
92.I ed ,
93a sophisticated editor
94using regular expressions for searching.
95.[
96ritchie thompson unix seventh edition 1978
97%O See section \f2ed\f1 (1).
98.]
99All editor
100features except encryption, mark names and `;' in addressing
101are covered.
102The fast track contains 2 prerequisite checks,
10393 lessons, and a review lesson.
104It is supplemented by 146 additional lessons in other tracks.
105.PP
106A comparison of sizes may be of interest. The
107.ul
108ed
109description
110in the reference manual is 2,572 words long. The
111.ul
112ed
113tutorial
114.[
115kernighan editor tutorial 1974
116.]
117is 6,138 words long.
118The fast track through
119the
120.ul
121ed
122script is 7,407 words of explanatory messages, and the
123total
124.ul
125ed
126script, 242 lessons,
127has 15,615 words.
128The average
129.ul
130ed
131lesson is thus also about 60 words; the largest
132is 171 words and the smallest 10.
133The
134original
135.ul
136ed
137script represents about three man-weeks of effort.
138.PP
139The advanced file handling script deals with
140.ul
141ls
142options,
143I/O diversion, pipes, and supporting programs like
144.I pr ,
145.I wc ,
146.I tail ,
147.I spell
148and
149.I grep .
150(The basic file handling script is a prerequisite.)
151It is not as refined as the first two scripts;
152this is reflected at least partly in the fact that
153it provides much less of a full three-track sequence
154than they do.
155On the other hand,
156since it is perceived as ``advanced,''
157it is hoped that the student will have somewhat
158more sophistication
159and be better able to cope with it at a reasonably
160high level of performance.
161.PP
162A fourth script covers the
163.ul
164eqn
165language for typing mathematics.
166This script must be run on a terminal capable of printing
167mathematics, for instance the DASI 300 and similar Diablo-based
168terminals, or the nearly extinct Model 37 teletype.
169Again, this script is relatively short of tracks:
170of 76 lessons, only 17 are in the second track and 2
171in the third track.
172Most of these provide additional practice for students
173who are having trouble in the first track.
174.PP
175The
176.I \-ms
177script for formatting macros
178is a short one-track only script.
179The macro package it describes is no longer the standard,
180so this script will undoubtedly be superseded
181in the future.
182Furthermore, the linear style of a single learn script is somewhat
183inappropriate for the macros, since the macro package is composed of many
184independent features, and few users need all of them.
185It would be better to have a selection of short lesson
186sequences dealing with the features independently.
187.PP
188The script on C is in a state of transition.
189It was originally designed to follow
190a tutorial on C,
191but that document has since become obsolete.
192The current script has been partially converted
193to follow the order of presentation in
194.ul
195The C Programming Language,
196.[
197ritchie kernighan programming 1978 prentice hall
198.]
199but this job is not complete.
200The C script was never intended to teach C;
201rather it is supposed to be a series of exercises
202for which the computer provides checking and
203(upon success) a suggested solution.
204.PP
205This combination of scripts covers much of the material which any
206.UX
207user
208will need to know
209to make effective use of the system.
210With enlargement of the advanced files
211course to include more on the command interpreter, there
212will be a relatively complete introduction to
213.UX
214available via
215.ul
216learn.
217Although we make no pretense that
218.ul
219learn
220will replace other instructional materials,
221it should provide a useful supplement to existing tutorials and reference manuals.