2019-2020 / 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 deuxième quadrimestre

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 ; enseignement à distance)

Cours donné à raison de 3h/semaine, le 2ème quadrimestre.

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

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)

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

Adaptation des engagements pédagogiques suite à la pandémie de COVID-19 pour la session de mai-juin

Méthodes d'apprentissage mises en œuvre : enseignement à distance

Les "notebooks" utilisés dans le cadre du cours ont été enrichis pour faciliter l'apprentissage à distance. Occasionellement, quelques vidéos viennent compléter les aspects plus théoriques du cours. L'enseignant est disponible pour répondre aux questions via l'application de téléconférence lifesize durant toute la période originellement réservée pour le cours en présentiel. L'enseignement reste également disponible pour répondre aux questions en dehors de ces crénaux, via email ou téléconférence. Une version des notebooks incluant une solution des exercices est disponible après chaque cours sur le répertoire github du cours https://github.com/SPAT0002-1/Ongoing.

Matière de l'évaluation

L'évaluation portera sur tout le contenu vu durant les heures de cours.

Méthodes d'évaluation

L'évaluation se déroulera en 2 parties: Tout d'abord, a long exercice (sous forme de notebook) sera résolu par l'étudiant. L'étudiant recevra le notebook (jupyter) contenant la question qui devra être résolue par email, et il aura 2h pour la résoudre, et la renvoyer par email. Deuxièmement, un appel vidéo (l'étudiant ne doit pas avoir de caméra fonctionelle mais doit être en mesure de visualiser l'écran de l'enseignant) prendra place après la session écrite. L'étudiant, durant 30 minutes, expliquera la solution qu'il a envisagée et répondra aux questions de l'enseignant.

Contact

dsluse@uliege.be
Lifesize room: 707577

Adaptation des engagements pédagogiques suite à la pandémie de COVID-19 pour la session août-sept

Matière de l'évaluation

L'évaluation portera sur tout le contenu vu durant les heures de cours. Les sections non couvertes ont été indiquées explicitement dans les notebooks et dans le fichier d'index (index.ipynb).

Méthodes d'évaluation (et plateforme utilisée)

L'évaluation se déroulera en 2 parties: Tout d'abord, a long exercice (sous forme de notebook) sera résolu par l'étudiant. L'étudiant recevra le notebook (jupyter) contenant la question qui devra être résolue par email, et il aura 2h pour la résoudre, et la renvoyer par email. Deuxièmement, un appel vidéo (l'étudiant ne doit pas avoir de caméra fonctionelle mais doit être en mesure de visualiser l'écran de l'enseignant) prendra place après la session écrite. L'étudiant, durant 30 minutes, expliquera la solution qu'il a envisagée et répondra aux questions de l'enseignant.

Contact(s)

dsluse@uliege.be Telephone: 043669797 Lifesize room: 707577

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