Have you ever played a board game or a video game where you figured out the shortest path between two locations before moving? Or have you ever been following directions from Google Maps and noticed a red patch of slow moving traffic coming up? Then you have unknowingly seen and used network flows. Network flows are used to optimize a variety of problems including the shortest path problem, the maximum flow problem, and the minimum cost problem. Through applications, we will explore a few ways to approach these problems to determine how computationally efficient these algorithms are.