This document provides an introduction to network coding. It defines network coding as a method for attaining maximum information flow in a network by considering encoding and decoding of data at network nodes. Random linear network coding is introduced as an approach where coding coefficients are chosen randomly from a finite field, allowing decoding with high probability. Applications of network coding are discussed, including improving efficiency in wireless networks through physical-layer network coding where wireless signals can add up. Potential problems with network coding in practical implementations are also noted.