Home |
Partners |
Management |
Activities |
Seminars |
Courses |

**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 2020.

*Introductory meeting:* September 3, 2019, 10.00, Andromeda room, astronomy building.

*Course coordinator:* Jonas Lindeman

**Artificial Intelligence in Medicine and Life Sciences – Introduction** (Study period 2, 1.5 ECTS)

Artificial intelligence is rapidly entering medicine and life science research as well as pharmaceutical industry and health care institutions. This introduction course will give an overview over artificial intelligence concepts and methods and over current and future applications of artificial intelligence in medicine and life sciences. Societal, ethical and legal challenges will also be addressed. In addition, students will hear about ongoing research in this area at Lund University and develop a project plan for an artificial intelligence research project in their own research domain. This is the first course in the new course package on "Artificial Intelligence in Medicine and Life Science" and will not have any programming exercises. It will be followed by several in-depth courses with practical exercises, each focusing on different types of data.

LU PhD students have prioritized admission but postdocs and other researchers can be admitted if there are unfilled spaces.

**Schedule:** See here.

**Course co-ordinator:** Sonja Aits

**Philosophy of Research in Computational Science** (Study period I, 1 ECTS)

The course gives an introduction to different scientific disciplines, including scientific perspectives on computer modelling. The aim of the course is to broaden understanding of multi- and interdisciplinary science and open for reflection on the scientific approach in different types of research. The course consists of lectures and an individual assignment where the student shall make a reflection on how their own research relates to possible epistemological models. Lectures are offered during two days (1 and 2nd of October).

*Schedule:* Lectures on October 1 (optional) and October 2 (compulsary), see the course website for a full schedule.

*Course co-ordinator:* Ullrika Sahlin

** Monte Carlo and molecular dynamics tools ** (study period II, 7.5 ECTS)

The course gives a basic introduction to techniques for simulating complex systems and processes, typically with many coupled degrees of freedom. The main aim of the course is to introduce the students to applications of these techniques. To this end, the course contains five one-week projects in different areas (astronomy, biophysics, elementary particle physics, medical radiation physics and physical/theoretical chemistry).

Introductory meeting: April 1, Cassiopeia (Astronomy)

Teachers: Melvyn B. Davies, Anders Irbäck, Michael Ljungberg, Leif Lönnblad, Ulf Ryde

Course coordinator: __ __

Course schedule: here

Course registration form: __here__.

**
Distributed computing concepts and tools** (study period II, 4.5 ECTS)

The course gives introduction into concepts of geographically distributed computing, such as that implemented by research e-infrastructures dealing with large data volumes and high processing rates. The course is a combination of lectures and hands-on tutorials, addressing aspects of security, authentication and authorisation, interfaces to computing services, principles of distributed storage and data handling, resource characterisation and discovery, information representation and monitoring, workload management and scheduling in a distributed environment. It introduces concepts of services, interfaces, resource virtualisation, meta-protocols, non-interactive workloads, digital certificates and trust, Virtual Organisations, information systems and execution environments. Existing tools and services are introduced as well. The students will obtain personal certificates and a temporary access to a distributed computing infrastructure for exercises. Assessment is done on the basis of the course project, during which the students are expected to make use of distributed computing to solve their daily tasks.

Teachers: Oxana Smirnova, Balazs Konya, Florido Paganelli

Course responsible: Oxana Smirnova

For more details see the course webpage. To register please fill in the registration form and return to Ross Church by email or internal mail to Astronomi, HS25.

**Reproducible and Interactive Data Analysis and Modelling using Jupyter Notebooks** (study period II, 4 ECTS)

The aim of this course is to introduce students to the Jupyter Notebook which is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, machine learning and much more. Through the notebooks, research results and the underlying analysis can be transparently reproduced as well as shared.

During three days with alternating video lectures and hands-on exercises, the participants will learn to construct well-documented, electronic notebooks that perform advanced data analysis and produce publication ready plots. While the course is based on Python, this is not a prerequisite, and many other programming languages can be used.

For more details see the __course website__.

Dates: December 3-5, 2018 and January 14-15, 2019

Course teachers:
__,
____,
____
__

**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.

Preliminary Schedule and content:

- 13/9 Introduction to the course + Deep Learning.
- 14/9 Introduction to machine learning
- 20/9 The Jupyter notebook and Keras
- 27/9 The MLP, part 1
- 28/9 The MLP, part 2
- 3/10 CNN, part 1
- 4/10 CNN, part 2
- 5/10 Autoencoder and GAN
- 11/10 Recurrent networks
- 12/10 LSTMs
- 18/10 Presentations of project work
- 19/10 Presentations of project work

