Autre durée
3 jours
Composante
Grenoble INP - Département Formation Pro
Présentation
Objectifs visés
- Connaitre la structure du langage Python dans sa version 3 ou ultérieure.
- Mettre en œuvre les bonnes pratiques de développement objet en vue de créer une application.
- Utiliser les principales librairies mathématiques vectorielles dont Numpy/Scipy pour effectuer des calculs optimisés en temps.
- Visualiser les résultats de calcul avec la librairie graphique Matplotlib et Plotly.
- Savoir manipuler des données avec le module Pandas.
Les + de la formation
- Les caractéristiques du langage Python et des librairies Numpy/Scipy et les notions de programmation objet sont abordées progressivement.
- Les notions importantes sont appliquées dans le cadre de petits exercices tirés de problèmes réels et dans des mini-projets dans le dernier tiers de la formation.
- Le nombre réduit des participants (deux intervenants sont prévus pour un groupe supérieur à 6 dans les parties pratiques) permet une réelle aide personnalisée dans l’apprentissage
Nos atouts pédagogiques
Cette formation s’appuie sur les moyens techniques de l’école Grenoble INP - Phelma, UGA, école nationale supérieure de Physique, Electronique et Matériaux.
Les intervenants sont enseignant-chercheurs de l’école Grenoble INP-Phelma, UGA, auprès des futurs ingénieurs des filières Ingénierie Physique pour la Photonique de la Microélectronique (IPHY) et Signal, Image, Communication, Multimédia (SICOM), ainsi que des doctorants en simulation numérique. Ils mettent ainsi à profit leur expérience de développement d’outils numériques en Python dans le cadre de leurs recherches en modélisation au sein de l’IMEP LHAC et de l’Institut Néel, ou encore du traitement de données au sein du laboratoire GIPSA-Lab.
Programme
Jour 1 - Le langage python et la programmation objet
1. Eléments du langage python
- Notion de variables dynamiques, initialisation, portée d’une variable, affectation, opérateurs
- Structures de contrôle : branchements, boucles, itérateurs et générateurs
- Fonctions et librairies classiques. Arguments d’une fonction. Passage de paramètres par nom
- Entrées / sorties sur fichiers ASCII. Formatage des sorties
2. La programmation objet avancée
- Intérêt, concept de classe, apport de l’approche objet
- Constructeur, destructeurs, méthodes magiques
- Attributs et méthodes, méthodes statiques, accesseurs et décorateurs
- Surcharge d’opérateurs
- Fonction sur les objets
- Gestion des exceptions
Jour 2 - Les Librairies avancées
- Construire un tableau Numpy
- Modifier le profil d’un tableau. Copie et référence
- Référencer les éléments d’un tableau. Notion de slicing
- Calcul numérique vectoriel. Opérations sur les matrices
- Application : résolution d’un système linéaire par la méthode du pivot. Gestion des exceptions
- Représenter des données avec Matplotlib et Plotly. Limitations
- Module et sous-modules de Scipy
- Stocker les données dans une matrice creuse. Quel format choisir ?
- Application : résolution de systèmes linéaires par la méthode du gradient conjugué
- Module Pandas : manipulation facile de données tabulées (DataFrames) à analyser
- Utilisation des fichiers HDF5 avec Pandas
Jour 3 - Développement de mini-projets
- Projet Graphe1D : représentation de données et ajustement d’une fonction polynomiale.
- Projet Convolution : application du sous-module ndimage de la libraire Scipy
- Projet Modes propres d’une corde : manipulation de listes et de matrices Numpy.
- Résolution numérique d’une équation différentielle d’ordre n.
Des extensions du programme sont possibles sur mesure à la demande, par exemple dans le domaine des interfaces graphiques (librairie PyQt) ou du machine learning (librairie Scikit-learn).
Admission
Conditions d'admission
Pour qui ?
Cette formation s'adresse à des techniciens, des ingénieurs ou des chercheurs ayant déjà des bases en programmation structurée, voulant développer des applications objets en langage python dans sa version 3 ou ultérieure.
Pré-requis : Connaitre l’algorithmique et maitriser un autre langage de programmation (niveau Bac+3 ou équivalent). Maitriser les bases de la programmation en Python.
Si vous n’avez encore jamais programmé en Python, merci de vous reporter au programme du stage « Python scientifique : bien débuter » qui est plus adapté et détaille les prérequis pour profiter pleinement de cette formation
Effectif : 4 à 12 personnes
Tarifs de la formation continue
2 100 €/personne