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:

attention

Les vidéos utilisent un ancien interpréteur python 2.7, pour lequel print est un mot clé, soit print 'bonjour'.

Avec Python 3, print est une fonction et il faut donc utiliser des parenthèses, soit print('bonjour')

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