This book provides a comprehensive overview of the subject of channel coding. It starts with a description of information theory, focusing on the quantitative measurement of information and introducing two fundamental theorems on source and channel coding. The basics of channel coding in two chapters, block codes and convolutional codes, are then discussed, and for these the authors introduce weighted input and output decoding algorithms and recursive systematic convolutional codes, which are used in the rest of the book. Trellis coded modulations, which have their primary applications in high spectral efficiency transmissions, are then covered, before the discussion moves on to an advanced coding technique called turbocoding. These codes, invented in the 1990s by C. Berrou and A. Glavieux, show exceptional performance. The differences between convolutional turbocodes and block turbocodes are outlined, and for each family, the authors present the coding and decoding techniques, together with their performances. The book concludes with a chapter on the implementation of turbocodes in circuits.As such, anyone involved in the areas of channel coding and error correcting coding will find this book to be of invaluable assistance.