Requiring minimal prerequisites, the book seeks to build appreciation while offering a clear foundation for developing combinatorial reasoning. Special attention is given to the basics of enumeration and generating functions. Background concepts are presented accessibly, and examples appear early and frequently. When suitable, multiple proofs are provided for the same result, offering insight into mathematical thinking and the interconnectedness of ideas. Each chapter concludes with a selection of exercises spanning a wide range of difficulty, and a collection of hints and solutions is included at the end of the book.