You are here

Mathematics in Computing: An Accessible Guide to Historical, Foundational and Application Contexts

Gerard O'Regan
Publication Date: 
Number of Pages: 
[Reviewed by
David S. Mazel
, on

This book sets a worthy goal: to explain the mathematics used in computing and possibly provide the reader a means of learning that mathematics. I am not sure any one book could achieve such a goal. If there were such a book, given the breadth of mathematics in computing, the book would easily exceed several thousands of pages. Just to explain, say, cryptography, Menezes requires over 700 pages in his Handbook of Cryptography. If a reader wants to understand, say, digital logic and how computers compute, that itself is another book of many hundreds of pages. But this book is less than 300-pages in length. So, what’s going on?

Mathematics in Computing is really a collection of essays, for lack of a better term, that are either historical or mathematical in nature. Each essay relates to computing in some manner, so if you are familiar with the topics you will see the connection to computing. However, O’Regan does not offer his readers a guide to understand how the chapters relate directly to computing nor to each other. That’s a shame because had he done so, this book would be much better.

We begin with the Greeks and how they proved algebraic concepts with geometric proofs. For example, the author shows us that the equation \[ (a+b)^2 = a^2 + 2ab + b^2\]

may be proven with the diagram:

Of course, there is much more to Greek mathematics; see, for example, the wonderful MAA publication Archimedes : What Did He Do Besides Cry Eureka? for an excellent discussion of just how much one man did long ago.

We then move to set theory and functions, rich topics in themselves that are covered in all of 19 pages. Again, the discussion is pedestrian and not of much interest. Our next chapter is logic. O’Regan provides a fun example of how intricate propositional logic can be. It’s worth repeating, in part, here just for fun. We start with the following paragraph about Superman.

"If Superman were able and willing to prevent evil, he would do so. If Superman were unable to prevent evil he would be impotent; if he were unwilling to prevent evil he would be malevolent; Superman does not prevent evil. If Superman exists he is neither malevolent nor impotent; therefore Superman does not exist."

O’Regan then casts the argument in propositional logic to show that Superman does not exist. He notes the following statements:


Superman is able to prevent evil


Superman is willing to prevent evil


Superman is impotent


Superman is malevolent


Superman prevents evil


Superman exists

With these statements, we make the following propositions based on the paragraph above:


\((a\wedge w) \Longrightarrow p \)


\((\lnot a\Longrightarrow i) \wedge (\lnot w \Longrightarrow m) \)


\(\lnot p\)


\( e \Longrightarrow \lnot I \wedge \lnot m\)

and we come to the conclusion: \[ P_1\wedge P_2 \wedge P_3 \wedge P_4 \Longrightarrow \lnot e.\]

(Comic book fans everywhere may be disappointed.) O’Regan presents further detailed logical statements to show the conclusion in precise detail (but the typesetting would be tedious for this reviewer).

The author never goes very deep. The chapter on software engineering, for example, presents only a tiny bit on the topic. The author mentions CMMI and there is a brief discussion about it. CMMI (Capability Maturity Model Integrated) is a quality process improvement program from the Software Engineering Institute. The U.S. Government is now requiring many companies to employ it in their work. Unfortunately, the subject is given scant attention. To the author’s credit, he mentions CMMI so readers can learn that it exists, but there is little to help readers to gain any appreciation of it. Given the promulgation of CMMI across companies today, it deserves more detail.

Similar superficial treatment appears in each chapter from coding theory to semantics to computability to complex numbers and calculus. Each topic fits within computing, that is certain, but the coverage is meager.

I suspect readers will find the lack of depth makes this book of little practical use.

David S. Mazel welcomes your feedback and can be contacted at mazeld at gmail dot com.