Intended for first- or second-year undergraduates, this introduction to discrete mathematics covers the usual topics of such a course, but applies constructivist principles that promote - require - active participation by the student. This book covers the propositional calculus, operations on sets, basic counting methods, and predicate calculus.