The browser you are using is not supported by this website. All versions of Internet Explorer are no longer supported, either by us or Microsoft (read more here: https://www.microsoft.com/en-us/microsoft-365/windows/end-of-ie-support).

Please use a modern browser to fully experience our website, such as the newest versions of Edge, Chrome, Firefox or Safari etc.

Numerical Analysis: Computational Programming with Python

Course • Bachelor's level • 7.5 credits

This course is your first introduction to programming, showing how Python can be used to explore, test and apply mathematical ideas. You learn to write code that supports problemsolving, analysis and visualisation — essential skills for future studies in mathematics and science.
Application dates

Start

Autumn 2026

Level

Bachelor's

Language

English

Place of study

Multiple cities

Course code

NUMA01

Application dates

In this course, you develop your programming skills from your current level — whether you are completely new to coding or already have some experience — by learning how Python can be used systematically in mathematical and scientific work. You are introduced to techniques for implementing algorithms, structuring code, and using computational tools to investigate and solve problems from mathematics and physics. The course also connects directly to content from Analysis in One Variable and Algebra and Vector Geometry, giving you opportunities to translate theoretical concepts into practical computations, visualisations and small-scale simulations.

Topics include

  • Data structures, conditional statements, functions and classes
  • The basic functions and data types of the Python programming language: arithmetic operations, arrays of vectors, matrices, graphics functions, lists, tuples, dictionaries, file management
  • Modules such as NumPy, SciPy and Matplotlib
  • The representation of floating point numbers and their implications for arithmetic
  • Syntax: [for], [if-else], [while], list comprehensions, generators
  • Classes and inheritance applied to mathematical objects.

The course is compulsory within the Bachelor’s programmes in Mathematics. It may also be taken as a optional course within other Bachelor’s programmes or as a standalone course.

Teaching combines lectures with computerbased exercises that introduce new programming concepts in small, manageable steps. You apply these techniques directly by writing and testing your own code, gradually building up the skills needed for more advanced computational tasks. The supervised computer labs form a mandatory part of the course and provide structured support as you learn to use Python effectively.

The course also includes a programming project carried out in small groups. The project gives you experience in developing a larger program from start to finish together with other students, with both mathematical reasoning and good programming practice at the centre. The results of the project are presented at a seminar, which is part of the assessment. Throughout the course, you receive continuous feedback to deepen your understanding and support your progress.

Assessment is based on your work during the course, including report presentations of the exercises, your participation in the final project and your presentation at the project seminar. All compulsory components must be completed in order to pass.

Programming is a core skill in mathematics, science, and many datadriven industries. After completing the course, you will be able to write Python programs for mathematical and scientific applications, understand how algorithms behave in practice, and communicate computational results clearly through text, speech and graphics.

The course prepares you for further studies in numerical analysis, data science, and computational physics, and provides a strong foundation for careers where coding, analytical thinking and problemsolving are essential.

Summer Semester 2026

Closed for applications.

Start

29 June 2026

29 Jun 2026

End

28 August 2026

28 Aug 2026

Form

Distance learning

Pace

Part time

Language

English

City

Lund

Autumn Semester 2026

Closed for applications.

Start

31 August 2026

31 Aug 2026

End

17 January 2027

17 Jan 2027

Form

Normal learning

Pace

Part time

Language

English

City

Lund

Prerequisites

General requirements and studies equivalent to Swedish Upper Secondary School course Mathematics 4 (or older course Mathematics D)/Mathematics further level 2

Selection criteria

Seats are allocated according to the following: The general average (GPA) of your higher secondary school leaving certificate: 34 %, The Swedish national university aptitude test: 34 %, number of previous ECTS at application deadline (up to 165): 32 %. If students have equal credentials, seats are allocated based on their results on The Swedish National University Aptitude Test. If this too is equal, seats are allocated based on a draw.

Tuition fees for non-EU/EEA citizens

Citizens of countries outside:

  • The European Union (EU)
  • The European Economic Area (EEA) and
  • Switzerland

are required to pay tuition fees. You pay an instalment of the tuition fee in advance of each
semester.

Tuition fees, payments and exemptions

Full programme/course tuition fee: SEK 23,125
First payment: SEK 23,125

Convert currency – xe.com

Note that you may also need to pay an application fee, or provide proof of exemption.

Application fee

No tuition fees for citizens of the EU, EEA and Switzerland

There are no tuition fees for citizens of the European Union (EU), the European Economic Area (EEA) and Switzerland.

Contact us

Student counselling

Email: studentcounselling@math.lu.se