While the finite element method (FEM) is the standard procedure for solving problems in solid mechanics, modeling problems with complex/evolving geometries rapidly exposes the main pitfalls of the method: creating matching meshes is a tedious and error-prone process that can take most of the time in a real-world simulation. In this advanced course on finite element analysis, we delve into enriched finite element formulations. Students will be exposed to state-of-the-art methodologies for solving challenging linear boundary value problems. Particular emphasis will be placed in methodologies for solving problems with discontinuities, e.g., material interfaces, cracks, voids, etc. For these problem, we focus in decoupling the analysis from its underlying finite element discretization. By enriching the finite element space, it is possible to analyze problems with the same accuracy and rate of convergence as those of standard FEM on meshes that align to the problem’s geometry. This is a hands-on course where students develop on the finite element code used in ME46050 (Advanced Finite Element Methods).