The aim of this course is to learn the fundamentals of programming in python and to be able to import and integrate publicly available libraries in custom-made code. By the end of the course participants should be able to interact with a jupyter notebook, load, manipulate and visualize data. During the course we will treat a few examples of topics that can be of interest for a neuroscience audience. The specific topics to be treated will be selected depending on the interests of the audience. See contents for some examples.
Installing a python distribution and using the Jupyter Notebook
Basic programming in python: variables, lists, dictionaries and functions
Working with numerical data (numpy) and visualization (matplotlib)
A quick overview on the potential of dataframes (pandas)
Hands-on experience on (at least) one of the specific topics treated in the seminars
Neuroscience topics that could be covered (depending on audience interests):
Bayesian Modeling with Markov Chain MonteCarlo methods (numpy, matplotlib)
handling/visualization of fMRI data (nibabel, nilearn)
processing of images and videos (opencv)
working with high-dimensional datasets
clustering and multidimensional scaling (sklearn)
working in the frequency domain (fast fourier transform)
manipulating laboratory equipment
The participant is required to be present during the entire course (exceptions are possible if specifically requested). The course is Bring-Your-Own. All participants bring their own laptop and their own (possibly digital) book to the course (please let us know if you do not have a laptop and we will make arrangements). Ideally, Python is preinstalled (anaconda with python3), but we can help with installation at the beginning of the course.
The course consists of 5 full afternoons within one week (4 hours x 5 days = 20 hours).
• In the first hours there will be a lecture on a specific programming topic.
• In the second and third hours the students will work in small groups (2-3 people) on an assignment.
• In the last hour there will be a presentation on how to apply python to specific neuroscience problems.
REQUIRED BACKGROUND LEVEL
The course does not require knowledge about python, but it requires some programming experience or attitude to programming.