This substantial revision of the text Numerical Solution of Partial Differential Equations by the Finite Element Method by C. Johnson is a two volume introduction to the computational solution of differential equations using a unified approach organised around the adaptive finite element method. It presents a synthesis of mathematical modelling, analysis and computation. It provides the student with theoretical and practical tools useful for addressing the basic questions of computational mathematical modelling in science and engineering: How to model physical phenomena using differential equations? What are the properties of solutions of differential equations? How to compute solutions in practice? How to estimate and control the accuracy of computed solutions? The first volume begins by developing the basic issues at an elementary level in the context of a set of model problems in ordinary differential equations. The second volume extends the scope to nonlinear differential equations and systems of equations modelling a variety of phenomena such as reaction-diffusion, fluid flow and many-body dynamics, and reaches the frontiers of research.