Algebraic coding theory is a new and rapidly developing subject motivated by immediate practical applications but also rich in mathematical structure. This book provides an elementary yet rigorous introduction to the theory of error-correcting codes.