Symbolic dynamics is a rapidly growing area of dynamical systems. Although it originated as a method to study general dynamical systems, it has found significant uses in coding for data storage and transmission as well as in linear algebra. This book is the first general textbook on symbolic dynamics and its applications to coding. It will serve as an introduction to symbolic dynamics for both mathematics and electrical engineering students. Mathematical prerequisites are relatively modest (mainly linear algebra at the undergraduate level) especially for the first half of the book. Topics are carefully developed and motivated with many examples. There are over 500 exercises to test the reader’s understanding. The last chapter contains a survey of more advanced topics, and there is a comprehensive bibliography.