The purpose of Error-Control Coding for Data Networks is to provide an accessible and comprehensive overview of the fundamental techniques and practical applications of the error-control coding needed by students and engineers. An additional purpose of the book is to acquaint the reader with the analytical techniques used to design an error-control coding system for many new applications in data networks. Error~control coding is a field in which elegant theory was motivated by practical problems so that it often leads to important useful advances. Claude Shannon in 1948 proved the existence of error-control codes that, under suitable conditions and at rates less than channel capacity, would transmit error-free information for all practical applications. The first practical binary codes were introduced by Richard Hamming and Marcel Golay from which the drama and excitement have infused researchers and engineers in digital communication and error-control coding for more than fifty years. Nowadays, error-control codes are being used in almost all modem digital electronic systems and data networks. Not only is coding equipment being implemented to increase the energy and bandwidth efficiency of communication systems, but coding also provides innovative solutions to many related data-networking problems.