All lectures take place between 13:15 - 15:00 in seminar room HUB, theoretical physics.

The literature will consist of parts from the __deep learning book__ and lecture notes.

Course responsible: Mattias Ohlsson

Teachers: Mattias Ohlsson + additional teachers and guest lecturers

**Modelling and computer simulation of particles and nuclides passage through
matter and magnetic field, with Geant4 as example** (3-7 September 2018, 3 ECTS)

Geant4 is a toolkit for simulating the passage of particles through matter. It
is the reference simulation engine in many areas. Geant4 covers all relevant
physics processes, electromagnetic, hadronic, decay, optical, for long and
short lived particles, for energy range spanning from tens of eV to TeV scale.
The transport of low energy neutrons down to thermal energies is also be
handled. The software can also simulate remnants of hadronic interactions,
including atomic de-excitation and provides extension to low energies down to
the DNA scale for biological modelling.

The course concerns the following topics: Introduction to simulation of
elementary particles and nuclides passing through and interacting with matter;
structure of a simulation program based on object-orientation; definition of
realistic geometry including magnetic field; primary particles and interfaces
to generators; electromagnetic and strong interaction physics processes; user
interfaces; visualization; event biasing; simulation examples from subatomic
physics, space science and medical applications.

More information can be found in the __information sheet__.
To register please fill in the registration form on the __course website__
**and** the __COMPUTE course registration form__.

Course responsible: Luis Sarmiento

Teachers: Makoto Asai (Stanford), to be confirmed: Alberto Ribon (CERN), Marc Verderi (IN2P3/LLR), Vladimir Ivanchenko (CERN)

**
Virtual reality in Computational Research** (study period II, 7.5 ECTS)

The aim of this course is to introduce students in computational research to Virtual Reality (VR). This is a rapidly evolving, cross-disciplinary and exploratory technology, and this course will showcase its use in a variety of settings. The course consists of a series of lectures, demonstrations, and programming sessions. These will include the basic principles of VR, visit to the VR labs at LTH and Humlab at Lund university, introductory tutorials on the development platform Unity, working with Unity and utilising in-house templates, lectures and demos of VR research done at Humlab and eye-tracking research in VR. In addition to these sessions, the students will, starting in the first couple of weeks, working on their own Virtual Reality model in Unity, based their own research data. In the final week of the course, the students will present and discuss their model, and assessment is done on the basis of this project.

Course responsible: __ __

Teachers: Mattias Wallergård, Joakim Eriksson, Henrik Garde, Stefan Lindgren, Diederick C. Niehorster, Marcus Nyström

**Reproducible and Interactive Data Analysis and Modelling using Jupyter Notebooks** (study period II, 4 ECTS)

The aim of this course is to introduce students to the Jupyter Notebook which is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, machine learning and much more. Through the notebooks, research results and the underlying analysis can be transparently reproduced as well as shared.

During three days with alternating lectures and hands-on exercises, the participants will learn to construct well-documented, electronic notebooks that perform advanced data analysis and produce publication ready plots. While the course is based on Python, this is not a prerequisite, and many other programming languages can be used.

For more details see the __course website__.

Course teachers:
__,
____,
____
__

**Domain Decomposition Methods** (study period I, 7.5 ECTS)

Domain Decomposition is an important concept in the parallelization of numerical methods for partial differential equations (PDEs). Thereby, the spatial domain is decomposed into several parts, which are assigned to different processes, which then communicate over the boundaries of these domains. Naturally the question arises what happens if we modify the data or reduce the amount of communication. For large classes of PDEs, practical answers can be found by mathematical analysis, which turns out to be relevant to other multiphysics problems such as fluid structure interaction as well.

The course will cover the basic theory of domain decomposition methods for model problems like the Poisson and the Heat Equation with finite difference discretizations and then look at the practical issues of implementing these in a Message Passing Interface (MPI) framework.

Course responsible:
__ __,

**Efficient programming of modern HPC architectures** (study period I,
7.5 ECTS)

The course discusses programming techniques required to efficiently utilise high performance computing in a PhD-project in computational science and engineering. The course content includes developing modularised software in Fortran 95 and the scripting language Python. You will be taught how to conduct an object-oriented analysis of common problems in science and engineering. Parallel programming will be another focus point of the course. We will discuss shared memory and distributed memory programming. The course will introduce the application interfaces of OpenMP and MPI as well as the concepts behind these.

Teachers:
__ __,
__ __

The course will take place on Tuesdays (10.00-12.00 and 13.30-15.30) and Fridays (10.00-12.00). A detailed schedule will be available closer to the time. The introductory meeting is at 10.00 on Tuesday January 24 in the Cassiopeia room, Astronomy building.

