Enumerative combinatorics deals with the basic problem of counting how many objects have a given property, a subject of great applicability. This book provides an introduction at a level suitable for graduate students. Extensive exercises with solutions show connections to other areas of mathematics.