Network Coding Fundamentals reviews the basic techniques with emphasis on multicasting over error free links. It starts from the main theorem in network coding, and proceeds to discuss tools used in the context of network coding, network code design techniques, benefits, complexity requirements, and methods to deal with cycles and delay. Network Coding Fundamentals is an introduction to the basic concepts and results in network coding. It also serves as an excellent review the state of the art in a number of topics and provides pointers to open research directions.