A very neat format, with all program examples in Teletype originals, set off by horizontal lines across the page, above and below each program and its output. There are many of these examples. The authors go into many areas, such as exponential notation, in great detail. There are eleven chapters, each divided into sections: time-sharing; Teletype; PRINT, arithmetic operation, corrections, LEFT, READ and DATA, INPUT; built-in functions, numbers in BASIC; flowcharts, IF-THEN, alphanumeric data and string variables, GO TO, loops FOR-NEXT, DIM; GOSUB-RETURN, MAT, CHANGE, defining functions; debugging, solutions of triangles, graphs, real zeroes; matrices; statistical program, area under a curve; summary of BASIC statements; system commands. There are excellent exercises at the end of most of these sections, although without answers. Each chapter ends with a summary of what the reader has learned. The seven appendixes give a, variety of programs (and runs) in seven categories: algebra (15 programs), geometry (3), trig (1), analytic geometry (2), calculus (4), probability (1), special (4). The last of the specials is a 130-line program that prints "A Meaningless Technical Report" by randomly combining phrases used in the aerospace industry. Two ingenious lines in the dice-game program are all that's needed to take care of the five combinations that win or lose on the first roll: 410 IF (R-7)*(R-ll)=0 THEN 490 420 IF (R-2)*(R-12)=0 THEN 530 (Kemeny & Kurtz (2) do it with a single ON-GOTO statement using ll branches; Smith (10) uses four IF statements). The authors are among the very few to note that quote marks around a space in a PRINT statement will skip a column, in some systems. The RESTORE statement is explained too soon, on page 38, with an example of no significant value. And instead of explaining built-in functions simply, as almost all other authors do, these define it in all too stiff and formal mathematical terms, using words such as "domain," "range" and "set." Fine for those familiar with set theory; Greek to the rest. Although a great variety of flowcharting symbols is used in these books, this is the only one to use a triangle - for a starting or stopping point (Peluso et al (20) use it for an entry point) - even though it is the ANSI symbol for off-line storage. Multiline function definitions are presented as though available on any BASIC time-sharing system, instead of only a few. And although the section on this subject contains some clever programs, they are difficult to understand, even with the explanations. Ten pages are taken up with a long tutorial on trigonometry, leading up to one big program that solves any triangle, given a side and any two other parts. And there are nine pages of tutorial on matrices, a total of I9 pages that might have been better spent teaching BASIC. By page 180, the book has gotten quite complex for a non-mathematician, with a program for finding real zeros of a function, which requires very close attention to be able to follow, and is very difficult to do so. * * * 19. An Introduction to the BASIC Language, by John E. Skelton. Pub. Aug. 17, 1971, by Rinehart and Winston, New York, N. Y., 158 pages, 6 x 9, $3.95 (paperback). Although fairly well written, there is too much padding and too little coverage of some areas. Rate: C The preface notes that this slim paperback is an introductory text "intended for use at the high-school junior or senior or the college freshman level.... The text is not intended to be an exhaustive treatment of the BASIC language; in fact some features of the language (such as MAT) have been left out." Not for lack of space, surely. There are many blank pages between chapters, and a whole page is used up for each chapter number and title. Some 20 percent of the book (over 30 pages) is blank or almost-blank pages, which could have been used to better advantage, such as providing more examples, of which there are all too few. And there is too little on lists and tables, only 2 1/2 pages, to be really worthwhile. An entire chapter is devoted to READ and DATA, a full 2 1/2 pages, with no mention of RESTORE. There are ten chapters: The Problem-Solving Process; Computation: LEFT; Input/Output: INPUT and PRINT; Control Statements: GO TO, IF and END; Lists and Tables: DIM; Computing the Values of Polynomials (algorithms, flowcharts); Loops: FOR and NEXT; READ and DATA; Functions and Subroutines: DEF and GOSUB; Some More Programming Techniques. The exercises at the end of each chapter are few, without answers. The real padding is in the eight appendixes, 42 pages showing how eight different time-sharing systems operate. Seven of these are accompanied by exactly the same photograph of an ASR33 Teletype, taken from a low angle so that only the tape unit shows clearly. The writing style is rather dull. The first sentence is enough to put one off: "lt is a well-known mathematical fact that any integer can be expressed as the product of prime numbers." And the text is not always easy to follow. The FOR statement is introduced this way: "The general form of the FOR statement is: LN FOR CV = EXI TO EX2 STEP EX3, and corresponding to this statement somewhat later, LN NEXT CV." A practical example would be much better. There are some nice things to be said about this book. Although some authors do mention that a flowchart should be checked out by hand calculations, Skelton is the only one to show exactly how this is done, several times, by giving a table of, for instance, "Calculations to Check Flowchart of Figure 1-l." There is a good section on number representation, and a detailed discussion of rounding. This, then, is a 62-page book stretched out to 158 with many blank pages, 42 pages of not-too-useful appendixes, and a few exercises. Not quite cricket, really. * * * 20. Basic BASIC Programming: Self-Instructional Manual and Text, by Anthony P. Peluso, Charles R. Bauer, and Dalward J. Debruzzi. Pub. Sept. 13, 1972, by Addison-Wesley, Reading, Mass., 274 pages, 8 1/2x ll, $7.50 (paperback). An excellent book, very thorough in imparting information. Rating: A There are many excellent features in this book, and very few drawbacks. The self-instructional feature involves blanks or questions, following short portions of text called "frames." The reader is asked to place a shield over the page to cover the correct responses which follow the blanks or questions immediately, just below a dotted line across the page, which indicates that a response is required. There are tests throughout the book, at the end of each chapter, plus five tests within Chapter Two. All answers are at the back of the book. There are twelve chapters: Introduction to Computers, Fundamentals of BASIC, Input/Output (PRINT, END, READ, DATA), Branching, Looping, Program Preparation and Processing (including flowcharting), Advanced Looping, Advanced Branching, Advanced Input/Output, Special Functions and Subroutines, Arrays, Matrices. There are eight appendixes: Practice Problems, Hints to Practice Problems, Error Messages, Errors While the Program is in Progress, Control Commands, Limitations on BASIC, Sample Programs, Solutions to Exercises and Answers to Tests. The best feature of this book is its thoroughness. It starts out slow and easy, goes a little faster starting with Chapter Four, but remains relatively slow. There are over ten pages on the order of operations. The first complete