The Best of Creative Computing Volume 1 (published 1976)

Page 311 << PREVIOUS >> NEXT Jump to page:
Go to contents Go to thumbnails

Reviews of 34 Books on BASIC (Computer Science: A Primer, by Alexandra I. Forsythe, Thomas A. Keenan, Elliott I. Organick, and Warren Stenberg, 1969)

graphic of page

12. Computer Science: A Primer, by Alexandra I. Forsythe, Thomas A. Keenan,
Elliott I. Organick, and Warren Stenberg. Pub. Sept. 25, 1969, by John Wiley &
Sons, New York, N. Y., 403 pages, 6 1/4 x 9 1/4, $11.00 (hardcover).

Computer Science: A First Course, by Forsythe et al. Pub. Oct. 31, 1969, 553
pages, 6 1/2 x 9 1/2, $14.25 (hardcover).

Computer Science: BASIC Language Programming, by Forsythe et al. Pub. Nov. 13,
1970, 124 pages, 61/2 x 91/2, $5.50 (paperback).

For the reader who wants to learn all about flowcharts, the rating is A. For
learning about BASIC, the rating is D

This handsome set of books is dedicated to the proposition that thou shalt
worship the flowchart as thy god. And because of the great emphasis on
flowcharts, less BASIC is taught than in many Shorter books.

The BASIC supplement is meant to be used in parallel with either the First
Course or the Primer. The only difference between these two is that the Primer
does not include the last five chapters, which is Part III, on Nonnumerical
Applications. The Primer is said to be perhaps "more suitable for a short course
or for one that concentrates exclusively on numerical computation."

According to the introduction, "To increase the applicability of this book, the
specific syntactic details of computer language have been separated from the
main flow-chart text into a language supplement. The flow-chart language used in
the main textbook deals only with concepts of central interest to all
programming languages... The great reward to the student from this separation of
main concepts from syntactic details is the universal applicability of
flow-chart language, which he learns first." Then, later, "Beginning with
Chapter 2, any corresponding chapter can be read, section by section, along with
the main language." Programming language texts are available for BASIC, FORTRAN,
PL/1, and APL; they are "especially useful because they are designed to
dovetail, section for section, with the principal chapters of the basic text.
The study of a computer programming language. . . from one of these supplements
will help the student to convert the abstract algorithmic solutions of the
problems from the basic text into actual solutions on the computer that is
available to him."

The First Course starts with an algorithm for "the everyday process of changing
a flat tire," presents a flowchart for it, then improves it in several Steps.
The exercise for this part of the book is to prepare a flowchart representing a
recipe for making "Rocky Road" cookies. Then comes a numerical algorithm on the
Fibonacci sequence, two pages, with flowchart.

Page 1 l presents a Model of a Computer, with window boxes for memory, and three
workers: master computer and two assistants, the assigner and the reader. Six
pages translate the words of the Fibonacci sequence into "formal flow-chart
language."

Page 23 starts the presentation of SAMOS, a prototype computer (the acronym is
not explained), and several of its instructions: LDA, BMI, WWD, and BRU.

The portion on rounding uses CHOP, which takes the whole part of the number.

Chapter 3, Additional Flow-Chart Concepts, begins a really heavy diet of
flowcharts. Chapter 4, Looping, is 65 pages long, with 44 flowcharts and 26
partial flowcharts.

Chapter 6, Functions and Procedures, represents the SQR subroutine as a sealed
brick chamber with a funnel on top and a window on the side; a similar concept
is used to explain MIN, SORT, and COMPEQUAL,

Part III starts with a chapter on Trees, going into tree searches, the
four-color problem, etc. The next chapter, Compiling, covers Polish strings as
applied to the prototype SAMOS machine, translating from infix to postfix, and
flowcharting the translation process.

Chapter 12, Lists and Strings: Their Storage Structures and Uses, covers
editing, string manipulation, string operations in the flowchart language, and
unknowns in pattern-match operations.

Chapter 13, More Aspects of Compiling, starts with 311 "Transformation of
Postfix Strings to SAMOS Machine Code," then goes into "Conversion from Symbolic
to Actual SAMOS."

The appendix is 27 pages on SAMOS, going into its 11 basic instructions, some
illustrative problems, indexing,
table lookup, and subprograms.

There are exercises throughout each chapter, after each section, without
answers.

The BASIC supplement notes that in both the Primer and First Course, "flow
charts are painstakingly introduced and built up feature by feature. . .
Designed for use with either of the above-mentioned texts, this book bridges the
narrow gap between the flow chart language and BASIC."

Part I, on BASIC concepts, has five chapters; Algorithms and Computers, The
BASIC Language, Additional BASIC Concepts, Looping, and Approximations. Part Il,
on numerical applications, has one chapter, Functions and Procedures (functions,
subroutines, symbol manipulation).

The first program generates a Fibonacci sequence, with the Teletyped program
lines laid out in parallel with their corresponding boxes in the flowchart. The
flowchart is in the same elegant style as in the parent text, with shaded boxes,
and lettering that imitates Teletype print.

As in the parent texts, there are several sets of exercises in each chapter.

The style is often stilted, as on page 9: "Exercise a vigilant awareness toward
these potential sources of error, and never assume you have solved all of the
difficulties the first time." Sounds rather Victorian.

Chapter Two, BASIC Language Elements, is a jumbling together of all the elements
without sufficient explanation or examples. Predefined functions are covered in
a single short paragraph, accompanied by a table of eleven functions. The
explanation of E notation is all too skimpy.

The section on RESTORE gives a good simile for the data pointer: a "moving
finger." The next page has a program that computes the volumes of five boxes,
given length, width and height; six of these dimensions are
negative. What sort of boxes are these?

The section on Rounding explains that although INT(X) is the same as the CHOP(X)
mentioned in the parent text for positive arguments, it differs for negative
arguments. This is the first of several problems that come
up when translating from the flowchart language to BASIC, and which do not help
the cause of having to learn an intermediate language. 

A program on page 43 contains the funniest line in any of these books: REM A TWO
MILLION DOLLAR COMPUTER USED FOR TALLYING. What isn't so funny is that the
program has no safeguard against inputting a grade over the highest possible
score. So if a grade of 152 is entered, the program jumps to print 0 STUDENTS
TOOK
THE TEST. 

These authors are the only ones to recommend tracing with a printout that
includes line numbers. 

The book is handsomely produced, with shaded boxes in the flowcharts, and shaded
lines in programs for those lines that require explanation. 

Another translation problem comes up on page 72: "The iteration box has a nearly
perfect parallel in Basic called the FOR statement." Nearly? This is explained
on page 95: "The iteration box of the flow chart has the violation of the
condition ABS(T) A as a criterion for escaping from the loop. The FOR statement
of Basic cannot incorporate this kind of criterion." Page 89 has a third
problem, noting that the MAT READ statement "does not have the same generality
as the flow chart notation." 

There is, of course, a great deal to be said in favor oflearning to flowchart
accurately. Yet so much emphasis is laid on flowcharting here that BASIC almost
gets lost in the shuffle. So much effort has been spent in setting up the form,
that content has been neglected in the BASIC supplement. The main advantage of
these texts is that one learns thoroughly, not BASIC, but flowcharting. And the
main advantage of the two-text system seems to be, not to the reader, but to the
authors and publishers. If nothing

Page 311 << PREVIOUS >> NEXT Jump to page:
Go to contents Go to thumbnails