Duration
20h Th, 30h Pr
Number of credits
Master in space sciences (120 ECTS) | 5 crédits |
Lecturer
Valentin Christiaens, Maxime Fays, Guy Munhoven, Dominique Sluse
Coordinator
Language(s) of instruction
English language
Organisation and examination
Teaching in the first semester, review in January
Schedule
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 programming 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 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 Programming part presents an overview of development tools (Shell, IDE, language types and usage, system versioning control of type git), and an introduction to the Python language and its main scientific libraries (Numpy / Scipy / Matplotlib / Astropy).
- The Numerical Methods part aims at introducing students to 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), Bayesian statistical inference (MCMC for confidence interval estimation, model selection), the calculation of Fourier transforms, the sampling theorem and the filtering of data. 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 master basic programming concepts (such as loops, conditional loops, function, concept of object, ...) as covered, e.g., by the course "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, hybrid learning)
Face-to-face course
Additional information:
Face-to-face course
Additional information:
In case teaching activities would be restricted on campus, lectures will also be broadcasted online. Connection information will be provided in due time.
Recommended or required readings
The lecture will be based on the following book as well as on various notebooks and existing online material:
- Statistics, Data Mining and Machine Learning in Astronomy', Ivezic, Connolly, VanderPlas, and Gray, 2012 (Princeton University Press) (http://www.astroml.org/)
- 'Numerical recipes, Press et al. (Cambridge University press)(http://www2.units.it/ipl/students_area/imm2/files/Numerical_Recipes.pdf)
- 'All of statistics: a concise course in statistical inference', Wasserman 2004
- http://swcarpentry.github.io/git-novice/
Exam(s) in session
Any session
- In-person
written exam ( open-ended questions ) AND oral exam
- Remote
written exam ( open-ended questions ) AND oral exam
Additional information:
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)
> Face-to-face written and oral exam
> September/August session: face-to-face written (Notebook) + oral exam. If needed due to sanitary conditions, the students will be evaluated using Microsoft Teamns (or a similar tool).
Work placement(s)
This course does not require any internship.
Organisational remarks and main changes to the course
Lectures (including tutorials) will be given during the fall term, starting on 18th September 2023. They are generally scheduled on Mondays and Wednesdays, from 16:00 to 18:00 in the PC room 2.25 (B5a build.). Please check out Celcat for the exact schedule and for possible last minute changes.
Contacts
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
Phone: (+32) (4) 366 9797 (D. Sluse)
eMail: dsluse@uliege.be
Association of one or more MOOCs
There is no MOOC associated with this course.
Items online
Notebooks used for the Lecture SPAT-0002
Jupyter notebooks used during the lectures (Ongoing ; Archives prior to 2024 also available but the content is partly different from the current lecture - no machine learning in the current verion)
Complementary support: 'Statistics, Data Mining and Machine Learning in Astronomy', Ivezic, Connolly, VanderPlas, and Gray, 2012 (Princeton University Press) (http://www.astroml.org/)