Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Elementary logic (1st ed.): for software development
Lover R., Springer Publishing Company, Incorporated, 2008. 314 pp. Type: Book
Date Reviewed: Apr 16 2009

The study of logic, once considered one of the pillars of education, has for some time been relegated to special niches in philosophy, mathematics, or computer science. Logic is often offered as an elective or taught only as it relates to specific topics, such as the design of computer circuitry. This is a shame. The ability to reason things out clearly, rigorously, and correctly is as valuable and useful as the ability to master the details of any area of study at the college level and beyond. The ability to reach correct conclusions is as crucial to software development as it is to law, medicine, government, or any scientific discipline. Logic deserves to be more widely taught on its merits, not just as a byproduct of special needs. This book does exactly that.

The author aims the book at software developers and computer science students, but it could very well be used in other settings as well. Many examples and problems have a computing or mathematical flavor, and some chapters and sections are dedicated to areas explicitly related to programming or computer science. Clearly, these portions of the book deal with applications rather than with logic itself. You could skip them altogether and not miss anything, if all you are interested in is logic. But studying them, particularly at the elementary level presented here, will only enhance a student’s education and perhaps give him or her an appreciation for some of the art involved in what otherwise might be an incomprehensible fog. You could study these areas, follow the examples, and work out the problems (in pseudocode) and not be able to program a single line of code in any programming language. This book teaches methods of rigorous analytical thinking; it does not prepare students to become programmers.

The subject matter is presented in a manner that would have been familiar and acceptable to teachers a few decades back. It is the examples and the problems that give this book the up-to-date feeling and flavor students will find appealing now. Having been tested in the classroom and refined in the process, the book can be comfortably used by teachers and instructors in a variety of settings, according to personal interest or departmental needs. Lover has also taken meticulous care to make the book appropriate for self-study or for professional development courses; the book is excellent for these purposes. I particularly liked the presentation of concepts and terms in numbered definitions, separating them from other explanatory text. Problems and exercises are plentiful; most are very short and easy, and several are quite interesting. Solutions are provided to half of the exercises; an instructor’s manual with solutions to all exercises is available from the publisher.

This book presents only the methods of deduction. It would have been nice if the author had mentioned at least one area, such as backward-chaining inference engines, where induction finds great utility and efficiency.

The subject matter is covered in 19 short and easy-to-absorb chapters. Chapter 20, “Above and Beyond This Book,” is interesting but a bit unusual for a book at this level. It is an annotated guide to textbooks on other areas of logic: classical logic, extensions to classical logic, rivals to classical logic, and applications of logic to computing or computing to logic. As Lover states: “The background provided in this book is either helpful or necessary for understanding most of them.” The chapter ends with 16 programming challenges that require considerable programming skills and would be more appropriate at the senior level or for independent work.

You don’t have to be a programmer to get the full benefit from this book. You can do that simply by carefully following each example and working out each problem. When programming is involved, the problems, while instructive, are simple. Pseudocode is sufficient for the solution and can be easily written, traced, and tested, using the techniques presented in the book. In fact, this will likely make you a more disciplined programmer and you will find the experience useful later on, when you actually write programs to solve complex problems.

The extensive bibliography provided, which includes items well beyond the level of the book itself, will be useful to readers and students who want to continue where this book stops. The book is well organized and well written. I found only a few minor typographical errors. I liked the book and I recommend it.

Reviewer:  Edgar R. Chavez Review #: CR136699 (1002-0125)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
General (F.4.0 )
 
 
Software Development (K.6.3 ... )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date

Moore G. (ed)Type: Article
Feb 1 1989
The liar; an essay in truth and circularity
Barwise J. (ed), Etchemendy J., Oxford University Press, Inc., New York, NY, 1987. Type: Book (9780195050721)
May 1 1988
A first course in computability
Rayward-Smith V., Blackwell Scientific Publications, Ltd., Oxford, UK, 1986. Type: Book (9789780632013074)
Mar 1 1987
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