Home » Introduction to Scientific Computing II

Introduction to Scientific Computing II


The purpose of the course is to give the students an introduction to scientific programming using C++.


This course requires good knowledge in programming in either C, Fortran or Python. Introduction to Scientific Computing + Programming in Science and Technology is equivalent to this

General aims of the course

This course aims to provide the participants with an introduction to C++ in the context of scientific computing. C++ is a powerful language, which is used in many computational codes. Combined with the right numerical libraries it can be used for parallel computing and GPU computing. When the course is completed the participants should have the knowledge in how to:

  • Write modularized software using C++
  • Implement and test object-based numerical C++.
  • Conduct object-oriented analysis of problems in computational science and engineering.
  • Implement tools for interactive visualization.
  • Implement Python based wrappers for C++ code.
  • Use tools such as make and CMake to efficiently build software
  • Use version control systems such as subversion and git.
  • Use these insights in practice in solving problems of relevance of her/his PhD-project

Course contents

Day 1 – C++ numerical computing
Day 2 – Object-oriented concepts in C++
Day 3 – Matrix computing with C++
Day 4 – User interfaces and visualization with Qt
Day 5 – Creating Python wrappers for C++ / Work on project assignment

Course schedule

The course consists of:

  • 1 week pre-study exercises. (v43) – work from home
  • 1 week of lectures and hands-on (v44) in LUND
  • 1 week project assignment (v45) work from home

Course literature

  • C++ Programming Language, The, 4th Edition
  • Online material

Course leader

The course is led by Jonas Lindemann (jonas.lindemann@lunarc.lu.se)

Example of project assignment

Figure 1 – Example of project assignment and object-oriented particle simulation



First name*                                                         Family name*

University / Affiliation *

Email*:(You must use your university email address, not gmail, yahoo, hotmail etc.)

Supervisor *

Subject of Phd-project:

Indicate also if you apply for a travel grant: