Description:There is no question that combinatorics is becoming more important in the practice of computer science. While some of the most important techniques are covered in discrete mathematics courses, there is not enough breadth or depth in the coverage. As a consequence, one of my goals this upcoming year is to convince my colleagues at Mount Mercy to add a course in combinatorics to the curriculum. As part of the proposal, I need to create a list of resources and a sample schedule of topics to be covered. To begin this process, I studied several combinatorics texts and decided that this one was the best.
There are six chapters, and the titles are:
Chapter 1 The mathematics of choice
Chapter 2 The combinatorics of finite functions
Chapter 3 Polya's theory of enumeration
Chapter 4 Generating functions
Chapter 5 Enumeration in graphs
Chapter 6 Codes and designs
The coverage is thorough and the sequence has been structured to make the last four chapters independent. This necessitated the duplication of some definitions and theorems, but it is a sensible strategy. There is more than enough material for a one-semester course, so this increases the options available to an instructor. I often skip chapters in a textbook in order to cover a topic I consider critical and find it very helpful when the author repeats key definitions and theorems.
The style is mathematically rigorous, the approach is that of a mathematics textbook with the sequence being: theorem, proof, example(s). A large number of exercises are given at the end of each section and solutions/hints to the odd numbered ones are included. It is a sound combinatorics text and the one that I would most likely use if I ever teach such a course.
Published in Journal of Recreational Mathematics, reprinted with permission.