In the present communication age most data transmitted over noisy channels are protected through some coding devices. The most commonly used codes are so called 'block codes' and so called 'convolutional codes'. Block codes in its common form are linear subspaces of a vector space defined over a finite field. In the last 50 years a rich mathematical theory has been developed whose main purpose was the construction of block codes with large distances and efficient decoding algorithms.
Convolutional code are essentially linear system defined over a finite field.
They are most suitable for data transmission over telephone lines or wireless channels. Despite the well known connection to linear systems theory convolutional codes have been studied in the past mainly by graph theoretic methods and the mathematical theory is in comparison to the situation of block codes not very elaborated. It is the purpose of this lecture series to make people in linear algebra and systems theory aware of the ongoing efforts in coding theory. The lectures will be self contained and they will not assume any prior knowledge of the subject. We will explain differences between data encoding, data encryption and source coding.