This book provides a comprehensive explanation of forward error correction, which is a vital part of communication systems. The book is written in such a way to make the subject easy and understandable for the reader. The book starts with a review of linear algebra to provide a basis for the text. The author then goes on to cover linear block codes, syndrome error correction, cyclic codes, Galois fields, BCH codes, Reed Solomon codes, and convolutional codes. Examples are provided throughout the text.