2018-2019 / SPAT0002-1

Programming techniques, numerical methods and machine learning


10h Th, 20h Pr

Number of credits

 Master in space sciences (120 ECTS)3 crédits 


Dominique Sluse

Language(s) of instruction

English language

Organisation and examination

Teaching in the second semester


Schedule online

Units courses prerequisite and corequisite

Prerequisite or corequisite units are presented within each program

Learning unit contents

This course constitutes a practical introduction to the python language as well as to numerical methods commonly used in astrophysics and space sciences. Moreover, it provides a practical overview of some development tools that are very useful to implement or integrate those methods, and that also may help scientists to achieve their common tasks.
The course is divided into two main parts:

  • The section "Programming" presents an overview of development tools (Shell, IDE, language types and usage, system versioning control of type git), and an introduction to Python language and its main scientific libraries (Numpy / Scipy / Matplotlib / Astropy).
  • The section "Numerical Methods" aims at introducing students with a large variety of numerical methods. Depending of the students interests and needs, several topics among the following will be studied: numerical methods of statistical classical or frequentist inference (i.e. Maximum Likelihood Estimation, confidence interval via Jackknife and bootstrapping, hypothesis test), Baysian statistical inference (MCMC for confidence interval estimation, model selection), general principles of neural network and machine learning (supervised, unsupervised). The presentation of those methods will take place together with actual problems and examples.

Learning outcomes of the learning unit

  • Understand the basic principles of a large variety of numerical methods currently used in space and astrophysical sciences.
  • Implementing a numerical solution and all the operations related to its execution and/or the exploitation of the results (input/output, visualization, etc).
  • Follow good practices in terms of project development and programing (lisibility, reproductibility, ...)

Prerequisite knowledge and skills

The student is expected to masterize basic programming concepts (such as loops, conditional loops, function, concept of object, ...) as covered by the lecture "Introduction à la programmation (INFO0201-1)". A basic knowledge of statistics (probability calculation, conditional probabilities, concept of Bayesian inference) as covered by a lecture such as "Statistique des données expérimentales de la physique STAT0064-3" is also mandatory.

Planned learning activities and teaching methods

The course materials include Jupyter notebooks (http://jupyter.org) that contain, in addition to the theory, examples and small intereactive exercises that provide the students with a direct experience of the methods and concepts presented during the lecture. The practical classes are dedicated to the study of more advanced problems with the help of Python libraries that implement several of the algorithms teached during the lecture.

Mode of delivery (face-to-face ; distance-learning)

The lecture will be of 3h/week during Q2.

Recommended or required readings

The lecture will be based on the following book as well as on various notebooks and existing online material:  

Other useful references will be provided to the students during the lectures.

Assessment methods and criteria

Evaluation will be based upon

  • A written (notebook) + oral exam;
  • and/or the realization and presentation of a research and programming project (individually or in small groups)

Work placement(s)

Organizational remarks


Dominique Sluse University of Liège Institut d'Astrophysique et de Géophysique (B5c build.) 17, allée du Six-Août B-4000 Liège Tél.: (+32) (4) 366 9797  (D. Sluse)
eMail: dsluse@uliege.be

Items online

Notebooks used for the Lecture SPAT-0002
Jupyter notebooks used during the lectures (archives 2017-2018 + Ongoing)

Complementary support: 'Statistics, Data Mining and Machine Learning in Astronomy', Ivezic, Connolly, VanderPlas, and Gray, 2012 (Princeton University Press) (http://www.astroml.org/)