Introduction to Scientific Computing – 2017
The purpose of the course is to give the students an introduction to scientific programming using Python and Fortran.
The course is well suited for PhD-students with little previous experience of programming.
This is a basic course in scientific programming and will teach basic programming skills. Some knowledge in MATLAB or similar environment is recommended.
General aims of the course
The aim of the course is to give the students a toolbox of programming methods that can be applied to his/her PhD-project. Focus is on Fortran 2003/2008. After successful completion of the course, the student should be able to:
- Use Python scripting for computational science and engineering applications using the SciPy and NumPy packages.
- Use modules and tools for scientific visualization in Python.
- Implement simple user interfaces in Python.
- Use Fortran 2003/2008 for computational science and engineering applications using array-features and functions.
- Use Python for wrapping existing Fortran-based packages.
- Familiar with common development tools and environment for Python and Fortran.
- Use these insights in practice in solving problems of relevance of her/his PhD-project.
Course contents (tentative)
The course starts with introducing scientific programming in Python using SciPy and NumPy. The students will also be familiarized with the many available tools and libraries available for Python-development.
In the next part of this section an introduction to modern programming in Fortran 2003/2008 is given. The focus on this part is giving the students an introduction on how to develop well structured and modularized scientific applications in Fortran. The students are also introduced to modern Fortran features such as array-indexing, dynamic memory allocation.
In the last part of the week the students are introduced to mixed-language development, using Python for scripting an existing Fortran application.
The course is focused on hands-on training intermixed with lectures.
The course consists of:
1 week pre-study exercises week 23.
1 week of lectures and hands-on Lund, 12-16 June.
1 week project assignment week 25.
- Hans-Petter Langtangen – A Primer on Scientific Programming with Python
- Hans-Petter Langtangen – Python Scripting for Computational Science
- Fortran 95/2003 Explained
- Lärobok i Fortran 95
- Fortran 90 for the Fortran 77 Programmer
Jonas Lindeman, LUNARC, Lund University
E-mail: jonas.lindemann at lunarc.lu.se