This book contains an introduction to hyperbolic partial differential equations and a powerful class of numerical methods for approximating their solution, including both linear problems and nonlinear conservation laws. These equations describe a wide range of wave propagation and transport phenomena arising in nearly every scientific and engineering discipline. Several applications are described in a self-contained manner, along with much of the mathematical theory of hyperbolic problems. High-resolution versions of Godunov's method are developed, in which Riemann problems are solved to determine the local wave structure and limiters are then applied to eliminate numerical oscillations. These methods were originally designed to capture shock waves accurately, but are also useful tools for studying linear wave-propagation problems, particularly in heterogenous material. The methods studied are implemented in the CLAWPACK software package and source code for all the examples presented can be found on the web, along with animations of many of the simulations. This provides an excellent learning environment for understanding wave propagation phenomena and finite volume methods.