Python pour les scientifiques et ingénieurs
INSCRIPTION | TARIFS | Prochain cours | SUJETS ABORDÉS
Ce cours est destiné aux scientifiques et ingénieurs intéressés par l'utilisation du langage Python pour le calcul scientifique et la programmation au quotidien. Le cours se focalise principalement sur le traitement de données (en particulier à l’aide de NumPy et SciPy), mais aborde également les interfaces graphiques et le développement d’outils de visualisation interactifs. Les journées alternent présentation de concepts, illustration sur des exemples tirés de projets réels, et pratique via des exercices choisis en fonction des centres d'intérêt du groupe.
Une expérience en programmation dans un autre langage (C/C++, VB, Fortran, Matlab) est requise. Une familiarité avec les concepts de programmation orientée objet n’est pas indispensable, mais peut être utile pour certains aspects du cours.
Ce cours de trois jours est suivi de deux modules d’une journée: Interface avec le C / C++ et Fortran and Introduction aux interfaces graphiques et à la visualisation. Ensemble, ces cinq jours de formation interactives vous donneront une base solide pour écrire des applications scientifiques de qualités, lisibles et performantes. Les instructeurs d’Enthought ont tous plusieurs années d'expérience dans la création de logiciels scientifiques, et le développement du Langage Python. Ils apportent de ce fait une dimension supplémentaire aux outils introduits pendant ces 5 jours.
Prochain cours
13-17 février 2012
08h30-17h00
Intensive Python Training Course
Paris, FR
- Python pour les scientifiques et ingénieurs
Lundi 13 février - Mercredi 15 février - Interface avec C / C + + et Fortran
Jeudi 16 février - Introduction aux interfaces utilisateurs et aux outils de visualisation
Vendredi 17 février
Sujets abordés
Python: Les bases
La première journée est consacrée à la compréhension du langage Python et la philosophie de programmation. Cette journée commence par une présentation de l'environnement interactif IPython et son utilisation pour le développement rapide d'applications prototypes. Le rythme de la journée est ajusté en fonction de l'expérience du groupe. De nombreux programmeurs expérimentés en Python ont témoigné avoir approfondi leur compréhension des concepts de base lors de cette journée.
- Types de données (chaînes de caractères, listes, dictionnaires, ...)
- Syntaxe et structure du langage
- Création et importation de modules
- Lecture et écriture de fichiers
- Vue d'ensemble de la bibliothèque standard
- Introduction à la programmation orientée objet
Jour 2
08h30-17h00
Calculs scientifiques avec la librairie NumPy
Le deuxième jour, la librairie NumPy est étudiée en détail. Elle permet la manipulation efficace de tableaux de données multi-dimensionnels.
- Opérations de base et manipulations sur des tableaux à N dimensions.
- Comprendre les structures de données à N dimensions avec NumPy.
- Vectorisation des opérations et boucles implicites sur les tableaux.
- Opérations sur des parties d’un tableau, et entre tableaux de dimensions différentes.
- Traitement de grands volumes de données
Jour 3
08h30-17h00
Calculs scientifique avec NumPy (suite) et introduction aux librairies de SciPy
- Travailler avec les ‘‘tableaux structurés’’
- Lecture et écriture de données
- Vue d'ensemble de SciPy et sélection choisie en fonction des besoins des participants: interpolation, fit, minimisation/ maximisation, distributions et analyse statistique, etc ...
Interface avec C / C + + et Fortran
Une des caractéristiques du Python est sa capacité à intégrer de façon transparente des modules ou librairies écrites en C, en C++ ou en Fortran. Durant cette journée, vous apprendrez comment utiliser une variété d'outils pour intégrer de manière efficace des programmes ou librairies existants. Ces outils peuvent aussi être utilisés pour optimiser un programme Python lorsque la vectorisation (vue en durant la troisième journée) n’est pas possible ou insuffisante. Là encore, les sujets abordés peuvent d’adapter aux centres d'intérêt des participants et peuvent inclure:
- Vue d'ensemble des outils existants
- Interface avec des programmes Fortran à l'aide de f2py
- Interface avec des programmes C/C++ a l’aide de SWIG
- Intégrer des commandes C/C++ dans une application Python utilisant Weave
- Utiliser de bibliothèques dynamiques avec ctypes
- Accélérer Python avec des modules d'extension utilisant Cython
- Utiliser l’interface C de NumPy
- Gérer la mémoire et manipuler des objets C/C++
- Embarquer Python dans un programme C/C++
Introduction aux interfaces utilisateurs et aux outils de visualisation
Cette présentation condensée et introductive couvre les rudiments de Traits et Chaco, des outils libres développés par Enthought. Traits introduit de nouveaux type d’objets pour la création rapide d’applications interactives possédant une interface graphique. Chaco, quant à lui, permet de visualiser de large quantités de données de manière interactive. Les sujets abordés lors de cette journée comprennent:
- Programmation orientée objet et interface graphique
- Gestion des évènements (notification, validation, initialisation, délégation)
- Création et design d’interface graphique avec traitsUI
- Visualisation interactive avec Chaco:
- Graphe simples : courbes et nuages de points
- Image et données multi-dimensionnelles
- Graphes multiples
- Intégration dans une interface graphique Traits
- Gestion des interactions avec l’utilisateur
- Création d’outils personnalisés
Tarifs
| Tarif | Réduction | |
|---|---|---|
| Module 3 jours | €1500 | — |
| 2 modules 1 jour* | €1400 | — |
| Module 3 jours + 2 modules 1 jour |
€2500 | €400 |
* Un des modules de 3 jours avec Enthought (Python pour les scientifiques et ingénieurs ou Python pour les quants) est une condition préalable pour tous les modules de 1 jour.


