The growing demand for wireless communication makes it important to determine the capacity limits of the underlying channels for these systems. These capacity limits dictate the maximum data rates that can be transmitted over wireless channels with asymptotically small error probability, assuming no constraints on delay or complexity of the encoder and decoder. The mathematical theory of communication underlying channel capacity was pioneered by Claude Shannon in the late 1940s. This theory is based on the notion of mutual information between the input and output of a channel. In particular, Shannon defined channel capacity as the channel's mutual information maximized over all possible input distributions. The significance of this mathematical construct was Shannon's coding theorem and its converse. The coding theorem proved that a code did exist that could achieve a data rate close to capacity with negligible probability of error. The converse proved that any data rate higher than capacity could not be achieved without an error probability bounded away from zero. Shannon's ideas were quite revolutionary at the time: the high data rates he predicted for telephone channels, and his notion that coding could reduce error probability without reducing data rate or causing bandwidth expansion. In time, sophisticated modulation and coding technology validated Shannon's theory and so, on telephone lines today, we achieve data rates very close to Shannon capacity with very low probability of error.