This book gives an introduction to the finite element method as a general computational method for solving partial differential equations approximately. Our approach is mathematical in nature with a strong focus on the underlying mathematical principles, such as approximation properties of piecewise polynomial spaces, and variational formulations of partial differential equations, but with a minimum level of advanced mathematical machinery from functional analysis and partial differential equations. In principle, the material should be accessible to students with only knowledge of calculus of several variables, basic partial differential equations, and linear algebra, as the necessary concepts from more advanced analysis are introduced when needed. Throughout the text we emphasize implementation of the involved algorithms, and have therefore mixed mathematical theory with concrete computer code using the numerical software MATLAB is and its PDE-Toolbox. We have also had the ambition to cover some of the most important applications of finite elements and the basic finite element methods developed for those applications, including diffusion and transport phenomena, solid and fluid mechanics, and also electromagnetics.?