This book provides a comprehensive exposition of the theory of braids, beginning with the basic mathematical definitions and structures. Among the many topics explained in detail are: the braid group for various surfaces; the solution of the word problem for the braid group; braids in the context of knots and links (Alexander's theorem); Markov's theorem and its use in obtaining braid invariants; the connection between the Platonic solids (regular polyhedra) and braids; the use of braids in the solution of algebraic equations. Dirac's problem and special types of braids termed Mexican plaits are also discussed. Audience: Since the book relies on concepts and techniques from algebra and topology, the authors also provide a couple of appendices that cover the necessary material from these two branches of mathematics. Hence, the book is accessible not only to mathematicians but also to anybody who might have an interest in the theory of braids. In particular, as more and more applications of braid theory are found outside the realm of mathematics, this book is ideal for any physicist, chemist or biologist who would like to understand the mathematics of braids. With its use of numerous figures to explain clearly the mathematics, and exercises to solidify the understanding, this book may also be used as a textbook for a course on knots and braids, or as a supplementary textbook for a course on topology or algebra.