Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Thinking recursively
Roberts E., John Wiley & Sons, Inc., New York, NY, 1986. Type: Book (9789780471816522)
Date Reviewed: May 1 1987

The book presents an introduction to recursive programming techniques on the level of intermediate courses in programming. The only prerequisite for using this textbook is an introductory programming course. The presentation of the topic is based on Pascal; however, only the most basic features of Pascal are used in early chapters, so that it allows concurrent presentation of Pascal and recursion. The exposition of the material on recursion proceeds so that the reader can develop an understanding of recursion from several different perspectives.

The introductory chapter presents the idea of recursion based on examples from outside the context of programming, and provides basic background for understanding the philosophy of recursion. Chapter 2 covers the underlying mathematical concepts of mathematical induction and computational complexity, and provides for basic mathematical argumentation about properties of recursive algorithms. The next two chapters begin employing recursive problem decomposition in the context of Pascal programming, beginning from definitions of recursive functions as mere transcriptions of their recurrent mathematical definitions, and proceeding to recursive procedures. The subsequent six chapters present increasingly difficult examples of the use of recursion for solving particular problems. The last chapter is devoted to showing how to implement recursive programs and how to simulate recursion using explicit operations with the control stack. Each chapter is accompanied by bibliographic notes and large sets of exercises. Besides the bibliographic notes, the book contains a list of additional references for further reading.

Teaching students to use recursion has always been a difficult task. This book is an excellent text for demystifying recursion, for promoting the students to develop an appropriate conceptual model, and for teaching them practically to “think recursively.” I really enjoyed the style of the presentation, which goes into a sufficiently detailed level of explanation in order to enable the student to keep themselves in touch with the material. The examples on which the use of recursive techniques is exhibited are very well selected and complemented by the exercises. They illuminate the matter, and can be used as generic examples of the use of recursion of practical value (including recursive sorting algorithms and recursive data structures). Special emphasis is put on developing practical skills in using recursion; the exposition also practically demonstrates the process of top-down program development by stepwise refinement. The book will serve as a superb supplementary text in intermediate courses on computer programming. Besides teaching recursive programming techniques, it will also prepare the students for more advanced topics in computer science.

Reviewer:  J. Zlatus˘ka Review #: CR110772
Bookmark and Share
 
Top-Down Programming (D.2.2 ... )
 
 
Backtracking (I.2.8 ... )
 
 
Complexity Hierarchies (F.1.3 ... )
 
 
Lists, Stacks, And Queues (E.1 ... )
 
 
Pascal (D.3.2 ... )
 
 
Procedures, Functions, And Subroutines (D.3.3 ... )
 
  more  
Would you recommend this review?
yes
no
Other reviews under "Top-Down Programming": Date
Stepwise refinement revisited
Rajlich V. Journal of Systems and Software 5(1): 81-88, 1985. Type: Article
Oct 1 1985
Problem solving: a top-down approach
Adair J., Scott, Foresman & Co., Glenview, IL, 1989. Type: Book (9789780673186072)
Feb 1 1990

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