Although its roots lie in information theory, the applications of coding theory now extend to statistics, cryptography, and many areas of pure mathematics, as well as pervading large parts of theoretical computer science, from universal hashing to numerical integration. Introduction to Coding Theory introduces the theory of error-correcting codes in a thorough but gentle presentation. Part I begins with basic concepts, then builds from binary linear codes and Reed-Solomon codes to universal hashing, asymptotic results, and 3-dimensional codes. Part II emphasizes cyclic codes, applications, and the geometric desciption of codes. The author takes a unique, more natural approach to cyclic codes that is not couched in ring theory but by virtue of its simplicity, leads to far-reaching generalizations. Throughout the book, his discussions are packed with applications that include, but reach well beyond, data transmission, with each one introduced as soon as the codes are developed. Although designed as an undergraduate text with myriad exercises, lists of key topics, and chapter summaries, Introduction to Coding Theory explores enough advanced topics to hold equal value as a graduate text and professional reference. Mastering the contents of this book brings a complete understanding of the theory of cyclic codes, including their various applications and the Euclidean algorithm decoding of BCH-codes, and carries readers to the level of the most recent research.