Suitable for upper-level undergraduates and graduate students in engineering, science, and mathematics, this introductory text explores counting and listing, graphs, induction and recursion, and generating functions. Includes numerous exercises (some with solutions), notes, and references.