Connects coding theory with actual applications in consumer electronics and with other areas of mathematics. This book covers the mathematical foundations of digital data storage and makes connections to symbolic dynamics, linear systems, and finite automata. It also explores the use of algebraic geometry within coding theory.