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
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
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
- C++ Programming Language, The, 4th Edition
- Online material
The course is led by Jonas Lindemann (firstname.lastname@example.org)
Example of project assignment
Figure 1 – Example of project assignment and object-oriented particle simulation