2021-2022 / SPAT0002-1

Programming techniques, numerical methods and machine learning

Durée

15h Th, 15h Pr

Nombre de crédits

 Master en sciences spatiales, à finalité3 crédits 

Enseignant

Dominique Sluse

Langue(s) de l'unité d'enseignement

Langue anglaise

Organisation et évaluation

Enseignement au premier quadrimestre, examen en janvier

Horaire

Horaire en ligne

Unités d'enseignement prérequises et corequises

Les unités prérequises ou corequises sont présentées au sein de chaque programme

Contenus de l'unité d'enseignement

  Ce cours propose une introduction pratique au language de programmation python ainsi qu'aux méthodes numériques couramment utilisées en astrophysique et en sciences spatiales. Il donne également un aperçu et une initiation à quelques outils de développement utiles à l'implémentation ou l'intégration de ces méthodes, et pouvant plus généralement aider le scientifique dans ses tâches au quotidien.
Le cours se divise en deux parties principales:


  • La partie « Programmation » présente une vue d'ensemble des outils du développeur (Shell, IDE, types de langages et leur usage, systèmes de contrôle de version de type Git), ainsi qu'une introduction au langage Python et à ses libraires scientifiques de base (Numpy / Scipy / Matplotlib / Astropy).
  • La partie « Méthodes Numériques » vise à introduire les étudiants à une gamme étendue de méthodes numériques. Suivant les intérêts et besoins des étudiants, plusieurs éléments parmi les thèmes suivants seront étudiés:  les méthodes numériques d'inférence statistique classique ou fréquentiste (Maximum Likelihood Estimation, estimation des intervalles de confiance via Jackknife et bootstrapping, test d'hypothèse), les méthodes d'inférence statistique bayésienne (MCMC appliquée à l'estimation d'intervalles de confiance, à la sélection de modèles), le principe général des méthodes de réseaux de neurones et de machine learning (supervisé, non-supervisé). La présentation de ces méthodes est accompagnée d'exemples et de problèmes concrets.

Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement

  • Comprendre les principes de base d'une large gamme de méthodes numériques couramment utilisées en sciences spatiales et en astrophysique.
  • Etre capable d'implémenter un traitement numérique ainsi que les opérations relatives à son exécution et/ou l'exploitation des résultats (entrée/sortie, visualisation, etc.).
  • Suivre les bonnes pratiques en matière de programmation et développement de projet (lisibilité, reproductibilité...).

Savoirs et compétences prérequis

Une maîtrise des concepts de base de la programmation (boucles, boucles conditionelles, fonction, notions d'objet, ...), par exemple abordés dans le cours "Introduction à la programmation (INFO0201-1)". Une connaissance de base en statistiques (calcul de probabilités, probabilités conditionelles, notions d'inférence bayesienne) telle qu'enseignée dans le cours "Statistique des données expérimentales de la physique STAT0064-3" est également indispensable.

Activités d'apprentissage prévues et méthodes d'enseignement

Le support du cours théorique est sous forme de notebooks Jupyter (http://jupyter.org) qui contiennent, en plus de la matière vue, des exemples et des petits exercices interactifs permettant aux étudiants une expérience directe des méthodes et notions présentées. Les travaux pratiques sont consacrés à l'étude de problèmes plus avancés dont la résolution se fera à l'aide de librairies Python dans lesquelles plusieurs algorithmes vus au cours sont implémentés.
 

Mode d'enseignement (présentiel, à distance, hybride)

Cours donné exclusivement en présentiel


Explications complémentaires:

Cours donné à raison de 2x2h/semaine, le 1er quadrimestre. En cas de limitation de l'enseignement en présentiel, le cours sera également transmis en ligne. Les consignes de connexion seront transmises en temps voulu.

Lectures recommandées ou obligatoires et notes de cours

Le cours s'appuiera principalement sur le livre suivant ainsi que sur divers notebooks et cours en ligne existants:  

D'autres références utiles seront fournies aux étudiants durant les cours.

Modalités d'évaluation et critères

Examen(s) en session

Toutes sessions confondues

- En présentiel

évaluation écrite ( questions ouvertes ) ET évaluation orale

- En distanciel

évaluation écrite ( questions ouvertes ) ET évaluation orale


Explications complémentaires:

L'évaluation sera fondée sur






  • Un examen ecrit (notebook) + oral;
  • et/ou la réalisation et la présentation d'un projet de recherche et de programmation (personnel ou par petits groupes)
 
> Examen écrit et oral en présentiel
> Session de Août / Septembre: Examen écrit (Notebook) et oral en présentiel. Si les mesures sanitaires l'imposent, l'examen sera dispensé en distanciel (Lifesize).

Stage(s)

Remarques organisationnelles

Contacts

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

Notes en ligne

Notebooks utilisés pour le cours SPAT-0002
Notebooks Jupyter utilisés durant le cours (archives 2018-2019 / 2019-2020 + en cours -Ongoing-)

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