Home Partners Management Activities Seminars Courses

Previous COMPUTE courses

Spring 2020

Reproducible and Interactive Data Analysis and Modelling using Jupyter Notebooks (Week 11, 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: March 9, 10 & 11, 2020

Course teachers: , ,

Registration: please fill in this form and return it to Ross Church. Registration deadline is Wednesday February 5, 2020.


Introduction to Stochastic Numerics (Week 7, 3 ECTS)

Stochastic Differential Equations (SDEs) have become a quite 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. This course provides a basic inroduction to the concepts of SDEs and how to develop and analyse numerical methods for their simulation.

Assumed prior knowledge: Standard analysis and linear algebra, Numerical analysis of ordinary differential equations (including the corresponding programming skills), Basic probability theory.

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.

Application: If you would like to take the course please fill in this form and return it to Ross Church. Registration deadline is Tuesday January 28 2020.

Contact: Philipp Birken

Schedule: The course will run during Week 7 (10-14 February). Monday afternoon 2 h lecture, then 2 h exercises. Tuesday to Friday 2 h lecture and exercises mornings and afternoons.


Computational chemistry (study period 1, 7.5 ECTS)

Understanding and rationalizing chemical reactions, their mechanism, and the relation between molecular structure and function is key to today's science. It is a difficult task for experiments alone and computational methods are often used to complement experiment.

This course covers basic theory and practical application of computational methods and programs widely used in chemistry and molecular physics. An additional learning outcome is how to employ the programs in connection with local high-performance (HPC) computing facilities. The course's main focus is on the practical aspects and the methods are introduced through computational exercises, starting with gas-phase reaction for simple molecules. Gradually, we will move to larger systems, calculating thermochemical properties for organic reactions, amino acids solvated in water, as well as optical and magnetic spectroscopy for organic and inorganic molecules (including bio-inorganic systems). Moving the yet larger systems, we will investigate folding of small polypeptides, as well as DNA stability.

Course responsible: Erik Hedegård
Other teachers: Ulf Ryde, Petter Persson

Application: If you would like to take the course please fill in this form and return it to Ross Church. Registration deadline is Friday January 17.

Schedule: Two classes per week, Wednesday and Thursday (1 h Lecture and 3 h exercise classes). The course runs 5 weeks from week 9 (February 19) to week 13.

Dates: Introductory meeting: February 19, 2020. Classes: Week 9: 26/02 & 27/02; Week 10: 04/03 & 05/03; Week 11: 11/03 & 12/03; Week 12: 18/03 & 19/03; Week 13: 25/03 & 26/03


Parallel programming of HPC systems (Study period 1, 7.5 ECTS)

The course discusses programming techniques required to efficiently utilise parallel computing in a computational research project in science or engineering. The course will discuss shared memory and distributed memory parallelisation in a C, C++ and Fortran context. Widely utilised parts of the application interfaces of OpenMP and MPI will be introduced during the course. The course will discuss commonly encountered issues in parallel programming, such as data-races and dead-lock and show techniques required to avoid these issues.

Common programming tools will be introduced and demonstrated. This includes parallel debuggers to analyse issues concerning code correctness as well parallel profilers which are extremely helpful, when it comes to understanding performance problems in parallel and serial applications.

Teacher: Joachim Hein

Prerequisites: Participants should be able to write simple programs in one or more of C, C++ or Fortran.

Application: If you would like to take the course please fill in this form and return it to Ross Church.

Schedule: The course will take place on Tuesdays (10.00–12.00) and Thursdays (10.00–12.00). There will be tutorials on Tuesdays (13:30–15:00). A detailed schedule will be available closer to the time. The introductory meeting is at 10.00 on Tuesday January 21 in the Cassiopeia room, Astronomy building.


Autumn 2019

Image Analysis (Study period 2, 7.5 ECTS)

Study plan: Click here.

The aim of the course is to give necessary knowledge of digital image analysis for further research within the area and to be able to use digital image analysis within other research areas such as computer graphics, image coding, video coding and industrial image processing problems. The aim is also to prepare the student for further studies in e.g. computer vision, multispectral image analysis and statistical image analysis.

The course is similar to FMAN20.

Participants are assumed to have an interest in Image Analysis for their respective PhD research project. Participants should preferably bring one image analysis problem and data to the class to work on during the course and present progress on this in a presentation on January 15.

Schedule: Almost full days (9-15) of lectures on November 6, November 20 and December 4. Work on your own image analysis problem in between and after. Present your project work on January 15 at 13:15.

Course co-ordinator: Kalle Åström


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 computational mathematics. 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: October 30, 2019, 13.15, Lundmarksalen, astronomy building

Course co-ordinator: Claus Führer

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


Spring 2019

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.

Autumn 2018

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:

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)

Spring 2018

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


Autumn 2017

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: ,


Spring 2017

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:


Autumn 2016

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

Course description and schedule.

Course responsible: and

Spring 2016

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

Course description and schedule.

Course responsible: and

Autumn 2015

Introduction to R (study period II, 1.5 ECTS)
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 Eric Feigelson, professor at Penn State and author of the book "Modern Statistical Methods for Astronomy with R Applications". The course is intended for PhD students from any area of physics, although some specific examples will be taken from astronomy research.

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:

No prior knowledge of R is required to take the course.

Spring 2015

Domain decomposition methods (study period II, 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:

Autumn 2014

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

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

Course coordinator:

Spring 2014

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

Autumn 2013

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:

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:

Spring 2013

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:

Autumn 2012

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 10 August 2020.