This text offers an introduction to error-correcting linear codes for researchers and graduate students in mathematics, computer science and engineering. The book differs from other standard texts in its emphasis on the classification of codes by means of isometry classes.