Presenting the mathematical theory of finite elements, this text develops the theoretical basis for the finite element methods, emphasizing inf-sup conditions over the more conventional Lax-Milgrim paradigm. It addresses various applications and practical implementations of the method, respectively. It contains many examples and exercises.