Use this tag for questions about source-coding and channel-coding in information theory, error-correcting codes, error-detecting codes, and related algebraic and/or combinatoric constructions. This tag should not be used for questions about programming.
Coding theory is the study of the properties of codes and their fitness for specific applications.
In Information theory, developed by Claude Shannon, coding theory is traditionally split into Source coding and Channel coding. The former studies for example methods for presenting data from a continuous source using a discrete alphabet of symbols (e.g. binary). Data compression is also a part of source coding. For its part, channel coding studies methods for adding redundancy to a message, aiming to protect it from errors caused by a communication channel.
Many authors also use terms including the word coding to describe problems related to the design of signal constellations = finite sets of signals (with form depending on the characteristics of a given channel) the choice of which then conveys the piece of information to be transmitted. For example the medium of data storage places constraints on the set of signals to be used, applications in a radio channel OTOH calls for methods of designing sets of waveforms aiming to combat various sources of errors (thermal noise, signal fading, interference of other users etc) and or adding diversity to the signal.
A somewhat related area of study is cryptography.