Dragon User


Learn Basic Programming On The Dragon 32

Author: John Scriven
Publisher: Logic 3
Machine: Dragon 32

 
Published in Dragon User #031

Learn BASIC Programming On The Dragon 32

It's clear that computer manufacturers are always faced with a problem when it comes to designing their documentation. Buyers will include first-time users as well as experienced programmers, so instruction in programming skills is needed as well as details of the BASIC and hard ware features of the machine.

Recent computers, such as the Commodore 16, split the documentation into sections: a guide to the computer, an introduction to programming and an advanced guide (for which you unfortunately have to pay extra). The Dragon is one of those computers that tried to put everything into the manual and, in doing so, failed to provide a clear introduction for new users.

'Learn BASIC Programming' is a series designed to refresh those parts that manuals fail to reach and covers several machines. The Dragon version consists of an A4-size book (as large as Dragon User!) containing about 200 pages, as well as two cassettes of sample programs and a flowchart stencil. From the style of the text, it should not be too difficult for most teenagers, although adults should also find it amenable.

The chapters start from fairly simple stuff: setting up, using the keyboard, etc, and progress through the usual route of PRINT statements, variables, simple programs, inputs and loops up to chapters on sound and graphics and use of maths functions. This is covered in a fair amount of detail and is quite good at explaining the more difficult features.

It is disappointing to discover that, although it has an index, there isn't a chapter breakdown at the beginning, so it is difficult to discover the structure of the book. One reason why there isn't a breakdown may be that the structure of the book is very linear. In other words, there are no alternative routes through the book - you start at the beginning and continue until you reach the end.

This may seem to be very logical, but it's not the only way people use books, as educationalists discovered in America in the '50s and '60s when they tried to introduce teaching machines. It is true that there are many areas of programming which depend on earlier building blocks of knowledge, but the course would have been more useful if the chapters had been more self-contained, to allow a 'dipping-in' approach.

The book has many diagrams which are very useful, as well as many short programs to demonstrate the points being covered. The cassettes contain some of these, as well as several quizzes so you can monitor your progress. One of the programs is full of deliberate errors, so you can practise editing skills as they are covered in the text.

The way the cassettes are used to back up the book seems to be a very good idea, although it undoubtedly helps to explain the high price of the package. According to Logic 3, the philosophy of the package goes back to that of the developers of BASIC in the '60s, and the chief author, Professor Andrew Colin, is the founder of the 'Strathclyde Method' of teaching BASIC.

In spite of the high pedigree, it is disappointing to discover that, although this book will teach you how to program in BASIC, and is one of the clearest books in this area, it does little to encourage elegant programming!

Many universities no longer consider BASIC a suitable programming language, and ignore it completely. Of course, to do this in the world of home computers, that are without exception BASIC machines, would be stupid. What is important, however, is that the way BASIC is introduced should encourage an approach to computing that allows users to easily transfer to other programming languages. If BASIC is considered as a tool to help solve problems, then finding the solution and working out the program flow is just as important as actual coding.

This package does encourage the use of flow charts, which soon show up weak ideas, and does include a flowchart stencil. Some of the programming examples however, are themselves very poor examples of good structure, and one 20 line program has no less than 7 GOTOs! There is no mention of program modules, using subroutines to perform particular tasks and making it easy to understand the flow of the program. I understand that these features are covered in the follow-up package, Advanced Programming On The Dragon. It is a shame that these points could not have been introduced in this book, as they lie at the heart of good programming.

To sum up, Learn BASIC Programming On The Dragon is a nicely presented package that does a good job of filling in the gaps in the manual for the person learning programming. Although I would disagree with the way some of the ideas are introduced, the text is very clear and would certainly help you to find out more about your Dragon.

John Scriven