This book provides an introduction to discrete mathematics. At the end of the book the reader should be able to answer counting questions such as: How many ways are there to stack n poker chips, each of which can be red, white, blue, or green, such that each red chip is adjacent to at least 1 green chip? The book can be used as a textbook for a semester course at the sophomore level. The first five chapters can also serve as a basis for a graduate course for in-service teachers.