Shannon's theorem for digital communication channels, random coding bound. Block codes, number of correctable/detectable errors, encoding/decoding complexity, bounds for the bit-error-rate. Linear block codes, generator matrix, dual code, parity check matrix, coset decoding, weight distribution. Hamming codes, dimension, minimum distance, decoding, asymptotic behaviour. Reed-Muller codes, dimension, minimum distance, asymptotic behaviour. Cyclic codes, generator polynomial, parity check polynomial, encoding. Finite field theory. BCH bound for minimum distance, Reed- Solomon codes, decoding up to the BCH bound, Berlekamp-Massey algorithm. Reed-Solomon code for the correction of burst. Conventional codes, encoding state and trellis diagrams, catastrophic encoder, Viterbi decoding, sequential decoding.