Numerical Analysis: Advanced Course in Numerical Algorithms with Python/SciPy
Start
Autumn 2026
Level
Master's
Language
English
Place of study
Lund
Course code
NUMN21
This course gives you hands-on experience in developing advanced numerical algorithms using Python and SciPy. It is designed as an algorithmfocused complement to earlier courses in numerical analysis, with a strong emphasis on practical programming skills that are valuable in professional and research environments. You will learn how to write highquality, modular code in a collaborative setting and how to connect mathematical theory with real computational tools. The course follows the entire development process—from the initial idea to tested, maintainable software—and prepares you to write code that others can understand, use, and build on.
Topics include
- Object-oriented programming for scientific computing
- Data structures in SciPy and NumPy
- Examples of complex numerical algorithms from different fields within numerical analysis
- Integration with C and Fortran libraries (e.g. Netlib)
- Automated testing in scientific computing
- Using Python to control system processes.
The course is alternativecompulsory within the Master’s Programme in Mathematics with a specialization in Numerical Analysis. It may also be taken as an elective within the Master’s Programme in Computational Science (Geoscience and Scientific Computing) or as an elective in mathematics for Bachelor’s students with sufficient programming and mathematical background. The course is also offered as a stand-alone.
The course centers on three major programming projects carried out in groups. You will work closely with your peers to break down complex problems, share responsibilities, and develop solutions collaboratively.
Teaching consists of lectures and supervised project work. Each project concludes with a mandatory oral presentation in which you present your own code, discuss key design choices, and provide constructive feedback on the work of other groups.
These sessions are collaborative and critical to your learning.
You can expect a dynamic and interactive learning environment where you will practice both technical and communication skills—essential for future work in research or industry.
By completing this course, you will be well prepared for advanced work in scientific computing across academia, research institutes, and industry. You will gain practical experience in designing robust algorithms, producing reusable software, and working effectively in teams—competences that are in high demand in fields such as data science, engineering, finance, and applied mathematics.
The course also provides a strong foundation for further studies at the Master’s or PhD level, especially in areas that rely on computational methods, algorithm development, or numerical modelling.
Prerequisites
90 higher education credits in mathematics and science, including knowledge equivalent to NUMA01 Computational Programming with Python, 7.5 credits, and an additional 7.5 credits in numerical analysis.
Selection criteria
Seats are allocated according to: ECTS (HPAV): 100 %.
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
Note that you may also need to pay an application fee, or provide proof of exemption.
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.