Paris saclay - Scientific programming


Benjamin Donnot and Laurent Cetinsoy


Today session :


This course aims at introducing the basis of scientific programming using the python language.

In this cours, you will learn to code simple algorithms (this is not and advanced algorithmic course) using some standard python libraries.

This course will introduce the python language and its basic syntax as well as its so called “standard library”.

Then some very used external libraries will be introduced, including but not limited to:

  • modules for scientific computing (numpy, scipy, pandas, etc.)
  • modules for representing and plotting data (matplotlib, seaborn, plotly etc.)

At the end of this course, the students will have acquired good coding practice emphasizing readability and code performance. They will also learn how to best leverage the documentation (both official and based on the active python community) of the function they use to debug their code (how to read the python stack trace as well as the documentation and how to use it when a code does not behave as expected).

As the course will be given with python and jupyter notebooks, students will also be able to present reports with these technologies. They will be able to write python code, read data from a computer and describe it.


Course happens every Friday morning 9 am - 12 am



session link :

Course instructors

Laurent Cetinsoy Laurent Cetinsoy


Every student need to have a working computer (Linux, MacOs, Windows) with which it can install python and python modules (admin access)


1. Python fundamentals I
variables, functions, conditional statements, loops, files
2. Python fundamentals II
standard library, using files
3. Introduction to Object oriented programming
classes, objects, methods, attributes, inheritance
4. How to solve problems and bugs
debugging heuristics, Debugging with pdb, read traceback, what informations are where
5. Scientific programming
vectorized operations with numpy (no for loop), vector and matrix manipulation, masks, linear algebra
6. Datavisualization
matplotlib, seaborn, plotly
7. Data analysis with pandas
dataframe and series manipulation, merge of dataframe, groupby, time series data


Frequently asked questions

Is the course online ?

Yes, the course will be made online. We ask you to join google meets for visioconference.

Everyone will have to join discord to share ressources and ask questions


How is the course graded ?

After each session, students will be ask to answer a few questions to make sure they understand (this will be part of their final grade for 60%).

The remaining 40% of grade is made of a project that student will have to do at the end of the course. This project will take the form of an analysis of a (provided or custom) dataset and demonstrate how to use the techniques taught during the course.


How do I join the course ?

You normally have received a slide with a discord link : you need to join the discord server, all session details are on it