This substantial revision of Numerical Solutions of Partial Differential Equations by the Finite Element Method by Claes Johnson is a two volume introduction to the computational solution of differential equations using a unified approach organized around the adaptive finite element method. It presents a synthesis of mathematical modeling, analysis, and computation. The goal is to provide theoretical and practical tools useful for addressing the basic questions of computational mathematical modeling in science and engineering. It explains how to model physical phenomena using differential equations, what the properties of solutions of differential equations are, how to compute solutions in practice, and how to estimate and control the accuracy of computed solutions. The second volume extends the scope to nonlinear differential equations and systems of equations modeling a variety of phenomena such as reaction-diffusion, fluid flow, many-body dynamics and reaches the frontiers of research. It also addresses practical implementation issues in detail.