When I first saw the title of the book, my reaction was that a reviewer should find out and explain how this book is different from the more usual, and much thicker, textbooks on Discrete Mathematics. Having perused the book, I can answer that question pretty clearly.

The most significant difference is *not* in the topical coverage. This book has ten chapters, and the first seven of them cover topics that are also covered at the beginning of all the well-known discrete mathematics textbooks, such as formal logic, sets, and relations. The last three chapters are different. Instead of enumeration techniques and graph theory, the author discusses data structures, sets of numbers (integers, rationals, reals) and their cardinalities, and the theory of algorithms, up to the halting problem.

The most significant difference is in the *way* in which the author covers these topics. His focus is indeed computer science. The overwhelming majority of the subjects is discussed from an algorithmic viewpoint, considering how we could use this or that result while writing code for a computer. A typical exercise from the book is “Define addition for the set of rational numbers,’ or “Define comparative relations for rational numbers.” We would not find such exercises in the usual discrete mathematics textbooks.

There should be more exercises (currently there are about five per section), and some should have their solutions included. If you can overlook these issues, and you want to teach a course focusing on how to use discrete structures in computer science, then the book is a concise, low-cost alternative to textbooks in discrete mathematics.

Miklós Bóna is Professor of Mathematics at the University of Florida.