* Ces horaires sont donnés à titre indicatif.
Dans cet enseignement, plusieurs environnements ou langages seront étudiés : Matlab, R (dont Rcpp), Python.
Un tiers du temps environ sera accordé à chacun.
Matlab :
- Éléments de syntaxe. Manipulation vectorielle et matricielle.
- Test booléens. Programmation conditionnelle. Fonctions. Mise au point d'un programme.
- Programmation avancée.
- Calcul à précision finie. Stockage machine des nombres réels. Mise en évidence d'erreurs d'arrondi. Erreurs par compensation. Conditionnement et algorithme de résolution matricielle. Méthode du pivot de Gauss. Stratégie de cadrage et de recherche de pivot.
R : introduction à l’environnement Rstudio. Bases de R : structures (vecteurs, matrices, listes, data frame, facteur), extraction, conventions pour l’écriture d'une fonction. Bonnes conduites dans la programmation. Mesure d’un temps d’exécution et comparaison de performances. Optimisation des vitesses d’exécution via Rcpp (bibliothèque permettant d’intégrer C++).
Python : découverte du langage en quelques exemples bien choisis.
- éléments de syntaxe : boucles, conditions, fonctions et bibliothèques
- bibliothèques de calcul scientifique : numpy et matplotlib
- bibliothèque de traitement et analyse de données : pandas
Chaque étape d’apprentissage se fera sur des exemples en lien avec des problèmes de mathématiques et de statistique (intégration trapèze et Simpson, méthodes de Monte-Carlo...) ou sur des jeux de données réelles (données météorologiques, flux de populations…).