Although graph theory, design theory, and coding theory had their origins in various areas of applied mathematics, today they are to be found under the umbrella of discrete mathematics. Here the authors have considerably reworked and expanded their earlier successful books on graphs, codes and designs, into an invaluable textbook. They do not seek to consider each of these three topics individually, but rather to stress the many and varied connections between them. The discrete mathematics needed is developed in the text, making this book accessible to any student with a background of undergraduate algebra. Many exercises and useful hints are included througout, and a large number of references are given.