Discrete Mathematics Using a Computer offers a new, "hands-on" approach to teaching Discrete Mathematics. Using software that is freely available on Mac, PC and Unix platforms, the functional language Haskell allows students to experiment with mathematical notations and concepts -- a practical approach that provides students with instant feedback and allows lecturers to monitor progress easily.

This second edition of the successful textbook contains significant additional material on the applications of formal methods to practical programming problems. There are more examples of induction proofs on small programs, as well as a new chapter showing how a mathematical approach can be used to motivate AVL trees, an important and complex data structure.

Designed for 1st and 2nd year undergraduate students, the book is also well suited for self-study. No prior knowledge of functional programming is required; everything the student needs is either provided or can be picked up easily as they go along.

Key features include:

• Numerous exercises and examples

• A web page with software tools and additional practice problems, solutions, and explanations, as well as course slides

• Suggestions for further reading

Complete with an accompanying instructor's guide, available via the web, this volume is intended as the primary teaching text for Discrete Mathematics courses, but will also provide useful reading for Conversion Masters and Formal Methods courses.

Visit the book’s Web page at: http://www.dcs.gla.ac.uk/~jtod/discrete-mathematics/