This course is discontinued

INF9681 – Introduction to finite element methods

Schedule, syllabus and examination date

Choose semester

Course content

Finite element methods provide a general and powerful framework for solving ordinary and partial differential equations. In this course, we study the analysis, implementation and application of finite element methods. The following topics are studied in this course: piecewise polynomial approximation, quadrature and triangulation in one, two and three space dimensions, variational principles, energy minimization, Galerkin's method, Petrov-Galerkin, bilinear forms and linear forms, abstract formulation, Sobolev spaces, V-ellipticity, Lax-Milgram, Cea's lemma, error estimates in the energy norm, examples of finite elements including standard continuous and discontinuous Lagrange elements, BDM elements, RT elements, Nedelec elements and Crouzeix-Raviart elements, Dirichlet, Neumann and Robin boundary conditions, affine mapping from a reference element, the local-to-global mapping, assembling the linear system, efficient implementation of finite element methods, application to Poisson's equation, convection-diffusion, linear elasticity and ordinary differential equations.

In the companion course INF5690: Advanced Finite Element Methods, we continue the study of the finite element method with focus on its automation, adaptivity and stabilization.

Learning outcome

Students will learn the mathematical formulation of the finite element method and how to apply it to basic (linear) ordinary and partial differential equations. Students will also learn how to implement the finite element method efficiently in order to solve a particular equation.


PhD candidates from the University of Oslo should apply for classes and register for examinations through Studentweb.

If a course has limited intake capacity, priority will be given to PhD candidates who follow an individual education plan where this particular course is included. Some national researchers’ schools may have specific rules for ranking applicants for courses with limited intake capacity.

PhD candidates who have been admitted to another higher education institution must apply for a position as a visiting student within a given deadline.


Recommended previous knowledge

It is assumed that the student has knowledge about basic calculus and differential equations.

It is also assumed that the student has some experience with Python (or is willing to learn).

Overlapping courses

5 credits overlap with INF5680 – Introduction to Finite Element Methods (discontinued)


The course runs over eight weeks. Each week a lecture is given and at each lecture (except the last) an assignment is given to be handed in at the following week's lecture. Assignments will contain a mix of theory, implementation and application.

Assignments should be implemented in Python. We will also make limiteduse of FEniCS ( to generate finite element meshes.

In addition, each PhD student is expected to give an oral presentation on a topic of relevance (chosen in cooperation with the lecturer). The presentation has to be approved by the lecturer for the student to be admitted to the final exam.

Note that the first and last lectures are mandatory.


Seven assignments (counts 10% each). Written exam (counts 30%). All parts must be completed in the same semester.

Examination support material

No examination support material is allowed.

Grading scale

Grades are awarded on a scale from A to F, where A is the best grade and F is a fail. Read more about the grading system.

Explanations and appeals

Resit an examination

This course offers both postponed and resit of examination. Read more:

Withdrawal from an examination

It is possible to take the exam up to 3 times. If you withdraw from the exam after the deadline or during the exam, this will be counted as an examination attempt.


Note that the first and last lectures are mandatory.

Facts about this course






Every spring


Every spring

Teaching language