For the implementation of the algorithms in scientific computing, various different programming languages and packages are used. In this practical training we shall systematically discuss some of the most wide-spread approaches and methods. They will be illustrated by procedures known from other numeric-courses. The practical training is however also suitable for beginners, who have little or no numerical experience. Bachelor as well as master-students are welcome.
In particular we shall be concerned with:
A short introduction to the mathematical theory of computation, and the principles of moderen dgital computers
A systematic introduction to Python, a well-structured powerfull language, by means of which the established programming paradigms procedural, functional and object-oriented can intuitively be explained.
Especially for numerical computations we shall discuss the extensions Numerical Python, Scientific Python and Matplotlib for graphical representations.
The Python-package SymPy that provides symbolic solution methods analoguous to the commercial computer-algebra systems Maple and Mathematica.
C and its object oriented extension C++, which allow for a low-level processor-oriented and thus very efficient programming.
MATLAB as an example of a highly integrated programming environment, that provides comprehensive libraries for different branches in scientific cumputing.
Maple, a computer-algebra system, with which – amongst others – symbolic expressions can be evaluated, for example differentiation or integration of functions.
The FEniCS Project, a collection of free software for the development of innovative concepts
and tools for automated scientific computing, with a particular focus on automated solution of differential equations by finite element methods, which can be embedded into the Python or C++ programming languages. This part is mainly oriented towards master-students.
The topics will be presented in a lecture of 2 hours per week. The practical training is then divided into sets of homework exercises, which are to be solved individually or in small groups. This will require about 4-6 hours a week.
For the participants, modern workstation and a large Linux-cluster are provided in the INS. Python and all required packages can however also easly be installed on home-computers under Windows, Mac OS X or Linux.
Times and Dates
16:00h – 18:00h
Seminarraum 6.020, Wegelerstrße 6, upon need Praktikumsraum 6.012