Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Systematic program design : from clarity to efficiency
Liu Y., Cambridge University Press, New York, NY, 2013. 256 pp. Type: Book (978-1-107610-79-8)
Date Reviewed: Oct 3 2013

The paperback copy of this book that I received had a beautiful picture-in-picture view of a rainbow on the cover. This actually reminded me of the complex issues programmers face when writing programs. Perhaps the author chose this cover because she has a similar perception.

The book packs more information into its 240 pages than most 500-page computer books. It has smaller print and an almost-nonexistent fog index. There are plenty of conceptual examples to learn. The pedagogy is designed to fit the self-study framework.

The author claims that it is “intended for both readers with minimal computer science background and experienced computer science researchers and practitioners.” However, I would not recommend this book to anyone with minimal computer science background because they might find it discouraging. I would however recommend it to serious undergraduate and first-year graduate students in computer science who have a serious intention to learn the fundamentals of program design. They would benefit the most from the systematic method explained throughout the book.

Liu is a distinguished scholar and accomplished educator. The book reflects how much she pays attention to detail. As an experienced programmer and educator, I have to admit, I felt deep enjoyment while reading this book. It was a pleasant experience.

The book has seven chapters, followed by an index and list of references. The index is succinct and comprehensive. The reference list includes 333 entries to dissertations, books, and journal and conference papers. This alone would be quite useful to people who are not experts in the field.

The interested reader should read the preface and introduction, followed by the last chapter, “Conclusions.” This would give an excellent panoramic view of the book. More experienced readers can then pick and choose from the middle chapters according to their level of interest. These middle chapters are “Loops: Incrementalize,” “Sets: Incrementalize and Implement,” “Recursion: Iterate and Incrementalize,” “Rules: Iterate, Incrementalize, and Implement,” and “Objects: Incrementalize Across Module Abstraction.” A less experienced reader should read and study all these chapters. Although they can be studied in almost any order, I would read them linearly.

In conclusion, the author succinctly and correctly describes the nature of this book in her preface: “The book is about a general and systematic method for designing and developing computer algorithms and programs by transforming clear specifications into efficient implementations.” I can add nothing to this explanation except to say that it is well done.

Reviewer:  M. M. Tanik Review #: CR141609 (1312-1054)
Bookmark and Share
  Reviewer Selected
 
 
Design Tools and Techniques (D.2.2 )
 
 
Management (D.2.9 )
 
 
Metrics (D.2.8 )
 
Would you recommend this review?
yes
no
Other reviews under "Design Tools and Techniques": Date
Information-flow and data-flow analysis of while-programs
Bergeretti J., Carré B. ACM Transactions on Programming Languages and Systems 7(1): 37-61, 1985. Type: Article
Jul 1 1985
An extensible toolset and environment for the production of mathematical software
Osterweil L., Clemm G.  Tools, methods and languages for scientific and engineering computation (, Paris, France,361984. Type: Proceedings
Sep 1 1985
A system for interactive viewing of structured documents
Witten I., Bramwell B. Communications of the ACM 28(3): 280-288, 1985. Type: Article
Mar 1 1986
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy