Formation Python Scientifique
Le langage Python s’est considérablement diffusé au sein de nombreuses entités ces dernières années, qu’elles soient publiques ou privées. Cette diffusion est due en premier lieu à son utilisation libre et gratuite, mais aussi du fait de la grande versatilité de ce langage de programmation qui peut servir dans de nombreux domaines différents. Dans cette formation nous nous concentrerons sur les apports que le langage Python peut avoir sur le calcul scientifique. Outre son aspect gratuit par rapport à son principal concurrent Matlab, le langage Python scientifique bénéficie aussi d’une communauté active, qui développe rapidement et avec grande qualité dans des librairies de code proprement maintenues les dernières mises à jour méthodologiques sur un grand nombre de sujets scientifiques. Ainsi la première journée est dédiée à introduire le langage et son écosystème, ainsi que les bases syntaxiques. La deuxième journée est découpée en une première partie détaillant le concept de module et package pour permettre de faire grossir les projets de développement, et une seconde partie qui introduit les packages principaux pour faire du développement scientifique. Enfin la troisième journée a pour objectif de mettre en pratique les notions acquises en s’assurant d’adopter de bonnes pratiques pour obtenir un code réutilisable par l’ensemble des collaborateurs. En intra-entreprise, cette formation peut être adaptée pour répondre à des besoins plus spécifiques, que ce soit l’approfondissement des notions de bases ici traitées rapidement, ou pour plonger plus précisément dans certaines librairies particulières de Python (Scipy, scikit-learn, Tensorflow...)
Objectifs pédagogiques
- Connaître l’écosystème Python et le mettre en place
- Les bases de la programmation en Python
- Les modules scientifiques de Python
- Les bonnes pratiques pour un code réutilisable
Pré-requis
- Bases de programmation (boucles, conditions, fonctions, ...)
- Connaissances mathématiques basiques en algèbre linéaire et traitement du signal
- Expérience du développement informatique scientifique et de ses enjeux
Public
- Développeurs
- Chefs de projets
Programme
Jour 1
Introduction
- Histoire du langage Python
- Ecosystème de Python
- Mise en place pour développer en Python scientifique (nécessite les droits administrateurs)
Bases de Python
- Les principaux opérateurs
- Les conditions
- Les fonctions
- Les concepts avancés
Jour 2
Du script au package
- Les modules Python
- Différence module / package
- Créer son premier package
Ecosystème de Python scientifique
- Principales librairies et leur utilité
- Bonnes pratiques pour évaluer la maturité d’une librairie
- Mise en pratique sur Spyder
Jour 3
Résolution d’un problème pratique en équipe avec utilisation de Jupyter Lab
- Introduction à JupyterLab
- Définition du problème technique à traiter
- Bonnes pratiques de recherche dans la documentation
- Génération de la solution sous forme de Jupyter Notebook
- Test de la solution proposée par un autre membre de l’équipe
Documenter son code
- Bonne pratiques de documentation et conventions
- Ecrire du code en markdown
- Présentation du package Sphinx
Méthodes mobilisées
- Un formateur validé par nos équipes techniques et pédagogiques sera présent pendant toute la durée de la formation
- Pour les formations en présentiel, une salle de formation sera mise à disposition et équipée d'ordinateurs portables, d'un accès Wi-Fi, d'un projecteur et d'un tableau blanc. En distanciel la session sera suivie sur Zoom ou autre outil de visioconférence sur demande (Teams, Webex, Google Meet...).
- Un support de cours en version numérique sera remis à chaque participant
Modalités d’évaluation
- Questions orales ou écrites (QCM)
- Exercices pratiques
- Auto-positionnement en amont et aval de la formation