Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Guide to discrete mathematics : an accessible introduction to the history, theory, logic and applications
O’Regan G., Springer International Publishing, New York, NY, 2016. 368 pp. Type: Book (978-3-319445-60-1)
Date Reviewed: Jul 13 2017

A book on discrete mathematics written by a software engineer certainly raises curiosity and interest because looking at math with the eye of a computer specialist allows the reader to see many of the infinite bridges connecting computer science to mathematics. Moreover, the book’s subtitle promises to touch the history and philosophy of mathematics along with applications; therefore, plunging into the book becomes a necessity, in the hope that the initial curiosity is positively satisfied.

Actually, books on mathematics for computer science have been on the market for many years. One example, the tome of Lehman, Leighton, and Meyer, with its 900-plus pages is a complete reference on the subject [1]. In essence, books of this kind focus on those fields of math that are of primary interest for computer scientists; for example, they emphasize computational logic, discrete structures, probability theory, combinatorics, and so on, while other topics like infinitesimal calculus, numerical analysis, and so on deserve less space. Most importantly, good books on this field show how the mathematical theories apply to computer science, both in theoretical and practical aspects.

O’Regan’s book is in line with this approach, but with significant differences. First, it is quite a small book (in consideration of the covered subject) with many inklings to historical facts. (O’Regan wrote a short book on the history of mathematics [2], which evidently influenced his writing.) Second, the book has the merit of connecting mathematical concepts to software engineering, which is often mistaken as an exclusively empirical discipline. After reading the book, readers (mostly intended as undergraduate students) have an immediate perception of the usefulness of some very abstract concepts in the very concrete field of software construction.

With this idea in mind, the book unfolds with the classical structure of a mathematical book, discussing set theory, number theory, and algebra. However, between these chapters, some other chapters are intertwined to examine some topics more related to computer science, such as induction and recursion, combinatorics, automata theory, and so on. As the chapters succeed one another, the emphasis on computer science grows, with chapters on graph theory, cryptography, coding theory, formal languages, computability, and decidability.

In the second part of the book, a strong emphasis on formal logic is given, with three chapters devoted to, respectively, history, logical calculus, and advanced topics. The marked interest of the author in logical aspects can be easily seen from these chapters, which are the most detailed when compared to those in the first part.

The last part of the book is devoted to software engineering, namely formal methods supporting the construction of mission-critical software. A chapter on the Z specification language could not be missed in the book, which terminates with a brief chapter on probability and statistics with applications to software reliability assessment. Each chapter has a number of review questions (not exercises) and references for further reading. Alas, many references are not useful; a more reasoned bibliography would have been preferred, with pointers to books and papers treating the subjects outlined in this book with deeper detail.

One of the first thoughts I had after reading the book regarded the intended audience. The book is not suitable in a mathematics class because it is too terse. Also, there are many imprecisions in the text, enough to make math teachers’ hair stand on end. Furthermore, the exclusion of some subjects from the book is questionable. For example, Peano’s axioms are never mentioned (though they are fundamental in number theory), nor are number representation theorems presented, which nevertheless have a strong influence in computer science. The book is neither suitable for a theoretical computer science course nor for a software engineering course because it does not cover these topics with the necessary completeness. Perhaps its best use is as a companion text in one of these courses, given that parts of it must be necessarily superseded by more comprehensive textbooks.

Reviewer:  Corrado Mencar Review #: CR145423 (1709-0585)
1) Lehman, E.; Leighton, F. T.; Meyer, A. R. Mathematics for computer science. Samurai Media Ltd., Wickford, UK, 2017.
2) O'Regan, G. A brief history of computing. Springer-Verlag, London, UK, 2012.
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
General (G.2.0 )
 
 
Software/ Program Verification (D.2.4 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Discrete mathematics
Ross K., Wright C., Prentice-Hall, Inc., Upper Saddle River, NJ, 1985. Type: Book (9789780132152860)
Mar 1 1986
Discrete structures: an introduction to mathematics for computer science
Norris F., Prentice-Hall, Inc., Upper Saddle River, NJ, 1985. Type: Book (9789780132152600)
Feb 1 1986
Applied discrete structures for computer science
Doerr A., Levasseur K., 1985. Type: Book (9789780574217554)
Feb 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