This book deals with the simulation of the incompressible Navier-Stokes equations for laminar and turbulent flows. The book is limited to explaining and employing the finite difference method. It furnishes a large number of source codes which permit to play with the Navier-Stokes equations and to understand the complex physics related to fluid mechanics.