Network coding was introduced in 2000 as a new approach for sending information in computer networks. In traditional methods, routers just save and forward packets, but in this new approach the routers are allowed to perform operations on packets. They can code packets together and send the coded packets over their outgoing links. This technique was first introduced to increase the throughput of the networks; later on, however, much research was conducted on the effects of network coding on the performance metrics of the network such as throughput, fairness, reliability, power consumption, etc. In this thesis, the concept of network coding is introduced. Having introduced the concept, a brief review of different coding schemes is presented and main characteristics of ?-codes, linear codes, and random linear codes are described. The report is followed by investigating the applications of network coding to broadcast networks, e.g. wireless networks. We discuss how broadcast networks provide an adequate environment for taking advantage of the network coding. Also presented in this context is an introduction to the analog network coding. The other part of this thesis is focused on the application of network coding in erasure networks. Performance of network coding in these networks is compared to two other common schemes, i.e. ARQ and fountain codes. Throughout this comparison, an effort is made to achieve a more in-depth understanding of the use of network coding to combat link erasures. In this part, with a new approach to the problem of queue control, we study the effect of network coding on decreasing the length of the queues. Finally, we propose a new algorithm for sending packets over an erasure broadcast channel. The proposed algorithm is less complex compared to the alternative algorithms, provides for a smaller bound on packet delays, and requires less feedback. On the other hand, unlike the alternative algorithm, it doesn’t achieve the exact capacity of the channel. Key Words computer network, network coding, erasure network, broadcast network, queue control