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 applied to eliminate numerical oscillations. The methods were orginally designed to capture shock waves accurately, but are also useful tools for studying linear wave-progagation problems, particulary in heterogenous material. The methods studied are in the CLAWPACK software package. 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.