This book is intended as a teaching text to introduce IBM assembler programming to students who have completed just a few semesters of study using a high-level programming language. Each chapter is provided with the didactic apparatus of a statement of objectives and self-assessment questions, though there are no answers. After a cursory glance at program design and hardware, the reader is launched straight into a detailed exposition of instructions and directives with absolutely no introduction to the general notions of assembler programming. The treatment is extremely dense. Though there are numerous examples, they are all of single instructions, and no effort is made to teach their use in realistic contexts. Occasionally, a 500-statement program is presented for inspection, but again with little explanation. All of the usual topics are comprehensively covered, including elementary macros, I/O programming, and the relevant JCL. For programmers with experience of assembler programming on other architectures, the book may have some value as a conversion aid, even though it does so little to explain the IBM programming culture. For those beginning assembler programming, I can only imagine it will prove discouraging and depressing. An accompanying workbook is apparently available, which may make the text more acceptable. Without it, I cannot recommend the book.