Claude Shannon created information theory in 1948, with his paper "A
Mathematical Theory of Communication". Subsequently, mathematicians and
engineers attacked the challenge of designing practical error-correcting
codes that would offer the performance that Shannon proved possible for
point to point communication links.

In this talk, we will  follow the historical development of the design
of such codes, and show how mathematical disciplines such as
combinatorics, linear algebra, finite fields theory, algebraic geometry,
symbolic dynamics, and graph theory have been applied towards meeting
the challenge.