Formation en neurosciences computationnelles

Neuromatrix – Nicolas Rougier

A course on computationnal neuroscience for non-specialists will start this year on the Neurocampus.

Given the increasing complexity of neural data and the generalized use of theoretical models in neuroscience, more and more neuroscientists rely on computationnal tools for modelling or data analysis. We would like to offer the possibility to those who feel that their maths/informatics background is a bit short to update their maths and to get familiar with basic techniques for data analysis/modelling.


The course will span over two years, with a first part this year focusing on the maths and programming pre-requisites, and a second part next year on data analysis (and possibly modelling to follow).


The course is open to everyone (student, post-docs, researchers…) but we’ll give priority to master and PhD students given the limited number of places. Just send us an email to subscribe if you’re interested.


This year, we’ll give the pre-requisite course for the first time (to be continued in the following years for those who cannot attend this year), with an orientation toward signal processing. The course will include a brief « hands-on » programming project (basic data analysis) during the week of July 1-5, preceded by 3 math courses on April 5-12 and 26 (Fridays, 9:30-11:30) in the room 30 of the ED building (see https://www.openstreetmap.org/#map=19/44.82505/-0.60734)

For all courses (maths and programming), we’ll provide some theoretical background, provide small exercices for participant to work on their own and then solve the exercices together and make sure everybody has acquiered the related concepts and techniques.

Courses will be taught in English.
This pre-requisite course is dedicated to students/scientist interested in our data analysis course (to be followed next year) who are not yet familiar with the theoretical math concepts presented below and/or are not familiar with basic scientific python programming. A short test at the beginning of the course will allow us to ascertain the current level of the group and to adapt our course accordingly.
For the week of July, you’ll need to bring your laptop and to have a functional Python installation (we’ll explain at the end of the math course how to do it).


April 5, 2019 (9:30-11:30): Linear Algebra

This course will introduce vectors and matrices, how to peform operations such as addition & multiplication on these objects and the correspondence with geometry and the resolution of a system of linear equations. Exercises will be given for the next lesson.

April 12, 2019 (9:30-11:30): Differential Equations

We’ll first correct exercises from the previous lesson then we’ll cover first-order differential equations (that can for example describe the evolution of a membrane potential). We’ll see how to analyze and solve such equation. Exercises will be given for the next lesson.

April 26, 2019 (9:30-11:30): Signal Processing

Correction of the exercises from previous lesson.
We’ll first correct exercises from the previous lesson then we’ll explain first what is the Fourier transform that is ubiquituous in signal processing, what is spectral analysis and how to compute correlation in order to reveal similarity between signals. Instruction on how to install Python on you machine will be given.

July 1, 2019

9:00-12:00: Installation and introduction

During this course, we’ll first check that everyone has a functional Python installation with special attention to the Jupyter notebook. We’ll start programming in Python and review basic types, control flow & functions.

14:00-17:00: Maths reminder + application with Python

During this course, we’ll give some maths reminder and in the meantime, we’ll explain how to apply them using Python and a dedicated scientific library.

July 2, 2019

9:00-12:00: Project startup

We’ll introduce the project that students will have to complete by the end of the week. We’ll present additional programming material that will be necessary to load and visualize the data as well as primitive data curation techniques.
14:00-17:00: Data exploration

Students will work in pair and will start exploratory data analysis. Tutors will be present the whole afternoon to give feedbacks and help if necessary. The next goal of the project will be introduced such that students can work on their own on Wednesday.

July 4, 2019

9:00-12:00: Data slicing & spectral analysis 1

We’ll briefly introduce the spectral analysis tools available in numpy, the scientific library of python. Students will work in pair and will apply various spectral analysis tools to the data to determine if and how the spectral content of the data can be used to classify various data categories.

14:00-17:00: Data slicing & spectral analysis 2

Students will work in pair and will continue the project, applying selected spectral analysis tools to the whole data set and extracting relevant indexes.

July 5, 2019

9:00-12:00: Data classification

Based on the analysis performed on July 4, the students will finalize the criteria to classify the data and develop visualization tools to recapitulate the classification analysis. The calissification tools will be applied to the complete data set to sort the data.

14:00-17:00: Polishing the project

The goal of this last session is to write a clear and heavily commented notebook (based on your code) that will be exported as a single PDF with text, code, figures and results. Social event (drink) will end the course.


Nicolas Rougier : () : team Mnemosyne, IMN
Arthur Leblois () : team Physiologie et physiopathologie des fonctions exécutives, IMN

Publication: 15/03/19
Mise à jour: 15/03/19