Marc BUFFAT

Professeur au département de Mécanique, Lyon 1 e-mail contact

Blog scientifique et pédagogique utilisant des notebooks IPython et Linux

INtroduction à la PROgrammation Scientifique


Cours INPROS

Ce cours utilise des outils web 2.0 interactifs (Jupyter Notebook) permettant d’apprendre la programmation scientifique sous Python avec un simple navigateur sans avoir à installer de logiciel. Pour les étudiants de l’université Lyon 1, vous avez accès à un serveur Jupyter Hub pour tester vos notebooks IPython. Les notebooks du cours ont été regroupés dans un livre jupyter-book INPROS ici

Vous trouverez ci dessous:

descriptif:

L’object est l’initiation à la programmation scientifique pour la modélisation numérique en sciences. Pour cela vous apprendrez 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 .

Notebooks du cours

Video de présentation:

Videos du cours

Chap 1: Introduction à la programmation scientifique

  • Introduction:
  • Introduction au calcul scientifique
  • Introduction à la programmation scientifique
  • Introduction au langage Python

Chap 2: Fonctionnement d’un ordinateur

  • Introduction:
  • architecture matérielle
  • binaire et flottant
  • performance
  • langages de programmation

Chap 3: Variables et élèments de base en Python

  • Introduction
  • types de base en Python
  • variables
  • fonctions mathématiques et liste

Chap 4: Boucles et structures de contrôle

  • Introduction
  • expression logique et test
  • boucle itérative pour
  • boucle itérative tantque
  • exemples et exercices d’application

Chap 5: Fonctions et procédures

  • Introduction
  • procédure et fonction
  • arguments d’une fonction
  • exemple de procédure et fonction
  • paramètres optionnels
  • notion de classes et méthodes
  • Programmation structurée sur un exemple “Lunar Lander”
  • Exercice “Lancer de balle”

Chap 6: Tableaux avec Numpy

  • Introduction
  • Tableaux 1D
  • Manipulation des tableaux 1D
  • Exemple d’utilisation de tableaux
  • Tableaux 2D
  • Manipulation des Tableaux 2D
  • Notation matricielle avec Numpy

Chap 7: Tracé de courbes et gestion de fichiers

  • Introduction
  • Tracé de courbe
  • Tracé en 3D et animation
  • Gestion des fichiers et des entrées/sorties