The study of digital computing and circuitry requires, for its mathematical treatment, tools which are quite different from the traditional calculus and linear algebra and which can be loosely defined as finite structures. The ACM recommended in its 1968 curriculum report [1] the teaching of this topic at the beginning college level. Such courses are now offered at most colleges, and texts have proliferated (one of which is the book under review). The principal difficulty in teaching finite mathematics is that it consists of many different areas, such as Boolean algebra, graph theory, and combinatorics, each of which has its very own set of concepts and definitions not shared with the others. Just introducing these concepts will consume most of the allotted time, giving the students the tools but not enough instruction on how to use them. Given these difficulties, the author does as good a job as can be expected. The book is solidly written with just the right balance between mathematical rigor and readability.
The first three chapters deal with formal logic, set theory, and Boolean algebra, respectively, stressing the essential unity of these three areas. The next chapter, on switching theory, applies the tools just learned. The chapter on functions, which follows, is less well conceived. It starts with some highly technical definitions (“injective,” “surjective,” etc.), then jumps abruptly to Polish notation, and then again to recursion and mathematical induction. The latter concepts are, of course, fundamental to computation, but their significance will be hard to understand from this compressed treatment. The next chapter discusses graph theory with applications. It is followed by chapters on combinatorics and lattices.
The topics in this book cover everything that can reasonably be included in a one-semester course, and probably a good deal more. As stated before, it is well written and contains a generous amount of examples and exercises. If there are weaknesses, then they are primarily due to the problem of dealing with too many diverse areas in such a compressed form.
Access critical reviews of Computing literature here