In this course we study the finite element method for the numerical solution of linear and nonlinear partial differential equations. We introduce the most important finite elements, for example higher order polynomials on tetrahedra and hexahedra as well as isoparametric elements. An abstract framework for the analysis of elliptic problems is used throughout the course, in example to prove existence and uniqueness and for error analysis. A very important and popular application of the finite element method in engineering is analyzing properties of mechanical components. We therefore focus our examples of applications on solid mechanics, for example linear elasticity and thermo-elasticity. Mandatory computer sessions are included in the course.