Teaching the theory of error correcting codes on an introductory level is a difficult task. The theory, which has immediate hardware applications, also concerns highly abstract mathematical concepts. This text explains the basic circuits in a refreshingly practical way that will appeal to undergraduate electrical engineering students as well as to engineers and technicians working in industry. Arazi's truly commonsense approach provides a solid grounding in the subject, explaining principles intuitively from a hardware perspective. He fully covers error correction techniques, from basic parity check and single error correction cyclic codes to burst error correcting codes and convolutional codes. All this he presents before introducing Galois field theory - the basic algebraic treatment and theoretical basis of the subject, which usually appears in the opening chapters of standard textbooks. One entire chapter is devoted to specific practical issues, such as Reed-Solomon codes (used in compact disc equipment), and maximum length sequences (used in various fields of communications). The basic circuits explained throughout the book are redrawn and analyzed from a theoretical point of view for readers who are interested in tackling the mathematics at a more advanced level.