1. Introduction

2. Preliminaries

3. Binary Strings

4. Combinations

5. Permutations

6. Set Partitions

7. Integer Partitions and Compositions

8. Geometric Objects

9. Objects on Graphs

10. Greedy Gray Codes