Programmation scientifique

Présentation

This course provides elementary and advanced knowledge on scientific programming. Courses are mainly hands-on sessions in PYTHON aiming at teaching students how to design and implement efficiently some scientific algorithms designed for data analysis and numerical modelling.

Pré-requis nécessaires

elementary notions of scientific programming (variables, arrays, indexing, loops)

Objectifs

Equip students with the numerical skills to implement their own programs for numerical modelling and data analysis purposes:

  • programming skills in python, a widely used open-source programming language among the scientific community
  • techniques to  implement efficient algorithms designed for data analysis and scientific calculus
  • elementary knowledge to read files, and plot data

Compétences visées

  • Build an algorithm that carries out intense scientific calculation
  • Implement an algorithm in a programming language

Descriptif

Classes consist in computers hands-on sessions using Jupyter-Notebook. Students test some standard python commands, learn some elementary programming techniques, and implement their own codes. Homework can be given from one session to  another, but most of the expected work consists in cleaning and commenting the notebook written during the class, so that seen commands and techniques can be re-use efficiently in more complex programs at the following session. The final mark is composed of a final exam (50 % of the mark) and of one personal project (50%). The course contents is made of the following:

  • Introduction to python and numpy: variables, lists, arrays, indexing
  • Design and coding of an algorithm: for loops
  • First steps towards efficiency programming  : functions, vectorization, boolean indexing
  • Reading text, binary, and Netcdf files
  • Visualizing data