Home Partners Management Activities Seminars Courses

Courses

Current and upcoming courses are listed below. See also plans for future courses and previous courses.


Autumn 2020

Scientific Computing with Python and Fortran (study period I, 7.5 ECTS)

This course is intended for students with basic knowledge of programming in any language who would like to learn the techniques of scientific programming. The course covers scientific programming in Python, including writing numerical codes with NumPy, data handling, visualisation with Matplotlib and ParaViews, writing user interfaces with Qt, and creating Python environments for scientific applications. It also covers using the compiled language Fortran, stand-alone or via mixed-language programming with Python.

For students without basic programming knowledge in C, C++ or Fortran this course will equip you with the required prerequisites for the course Parallel programming of HPC systems, which is scheduled to be given in spring term 2021.

This course will be given entirely online.

Programme:

Introductory meeting: September 15, 2020, 13.00

Course coordinator: Jonas Lindeman

Course registration: Please fill in and sign this form and return it by email to us.


Advanced Material on Stochastic Numerics (3 ECTS)

Stochastic Differential Equations (SDEs) have become a standard tool to model differential equation systems subject to noise. Applications range from Neuroscience or Polymeric Chemistry to Finance or Mechanical Engineering. Treating practical problems requires analytic techniques to understand and investigate properties of SDEs and stochastic numerical methods to compute quantities of interest, where the latter and the former often go hand in hand. During this course we will discuss efficiency of Monte Carlo methods for SDEs and how to improve it by variance reduction techniques and Multi-level Monte Carlo, and we will explore structural properties of SDEs and numerical methods that preserve these properties.

Assumed prior knowledge: Standard analysis and linear algebra, Numerical analysis of ordinary differential equations (including the corresponding programming skills), Basic probability theory, fundamentals of the concepts of SDEs and how to develop and analyse numerical methods for their simulation.

Examination format: Written report on a project.

Contents:

This material will be provided in lectures and exercise classes, which include implementing numerical methods and testing them. The course will take place online.

Course responsible: Philipp Birken

Course teacher: Evelyn Buckwar


Introduction to deep learning (4.5 ECTS)

Recent development in machine learning have led to a surge of interest in artificial neural networks (ANN). New efficient algorithms and increasingly powerful hardware has made it possible to create very complex and high-performing ANNs. The process of training such complex networks has become known as deep learning and the complex networks are typically called deep neural networks.

The aim of this course is to introduce students to common deep learnings architectues such as multi-layer perceptrons, convolutional neural networks and recurrent models such as the LSTM. Basic concepts in machine learning till also be introduced. The course consists of a series of lectures and computer exercises. The programming environment will be python (Jupyter notebook) together with the deep learning libraries Keras and Tensorflow.

The course will be given in flipped classroom mode, with students watching recorded lectures and taking part in discussion sessions. Discussion sessions will follow the schedule below and will take place over zoom.

Schedule and content:

The literature will consist of parts from the deep learning book and lecture notes.

Course responsible: Mattias Ohlsson

Teachers: Mattias Ohlsson, Patrick Edén + additional teachers and guest lecturers


Introduction to Python (study period II, 7.5 ECTS)

The course gives a basic introduction to programming in Python, assuming no prior programming experience. It has an orientation towards scientific computing. Python is a modern scripting language with ties to Scientific Computing due to powerful scientific libraries like SciPy, NumPy and Matplotlib. The course covers elementary programming concepts (arithmetic expressions, for-loops, logical expressions, if-statements, functions and classes) that are closely connected to mathematical/technical problems and examples, as well as mathematical manipulations and problem solving (e.g.~setting up matrices, solving linear problems, solving differential equations, finding roots), Pandas and GUI programming. A final lecture will cover syntactical differences between Python/SciPy and MATLAB, to facilitate the transition to MATLAB, if needed.

The course uses the flipped classroom concept, where the students watch videos at their own schedule, with a few scheduled joint sessions. There are hand-in assignments and a final project, both to be done in groups.

Introductory meeting: November 2nd, 2020, 13:15, via Zoom.

Course co-ordinator: Claus Führer

To register for the course, please fill out and sign this form and return it by email to Philipp Birken.



Other courses of interest to COMPUTE PhD students



List of previous courses here.


This page was last modified on 5 October 2020.