Single-Course English 5 ECTS

Mathematical software programming

Overall Course Objectives

To enable the participants to write software that can solve numerical problems based on a mathematical model.

To give the participants an introduction to imperative and object-oriented programming as well as the ability to employ these paradigms using imperative and object-oriented programming languages. In this course we use C/C++ as C-based programming languages are widely used for programming mathematical software.

The participants are also given an introduction to basic algorithms and data structures that are often used in mathematical software.

To ensure that you, as a participant, develop practical skills, you will work with small mathematical projects in which programming is an indispensable tool. Moreover, you will train software documentation in reports.

Learning Objectives

  • Evaluate discrete and continuous mathematical expressions.
  • Describe and use data structures such as lists, arrays, and sparse matrices.
  • Choose appropriate data types and data structures for a given problem.
  • Compare iterative and recursive solutions for simple problems.
  • Analyze the runtime behavior and the time and space complexity of simple programs.
  • Call external (third party) programs and libraries.
  • Design, implement, and document a program that solves a mathematical problem.
  • Debug and test mathematical software.
  • Describe and use basic object-oriented programming concepts such as classes and objects.
  • Explain rounding errors and floating point number representation of real numbers.

Course Content

Programming paradigms: imperative programming, object-oriented programming.
Data structures: lists, arrays, sparse matrices.
Programming projects encompass:
– Loading data.
– Calling external programs and libraries (especially numerical).
– Optimization and parallelization.

Recommended prerequisites

02525/02002/02631/02633/02601, or similar courses that provide knowledge of numerical methods and basic concepts in computer science such as loops, variable types, and simple mathematical operations.

Teaching Method

Lectures, exercises, and small programming projects.


See course in the course database.





13 weeks




DTU Lyngby Campus

Course code 02635
Course type Bachelor
Semester start Week 35
Semester end Week 48
Days Thurs 13-17

7.500,00 DKK