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 the basic notions to a variety of topics, ranging from algebra to statistical physics. Its aim is to introduce the student to a fascinating field, and to be a source of information for the professional mathematician who wants to learn more about the subject. The book is organized in three parts: Basics, Methods, and Topics. There are 666 exercises, and as a special feature every chapter ends with a highlight, discussing a particularly beautiful or famous result.