Network coding promises to significantly impact the way communications networks are designed, operated, and understood. This book presents a unified and intuitive overview of the theory, applications, challenges, and future directions of this emerging field, and is a must-have resource for those working in wireline or wireless networking. Uses an engineering approach - explains the ideas and practical techniques Covers mathematical underpinnings, practical algorithms, code selection, security, and network management Discusses key topics of inter-session (non-multicast) network coding, lossy networks, lossless networks, and subgraph-selection algorithms Starting with basic concepts, models, and theory, then covering a core subset of results with f...