This book is intended for a one-semester course in discrete mathematics. Such a course is typically taken by mathematics, mathematics education, and computer science majors, usually in their sophomore year. Calculus is not a prerequisite to use this book. Part one focuses on how to write proofs, then moves on to topics in number theory, employing set theory in the process. Part two focuses on computations, combinatorics, graph theory, trees, and algorithms.