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: , ,
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.
This material will be provided in lectures and exercise classes, which include implementing numerical methods and testing them.
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
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.
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.
Other courses for Spring term 2020 will be advertised here shortly. Please see the course roadmap for a list of the planned courses. If you have any questions please email Ross Church and/or Oscar Agertz.
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
Members of COMPUTE will be notified by e-mail when each COMPUTE course is open for registration. For further questions please contact the study directors:
List of previous courses here.
This page was last modified on 7 February 2020.