Python & Scientific Computing

Le langage Python avec ses extensions (librairies) à usage scientifique est une véritable révolution qui permet d’abandonner des outils propriétaires et coûteux au profit d’outils libres et Open Source développés et utilisés par une énorme communauté.
Python s’est imposé dans de très nombreux domaines différents : Modélisation, Traitement de Signal, Intelligence Artificielle, Ingénierie Logicielle mais aussi maintenant dans les métiers de la Conception Numérique (Migen, LiteX) et de la Vérification (CocoTB) !

L’idéal pour maîtriser rapidement la puissance de Python est de participer à la Formation Essential Python. Le programme détaillé est disponible en téléchargement ci-dessous.

Présentation

Nombreux sont nos clients (dans la Recherche puis dans l’Industrie) qui ont déjà franchi le pas et délaissé des outils propriétaires et coûteux au profit de Python et de ses librairies d’extension.
On voit Python aujourd’hui s’imposer dans la plupart des domaines scientifique, dont le traitement de signal et l’Intelligence Artificielle, mais on voit d’autres champs d’application sur lesquels Python apporte un complément de méthodologie. Sa progression dans le monde de l’électronique est rapide.

Essential Python est donc un cours complet de quatre jours qui enseigne toutes les bases indispensables pour bien maîtriser le langage Python ainsi que les extensions « scientifiques » (NumPy, SciPy, MatPlotLib…) qui permettent de transiter vers Python depuis d’autres outils propriétaires (comme MATLAB ®), ou pour se lancer dans l’Intelligence Artificielle.

Cette formation n’exige absolument pas que vous soyez un électronicien !
En effet, Python est un langage de programmation (OOP : orienté objet) moderne, très puissant et élégant, gratuit, multi-plateformes (Windows / Linux / Mac), désormais enseigné en priorité et très largement utilisé dans de nombreux domaines.
Une partie de son succès s’explique par ses très nombreuses extensions de toutes natures, et en particulier dans le domaine scientifique.

Une connaissance générale du langage ouvre son utilisation à de nombreuses applications, dont le scripting et le pilotage d’applications tierces (qui reste encore fortement l’apanage du Tcl/Tk), ou encore le test logiciel. Mais ce ne sont aujourd’hui que des utilisations très marginales.

Pourquoi Python ?

Python est :

  • Totalement gratuit.
  • Un langage objet puissant, moderne et élégant, mais léger à coder (interprété)
  • Disponible sous toutes les plateformes (Windows, Linux, et Mac)
  • Bénéficie d’un nombre incroyable d’extensions de toutes natures et particulièrement dans le domaine scientifique.
  • Le fruit aujourd’hui d’une énorme communauté, très active et productive.
  • Raisonnablement facile à apprendre (grâce à notre formation) si vous connaissez déjà d’autres langages.
  • Permet de remplacer des outils propriétaires (MATLAB, Scilab, Octave…) pour les études de Traitement Numérique de Signal (DSP).
  • Est utilisé dans des nouveaux outils de Conception Système et de Vérification.
  • L’objet d’un succès universel, Python est désormais enseigné en priorité dans les universités comme premier langage.

Pour l’Électronique… Tcl/Tk ? Python ?

Le monde de l’électronique (dont la conception logique programmable et ASIC) continue à faire un usage quasi-universel du Tcl/Tk (ModelSim, QuestaSim, Synopsys Design & FPGA Compiler, langage SDC & XDC, Synplify, Cadence, Lattice, Microsemi/Microchip, Intel Quartus, Xilinx Vivado, etc…) pour toutes les tâches de scripting et de pilotage des outils. Le Tcl est donc pratiquement incontournable.
Nous maintenons évidemment notre excellente formation Tcl/Tk !

Par contre, Python est plutôt un langage de haut niveau qui peut être utilisé éventuellement pour du scripting, mais il permet surtout de modéliser, de définir, d’analyser et de vérifier des systèmes numériques complexes. Python est notamment utilisé dans certains outils opensource comme outil de génération de code HDL (MyGen, LiteX etc).

Il n’y a donc pas de concurrence entre Tcl/Tk et Python : les deux ont leur place dans notre industrie, pour des usages très différents et complémentaires.

La bonne idée ? Maîtriser Tcl/Tk et Python !

À qui est destinée cette formation ?

  • À toute personne souhaitant maîtriser pratiquement le langage Python et ses applications scientifiques.
  • Aux personnes ayant déjà une petite pratique expérimentale ou personnelle du langage et souhaitant la consolider afin de le maîtriser vraiment et de coder efficacement.
  • Aux Ingénieurs Numériciens qui souhaitent transiter depuis des outils propriétaires (MATLAB, Scilab, Octave) ou des Langages matériel de bas niveau vers Python et ses nombreux outils Open Source.

Connaissances requises

Aucune connaissance préalable du langage Python n’est demandée.
Par contre, une expérience préalable avec au moins un langage de programmation (C, C++, Java, Tcl/Tk, VHDL, Verilog, SystemVerilog etc…) est très fortement recommandée.

Qu’apprendrez-vous ?

  • Les principes du langage Python (syntaxe, sémantique).
  • Les particularités de Python
  • Python Orienté Objets (les classes, héritage…)
  • Les Environnements de Développement (IDE)
  • La Librairies Standard et ses modules les plus utilisés
  • Les Expressions Régulières
  • Python comme outil de test pour l’embarqué
  • Les Librairies scientifiques : NumPy, SciPy, MatPlotLib …
  • Les environnements et distributions dédiés à l’usage scientifique
  • IPython et Jupyter

Supports de cours

Les manuels Doulos sont réputés pour être les plus détaillés et les plus faciles d’utilisation. Leur style, leur contenu et leur exhaustivité sont uniques dans le monde de la formation. Ils sont souvent utilisés ensuite comme ouvrages de référence.

Sont compris dans la formation :

  • Le Manuel de cours, indexé, constitue un Manuel de Référence.
  • Le Cahier des Exercices est rempli d’exemples et d’applications pratiques qui mettent en œuvre les concepts acquis. Outre leur rôle pédagogique, ils constituent une base précieuse pour développer de nouvelles applications !
  • Les fichiers des exercices (avec solutions).

Documents à télécharger

Revenir en haut