This major textbook, a product of many years' teaching, will appeal to all teachers of combinatorics who appreciate the breadth and depth of the subject. The authors exploit the fact that combinatorics requires comparatively little technical background to provide not only a standard introduction but also a view of some contemporary problems. All of the 36 chapters are in bite-size portions; they cover a given topic in reasonable depth and are supplemented by exercises, some with solutions, and references. To avoid an ad hoc appearance, the authors have concentrated on the central themes of designs, graphs and codes.