The C script is not complete; use at your own risk. Lessons are in /usr/lib/learn/* Source is in /usr/src/cmd/learn Miscellaneous supporting code is also in source. Make a learn by make When this seems right, extract the lessons by make lessons This extracts the lesson archives for each course. You can also do this one step at a time with "make files", "make editor", etc., if you don't want all courses. If you do things separately, you must also say make play; make log Finally, check that it's sensible with make check If that doesn't print any messages, you're probably in good shape. Learn requires general write permission on the user playpen directory .../lib/play. Lesson directories may be protected. Learn collects a log file for each script in the .../lib/log directory, with a file for each script (files, editor, etc.) containing an entry for each lesson attempted. These files will grow without bound, unless they are periodically truncated. The log files should have general write permission. If you don't want logging (a sensible position to take), set the variable "logging" to zero in source/lrndef before making learn. Learn requires about 1500 blocks to make itself, and about 1000 when completely made. Please report problems, bad lessons, etc., to Brian Kernighan, MH 6021, 2C-518, or Mike Lesk, MH 6377, 2C-572. Thanks.