The fascinating theory of error-correcting codes is a rather new addition to the list of mathematical disciplines. It grew out of the need to communicate information electronically, and is currently no more than 60 years old. - ing an applied discipline by de?nition, a surprisingly large number of pure mathematical areas tie into Coding Theory. If one were to name just the most important connections, one would start of course with Linear Algebra, then list Algebra and Combinatorics, and further mention Number Theory and - ometry as well as Algebraic Geometry. Being a thorough introduction to the ?eld, this book starts from the very beginning, which is the channel model of communication in the presence of noise. From there, we develop the fundamental concepts of error-correcting codes, like the Hamming metric and the maximum likelihood decoding pr- ciple. After discussing dual codes and simple decoding procedures, this book takes an unusual turn. The standard approach would be to move on from there and introduce either more theory or present standard constructions of codes. The approach taken here is different.