The study of encoding techniques that can correct errors introduced by a noisy communication channel.