Coding for Channels with Feedback presents both algorithms for feedback coding and performance analyses of these algorithms, including analyses of perhaps the most important performance criterion: computational complexity. The algorithms are developed within a single framework, termed the compressed-error-cancellation framework, where data are sent via a sequence of messages: the first message contains the original data; each subsequent message contains a source-coded description of the channel distortions introduced on the message preceding it. Coding for Channels with Feedback provides an easily understood and flexible framework for deriving low-complexity, practical solutions to a wide variety of feedback communication problems. It is shown that the compressed-error-cancellation framework leads to coding schemes with the lowest possible asymptotic order of growth of computations and can be applied to discrete memoryless channels, finite state channels, channels with memory, unknown channels, and multiple-access channels, all with complete noiseless feedback, as well as to channels with partial and noisy feedback. This framework leads to coding strategies that have linear complexity and are capacity achieving, and illustrates the intimate connection between source coding theory and channel coding theory. Coding for Channels with Feedback is an excellent reference for researchers and communication engineers in the field of information theory, and can be used for advanced courses on the topic.