The spirit and aim of this book is to present a compact introduction to the basic combinatorial tools - such as recurrence relations, generating functions, incidence matrices, and the inclusion-exclusion principle - that will give the reader a flavour of the distinctive characteristics of this attractive and increasingly important branch of mathematics. A studly of block designs is followed by a brief mention of applications to coding theory. In this new edition, Steiner triple systems are constructed and S(5,8,24) is obtained via the Golay code of length 24. The final chapter combines together the three combinatorial structures of the Leech lattice, the Golay codes, and Steiner systems. Also in this edition, an application of the marriage theorem to score sequences of tournaments has been included.