Register for the course __here__.

The deadline for registration is December 19.

** Computational tools and recipes** (study period II, 7.5 ECTS)

The aim of this course is to equip the participating PhD students with the tools needed to solve advanced numerical problems efficiently in their research. Topics will be taken from the book, "Numerical Recipes" by Press et al., and include root finding, interpolation and extrapolation, integration, ODEs, minimization and maximization of functions, fitting procedures and modeling of data, and Fast Fourier transforms. The course will be a mixture of lectures and hands-on exercise sessions given by experts from a number of departments.

The schedule for the course can be found __here__.

Register for the course __here__.

Teachers: Philipp Birken, Ross Church, Per-Åke Malmqvist, Valera Veryazov, & Chao-Chin Yang

Course coordinator: __ __

** Interdisciplinary studies
in computational research** (study period I-II, 2-4 ECTS)

__Course description and
schedule__.

Course responsible: __ __
and __ __

** Interdisciplinary studies
in computational research** (study period I-II, 2-4 ECTS)

__Course description and
schedule__.

Course responsible: __ __
and __ __

This course provides an introduction to the programming language R. The first part of the course, giving 1.5 ECTS credits, will take place in week 3 of 2016 (18-22 January). It will be taught by

An optional second part of the course offers individual consultation on using R in specific research problems, potentially for additional credit.

The course consists of the following modules:

- Astrostatistics: Past, Present & Future
- Getting started with R and CRAN
- Density estimation & local regression
- Fundamentals of statistical inference
- Regression
- Multivariate clustering & classification
- Bayesian inference
- Bayesian computation
- High performance computing in R
- Towards good statistical practices in astronomy

Domain Decomposition is an important concept in the parallelization of numerical methods for partial differential equations (PDEs). Thereby, the spatial domain is decomposed into several parts, which are assigned to different processes, which then communicate over the boundaries of these domains. Naturally the question arises what happens if we modify the data or reduce the amount of communication. For large classes of PDEs, practical answers can be found by mathematical analysis, which turns out to be relevant to other multiphysics problems such as fluid structure interaction as well.

The course will cover the basic theory of domain decomposition methods for model problems like the Poisson and the Heat Equation with finite difference discretizations and then look at the practical issues of implementing these in a Message Passing Interface (MPI) framework.

Course responsible: __ __

The course gives a basic introduction to techniques for simulating complex systems and processes, typically with many coupled degrees of freedom. The main aim of the course is to introduce the students to applications of these techniques. To this end, the course contains five one-week projects in different areas (astronomy, biophysics, elementary particle physics, medical radiation physics and physical/theoretical chemistry).

Teachers: Melvyn B. Davies, Anders Irbäck, Per Linse, Michael Ljungberg and Leif Lönnblad/Torbjörn Sjöstrand

Course coordinator: __ __

**Modelling and computer simulation of particles and nuclides passage through
matter and magnetic field, with Geant4 as example** (7-11 April 2014, 3 ECTS)

Geant4 is a toolkit for simulating the passage of particles through matter. It
is the reference simulation engine in many areas. Geant4 covers all relevant
physics processes, electromagnetic, hadronic, decay, optical, for long and
short lived particles, for energy range spanning from tens of eV to TeV scale.
The transport of low energy neutrons down to thermal energies is also be
handled. The software can also simulate remnants of hadronic interactions,
including atomic de-excitation and provides extension to low energies down to
the DNA scale for biological modelling.

The course concerns the following topics: Introduction to simulation of
elementary particles and nuclides passing through and interacting with matter;
structure of a simulation program based on object-orientation; definition of
realistic geometry including magnetic field; primary particles and interfaces
to generators; electromagnetic and strong interaction physics processes; user
interfaces; visualization; event biasing; simulation examples from subatomic
physics, space science and medical applications.

More information can be found in the __information sheet__ and __here__.

Course responsible: Torsten Åkesson

Teachers: Alberto Ribon (CERN), Sebastien Incerti (Bordeaux), Makoto Asai
(Stanford), Marc Verderi (École Polytechnique)

**Grid computing concepts and tools** (study period II, 4.5 ECTS)

The course gives introduction into concepts of Grid computing, discussing
aspects of authentication and authorisation, interfaces to computing services,
distributed storage and data handling, resource characterization and discovery,
information representation and monitoring, workload management and scheduling
in a distributed environment. It will introduce concepts of Grid certificates
and trust, Virtual Organisations, Grid jobs, meta-protocols, information
systems, brokering and runtime environments. Existing tools and services will
be introduced. The students will obtain Grid certificates and a temporary
access to a Grid testbed for exercises. The course will be a combination of
lectures and hands-on tutorials.

