This book equips the student with essential intellectual tools that are needed from the very beginning of university studies in computing.These consist of abilities and skills - to pass from a concrete problem to an abstract representation, reason with the abstract structure coherently and usefully, and return with booty to the specific situation. The most basic and useful concepts needed come from the worlds of sets (with also their employment as relations and functions), structures (notably trees and graphs), and combinatorics (alias principles of counting, with their application in the world of probability). Recurring in all these are two kinds of instrument of proof - logical (notably inference by suppositions, reductio ad absurdum, and proof by cases), and mathematical (notably induction on the positive integers and on well-founded structures).From this book the student can assimilate the basics of these worlds and set out on the paths of computing with understanding and a platform for further study as needed.
From the reviews:
"The book covers the very basic concepts of sets, relations, functions, induction and recursion, combinatorics, probability, trees, propositional logic, and elementary concepts of predicate logic. The text is easy to read, and the concepts are presented in an understandable way using many examples. The book contains exercises with solutions, gives several further exercises, and hints for further selected reading. ... the book is recommended for undergraduates as a very first introduction to the basic ideas of finite mathematics and logic." (D. Seese, ACM Computing Reviews, January, 2009)