Coding theory basic assumptions Coding bounds Error probability evaluation methods Channel models Simulation or testing of codes