Teachers: Oxana Smirnova, Balazs Konya

**Efficient programming of modern HPC architectures** (study period I,
7.5 ECTS)

The course discusses programming techniques required to efficiently utilise
high performance computing in a PhD-project in computational science and
engineering. The course content includes developing modularised software in
Fortran 95 and the scripting language Python. You will be taught how to conduct
an object-oriented analysis of common problems in science and engineering.
Parallel programming will be another focus point of the course. We will
discuss shared memory and distributed memory programming. The course will
introduce the application interfaces of OpenMP and MPI as well as the concepts
behind these.

Teachers: Joachim Hein, Jonas Lindemann

**Image analysis** (study period II, 7.5 ECTS)

The main aim of the course is to give a basic introduction to theory and
mathematical methods used in image analysis, to an extent that will allow
image processing problems to be developed and evaluated. In addition the aim
is to help the PhD student develop his or her ability in problem solving, both
with and without a computer. Furthermore, the aim is to prepare the student
for further studies in computer vision, multispectral image analysis, machine
learning and statistical image analysis.

It is assumed that the students following the course selects a project before the course starts.

The course is divided into logical modules:

- Module 1 - Introduction to images and to image analysis systems. Linear algebra for images. The convolution operator and the Fourier transform and their relation to each other. Detection. Understanding of filter types (low-pass, high-pass, band-pass and band-reject), definition of image quality and strategies for image optimization.
- Module 2 - Discretization of continuous signals, and associated errors. Image interpolation. The discrete Fourier transform. Multimodality image registration, Applications
- Module 3 - Image segmentation and voxel classification in general. Thresholding. Segmentation using energy methods, Segmentation using snakes. Level set methods. Tracking. Applications.
- Module 4 - Visualization and screen representation, color coding, alpha channel, contrast, transparency, histogram equalization, Applications.
- Module 5 - Image reconstruction of 3D volumes from 2D projections. Analytical methods, Iterative Methods. Noise models. Applications.
- Module 6 - Image system development and evaluation. Monte Carlo simulations of imaging systems, Observer studies. Applications.
- Module 7 - Machine learning for image classification and clustering. Methods includes neural networks, support vector machines, random forests and self-organizing feature maps. Applications

During the course, homework assignments are made on data specific to the students' individual projects with methods taught in the different modules. The course ends with project presentations.

Suggested reading: l Szeliski, R.: Computer Vision: Algorithms and Applications. Springer, 2010, ISBN: 9781848829343. It is possible to pass the course without owning the book, using material available through the course home page.

Teachers: Karl Åström, Katarina Sjögreen Gleisner, Michael Ljungberg, Mattias Ohlsson.

Course coordinator: __ __

** Computational tools and recipes** (study period I, 7.5 ECTS)

The aim of this course is to equip the participating PhD students with the
tools needed to solve advanced numerical problems efficiently in their
research. Topics will be taken from the book, "Numerical Recipes" by Press et
al., and include sorting, root finding, interpolation and extrapolation,
minimization and maximization of functions, fitting procedures and modeling of
data, and Fast Fourier transforms. The course will be a mixture of lectures
and hands-on exercise sessions given by experts from a number of departments.

Teachers: Ross Church, Eskil Hansen, David Hobbs, Per-Åke Malmqvist, Valera Veryazov

Course coordinator: __ __

** Monte Carlo and molecular dynamics tools ** (study period II)

The course will teach techniques for simulating complex systems and processes,
typically with many coupled degrees of freedom. A wide spectrum of problems
will be discussed, including examples from astronomy, biophysics, elementary
particle physics, medical radiation physics and physical/theoretical chemistry.

__Schedule__
(pdf-format).

Teachers: Melvyn B. Davies, Anders Irbäck, Michael Ljungberg, Torbjörn Sjöstrand, Erik Wernersson

Course coordinator: __ __

**Efficient programming of modern HPC architectures** (study period I,
7.5 ECTS)

The course discusses programming techniques required to efficiently utilise
high performance computing in a PhD-project in computational science and
engineering. The course content includes developing modularised software in
Fortran 95 and the scripting language Python. You will be taught how to conduct
an object-oriented analysis of common problems in science and engineering.
Parallel programming will be another focus point of the course. We will
discuss shared memory and distributed memory programming. The course will
introduce the application interfaces of OpenMP and MPI as well as the concepts
behind these.

Please visit the
__course
web-page__ for a schedule and further information.

Teachers: Joachim Hein, Jonas Lindemann

Course coordinator: __ __

Back to __upcoming courses__.

*
This page was last modified on 15 January 2020.
*