A ``hands-on'' constructive and computational approach to combinatorial topics with real-life modern applications. Provides a simple treatment of the subject. Introduces topics such as counting, designs and graphs. The notation is standard and kept to a minimum. Chapters end with historical remarks and suggestions for further reading.
