INtroduction à la PROgrammation Scientifique
Contenu
INtroduction à la PROgrammation Scientifique¶
par Marc BUFFAT, dpt Mécanique, Université Lyon 1
Ce cours regroupe des notebooks IPython, développé pour mes enseignements au département mécanique à l’université Lyon 1 depuis plus d’une dizaine d’années, et que j’utilise pour apprendre aux étudiants les bases de la programmation scientifique avec Python. De courtes vidéos sont incluses dans les notebooks, pour aider à une meilleur compréhension du cours, ainsi que de nombreux exemples applicatifs en particulier dans le domaine de la mécanique.
Les notebooks ipython permettent l’utilisation d’une plateforme web Jupyter notebook pour apprendre la programmation scientifique sous Python avec un simple navigateur sans avoir à installer de logiciel. Ils contiennent aussi de petites vidéos explicatives pour aider à mieux comprendre le cours.
Note
Vous trouverez aussi sur mon site professionnel https://perso.univ-lyon1.fr/marc.buffat/ des exemples de notebooks que j’utilise dans mes cours à l’université Lyon 1
Descriptif¶
Ce cours est une Initiation à la programmation scientifique pour la modélisation numérique en sciences. L’objectif est l’apprentissage d’une méthodologie de programmation scientifique, axé sur la pratique de la programmation sous Python. Il s’adresse à des étudiants scientifiques n’ayant pas ou peu de connaissances en programmation, niveau post-bac scientifique. A l’issue du cours l’étudiant aura acquis une méthodologie, ainsi que la capacité à écrire des programmes simples mais utiles pour simuler ou analyser des problèmes scientifiques.
Avertissement
Les exemples traitées utilisent des notions de mathématiques et de physique de niveau terminale scientifique et première année de licence. Vous trouverez dans les annexes les rappels de mathématique et de mécanique pour pouvoir comprendre les exemples.
Astuce
pour une introduction à la simulation numérique, vous pouvez regarder la vidéo de présentation ci-dessous
from IPython.display import YouTubeVideo
YouTubeVideo('x7rWe3yFEWE')
Contenu du cours¶
- 1. Introduction
- 2. Fonctionnement d’un ordinateur
- 3. Variable et éléments de base
- 4. Structures de contrôle
- 5. Fonctions et procédures
- 6. Programmation structurée
- 7. Les tableaux (vecteur, matrice)
- 8. Tracé avec matplotlib
- 9. Gestion de fichiers et E/S
- 10. Précision et validation
- 11. Algorithmes numériques
- 12. Efficacité / complexité
- 13. FIN de la leçon
- 14. Recherche d’erreurs
Objectifs
Ce cours comprends une dizaine de leçons utilisant des Notebooks Ipython et des petites videos. L’accès à un serveur Jupyter permet à l’étudiant sur son navigateur de tester les programmes Python en parallèle de la lecture et du visionnement vidéo du cours.
Astuce
pour comprendre le format du cours, vous pouvez regardez la petite vidéo d’introduction ci-dessous
from IPython.display import YouTubeVideo
YouTubeVideo('O795I64W0Ck')