Coding theory and
its foundations and applications
Classical coding theory arose as a mathematical model used to
ensure error free communication. In this setting, codes were
defined as vectors spaces where the alphabet was a finite field.
We shall describe the passage from classical coding theory
to present day coding theory, viewing it as a subbranch of
algebra, where codes are modules over finite Frobenius rings.
We shall focus on the generalization of the Singleton
bound and on the MacWilliams relations which illustrate the
passage. We shall also present various applications of the
most general form of coding theory in other branches of
mathematics.