Combinatorial enumeration is a readily accessible subject full of easily stated, but sometimes tantalizingly difficult problems. This book leads the reader in a leisurely way from basic notions of combinatorial enumeration to a variety of topics, ranging from algebra to statistical physics. The book is organized in three parts: Basics, Methods, and Topics. The aim is to introduce readers to a fascinating field, and to offer a sophisticated source of information for professional mathematicians desiring to learn more. There are 666 exercises, and every chapter ends with a highlight section, discussing in detail a particularly beautiful or famous result.