These notes are Dan Morris's explanation of both the Navier-Stokes equations and Stam's method of simulating them. For the variant of the Navier-Stokes equations that Stam works with, he explains each term (advection, pressure, diffusion and external force), and relates each to the methods that Stam uses. He also delves into a bit of the history of Navier-Stokes, starting with Foster and Metaxas's eulerian-grid-based approach. This approach, while novel and important at the time, suffered from instability -- parts of the vector field could blow up in certain circumstances. Stam's approach, since it always samples from field in the past time step, is guaranteed to be stable. Stam requires that the velocity field be divergence-free, and rather than using the relaxation scheme of Foster and Metaxas, he uses the Helmoltz-Hodge decomposition, and solves the resulting Poisson equation using a conjugate gradient method. Finally, we are told how the density grid is moved, which is done in a manner very much like that of the velocity field.