oW should coded communication be approached? Is it about prob- H ability theorems and bounds, or about algorithms and structures? The traditional course in information theory and coding teaches these together in one course in which the Shannon theory, a probabilistic the- ory of information, dominates. The theory's predictions and bounds to performance are valuable to the coding engineer, but coding today is mostly about structures and algorithms and their size, speed and error performance. While coding has a theoretical basis, it has a practical side as well, an engineering side in which costs and benefits matter. It is safe to say that most of the recent advances in information theory and coding are in the engineering of coding. These thoughts motivate the present text book: A coded communication book based on methods and algorithms, with information theory in a necessary but supporting role. There has been muchrecent progress in coding, both inthe theory and the practice, and these pages report many new advances. Chapter 2 cov- ers traditional source coding, but also the coding ofreal one-dimensional sources like speech and new techniques like vector quantization. Chapter 4 is a unified treatment of trellis codes, beginning with binary convolu- tional codes and passing to the new trellis modulation codes.