Acorn User
1st September 1983
Author: George Hill
Publisher: Addison-Wesley
Machine: BBC Model B
Published in Acorn User #014
George Hill gives his opinions on a Logo package for schools
Logo Challenge
Educational software is of a very low standard generally, but in my experience has met with universal enthusiasm from teachers.
Logo Challenge is a version of the language specifically developed for use in schools. From the Horizon programme on TV, or from articles, you will have gathered Logo is a drawing program. It is based on the 'turtle graphics' principle, in which the pen behaves like a turtle (or a snail, as it leaves a trail!). The turtle can be directed around the screen by such commands as:
FORWARD n - where n is the distance LEFT m - where m is the angle
The turtle's current position and direction is indicated on the screen by a small arrow at the pen-point. It can also be followed by the WHERE command, which gives at the top of the screen the X and Y coordinates, and the current direction as a bearing. The angle is between 0 and 360 degrees (figre 1) and figure 2 shows a typical screen.
In its full (mostly American) versions, Logo is much more than a simple graphics program. It is a full language in its own right, having features in common with Lisp (from which it stemmed) and Forth (where 'words' are also the basic unit of the language). It is fully structured (no GOTOs), and the idea is to define words which carry out procedures, and can then be used in the definition of other words. For example:
TO SQUARE REPEAT 4 FORWARD 60 LEFT 90 AGAIN END
would define a square in standard Logo terminology. Now
TO PATTERN REPEAT 36 SQUARE LEFT 10 AGAIN END
will draw the pattern of squares in figure 3 when the single word PATTERN is typed.
Notice the structures; REPEAT...AGAIN, (the equivalent of Basic's FOR...NEXT loop) and TO...END (the approximate equivalent of DEFPROC...ENDPROC, or GOSUB... RETURN). In Logo Challenge, TO...END has been changed to DEFINE...END, and there are various other minor differences from standard terminology. Three variables SIZE, ANGLE and NUMBER are available to allow flexibility within the REPEAT...AGAIN and DEFINE...END structures. These variables can be set, e.g. by SIZE=70 (or SIZE 70). Simple arithmetic can be done on these variables, such as SIZE=SIZE+10.
Full implementations of Logo include many more advanced features, making it an almost infinitely extensible and flexible tool, in which complete 'micro-worlds' can be defined for the child to explore. These features include string handling, definitions of 'sprites', (graphics shapes) and the use of defining words which include a variable entered as a part of the word. For example:
TO SQUARE :SIZE REPEAT 4 FORARD :SIZE LEFT 90 AGAIN END
will allow you to type SQUARE 80, and the computer will draw a square of side 80 units from the current pen position. These features are not available in Logo Challenge. For a description of the language in its full American versions, see the August 1982 issue of Byte, or Classroom Computer News, April 1983.
Logo Challenge is a very limited subset of the full language, being entirely restricted to drawing lines in one colour. It supports only the minimum of structures and variables. (DEFINE...END, REPEAT...AGAIN, NUMBER, SIZE, ANGLE). However, this is perfectly adequate for introducing young children to turtle graphics and gives an excellent grounding in structured programming. It also helps with any subject which requires logical thought, most obviously assisting in geometry (and maths generally).
The LIST, DESCRIBE, HELP and EDIT functions are neatly and efficiently realised, though I did not find the error messages particularly helpful. A full list of the available commands (which are pretty self-explanatory) is given in table 1. (In the list is the mysterious variable VALUE - never mentioned in the text!)
FORWARD (FD) BACKWARD (BD) CLEAR (CL) HOME UNDO LEFT (LT) RIGHT (RT) REPEAT (RP) AGAIN (AG) DEFINE DEFINE (DF) END (EN) PENUP (PU) PENDOWN (PD) DESCRIBE (DS) LIST (LS) DELETE (DL) EDIT (ED) R (Replace) D (Delete) I (Insert) NUMBER, SIZE, ANGLE, VALUE (variables) FINISH SETX (SX), SETY (SY) SCALE (SC) HELP (HP) HIDE (HD), SHOW (SH) WHERE (WH)
Table 1. Commands available
Each pupil or group is encouraged to keep a data file of commands. This can be saved at the end of a session, and re-loaded later. If the file is updated during the session, a new version can be saved to replace the old one after finishing.
The cassette version was 'bugfree', although there were some oddities in the disc copy. These concerned the lack of error messags when attempting unsuccessfully to save data files, and the fact that the original file is lost if updating occurs (no backup file is created).
No provision is made for using a printer. Hence it is not possible to list the available commands on the printer, which would ease error correction, particularly when defining more complex words. It is also not possible to reproduce the graphics screen on a dot-matrix printer. This is a pity as a hard copy capability would make the package even more attractive. A child would be much encouraged by having a permanent record of the results of his or her success, and Logo produces attractive pictures for classroom displays.
The main criticism of the original 380Z version of this program (Croydon Logo) was its slowness, and in the BBC Micro version there is little difference. The HIDE command allows drawing to take place at an accelerated rate, by hiding the turtle arrow, but considering the speed of BBC graphics this remains a pretty pedestrian effort. The program is in Basic and so could never be super-fast, but the slowness is compounded by the programming because it has been translated from another version of Basic, probably the 380Z version. It is highly inefficient, using no procedures, no integer variables and no byte indirection, and is quite impenetrably illegible.
The program and its attendant variables take up a huge chunk of memory, and so it only runs in Mode 4 (hence no colours). The reason for my criticism of the programming is that there are circumstances where the teacher may wish to make alterations. For example, the program uses VDU 19 to re-define the foreground and background colours to green and blue (not a happy choice in my view!). Those with monochrome TVs will find the constrast insufficient, and will wish to change the colours back to white on black. Second, changes to allow the use of the printer are difficult, and would be beyond most teachers.
The program is 'error-trapped', principally I think to stop the ESCAPE key from having its normal function. I find this extremely annoying, and the resulting error messages, e.g. 'Error number ii at line 490' are enough to strike terror into the heart of any teacher, let alone pupil.
Logo Challenge's major plus is its documentation, particularly the pupil booklet. This is a model of clarity, and leads the pupil through the learning stages gently and efficiently. My children were able to follow the booklet, and progress rapidly with the minimum of assistance (or interference) from me - an enormous advantage for a busy teacher. The teacher booklet is similar, but more explicit. It lacks a listing of all the words in the TEACH file, but does contain sample solutions to all the challenges (the teacher can keep ahead - for a while anyway). It also contains the only full explanation of the EDIT function, which I found pupils needed rapidly.
Overall, this package could be extremely valuable in primary schools, and possibly at the lower levels in secondary schools. It is well thought out, well documented and it works. It forms an excellent introduction to the use of computers generally, and is ideally suited for a child's (or adult's) first hands-on experience of computing. No school should be without a version of Logo.
This version, though limited, is excellent value. The package includes two copies of the cassette (or two discs) and a copy each of the pupil and teacher booklets. Further copies of the booklets can be purchased. It is available in 480Z, the BBC micro (model B) and the Sinclair Spectrum.
PS. The Logo face in this and the last issue is by Miranda Hill, after an hour with the package.