Coding theory is an approach to various science disciplines such asinformation theory, electrical engineering, digital communication, mathematics, and computer science which helps design efficient and reliable data transmission methods so that redundancy can be removed and errors corrected.It also deals with the properties of codes and with their fitness for a specific application. There are three classes of codes 1. Source coding (Data compression) 2. Channel coding (Forward error correction) 3. Joint source and channel coding.