This is a first-year discrete mathematics course that doesn't require any calculus or programming knowledge.

Instead of emphasizing existential outcomes, the method emphasizes creating effective algorithms. introduces the construction of proofs (particularly those by induction) and algorithmic problem-solving. The Pascal programming language is compatible with the English language presentation of all algorithms. includes a lot of exercises, with answers towards the book's back (detailed solutions being supplied for difficult problems).