All Projects → rougier → CNCC-2019

rougier / CNCC-2019

Licence: MIT license
Computational Neuroscience Crash Course (CNCC 2019)

Programming Languages

Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to CNCC-2019

Audio Spectrum Analyzer In Python
A series of Jupyter notebooks and python files which stream audio from a microphone using pyaudio, then processes it.
Stars: ✭ 273 (+950%)
Mutual labels:  signal-processing, scipy, matplotlib
Tftb
A Python module for time-frequency analysis
Stars: ✭ 185 (+611.54%)
Mutual labels:  signal-processing, scipy, matplotlib
BrainPy
Brain Dynamics Programming in Python
Stars: ✭ 242 (+830.77%)
Mutual labels:  computational-neuroscience, differential-equations
CNCC-2020
Computational Neuroscience Crash Course (University of Bordeaux, 2020)
Stars: ✭ 36 (+38.46%)
Mutual labels:  linear-algebra, computational-neuroscience
Fourier-and-Images
Fourier and Images
Stars: ✭ 81 (+211.54%)
Mutual labels:  signal-processing, scipy
Cheatsheets Ai
Essential Cheat Sheets for deep learning and machine learning researchers https://medium.com/@kailashahirwar/essential-cheat-sheets-for-machine-learning-and-deep-learning-researchers-efb6a8ebd2e5
Stars: ✭ 14,095 (+54111.54%)
Mutual labels:  scipy, matplotlib
The Elements Of Statistical Learning Notebooks
Jupyter notebooks for summarizing and reproducing the textbook "The Elements of Statistical Learning" 2/E by Hastie, Tibshirani, and Friedman
Stars: ✭ 241 (+826.92%)
Mutual labels:  scipy, matplotlib
susa
High Performance Computing (HPC) and Signal Processing Framework
Stars: ✭ 55 (+111.54%)
Mutual labels:  signal-processing, linear-algebra
Mlcourse.ai
Open Machine Learning Course
Stars: ✭ 7,963 (+30526.92%)
Mutual labels:  scipy, matplotlib
vor-python-decoder
Decodes VOR signal from WAV file to get the bearing to your position
Stars: ✭ 33 (+26.92%)
Mutual labels:  signal-processing, scipy
numerics
library of numerical methods using Armadillo
Stars: ✭ 17 (-34.62%)
Mutual labels:  linear-algebra, differential-equations
Data Analysis
主要是爬虫与数据分析项目总结,外加建模与机器学习,模型的评估。
Stars: ✭ 142 (+446.15%)
Mutual labels:  scipy, matplotlib
Ml Cheatsheet
A constantly updated python machine learning cheatsheet
Stars: ✭ 136 (+423.08%)
Mutual labels:  scipy, matplotlib
brian2cuda
A brian2 extension to simulate spiking neural networks on GPUs
Stars: ✭ 46 (+76.92%)
Mutual labels:  computational-neuroscience, differential-equations
Ncar Python Tutorial
Numerical & Scientific Computing with Python Tutorial
Stars: ✭ 50 (+92.31%)
Mutual labels:  scipy, matplotlib
Gosl
Linear algebra, eigenvalues, FFT, Bessel, elliptic, orthogonal polys, geometry, NURBS, numerical quadrature, 3D transfinite interpolation, random numbers, Mersenne twister, probability distributions, optimisation, differential equations.
Stars: ✭ 1,629 (+6165.38%)
Mutual labels:  linear-algebra, differential-equations
Data Science Ipython Notebooks
Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.
Stars: ✭ 22,048 (+84700%)
Mutual labels:  scipy, matplotlib
Notes Python
中文 Python 笔记
Stars: ✭ 6,127 (+23465.38%)
Mutual labels:  scipy, matplotlib
mdct
A fast MDCT implementation using SciPy and FFTs
Stars: ✭ 42 (+61.54%)
Mutual labels:  signal-processing, scipy
Madmom
Python audio and music signal processing library
Stars: ✭ 728 (+2700%)
Mutual labels:  signal-processing, scipy

Computational Neuroscience Crash Course (2019)

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 using the Python language. The Computational Neuroscience Crash Course (CNCC) will span over two years, with a first part (2019) focusing on the maths and programming pre-requisites, and a second part next year (2020) on data analysis (and possibly modelling to follow).

The course is free and open to everyone (student, post-docs, researchers...) but we'll give priority to master and PhD students given the limited number of places (n=24). For all courses (maths and programming), we'll provide some theoretical background, propose small exercices for participant to work on their own and then solve the exercices together and make sure everybody has acquired the related concepts and techniques. Courses will be taught in English.


Important dates

Registration deadline: 31/03/2019 (registrations are now CLOSED)

If you were not able to register but want to be kept up to date, you can send us an email ([email protected] or [email protected]). We'll send email when new material is online and you can ask us for help if you encounter some diffculties.

Mathematical lessons

Date Time Place Topic Tutor
April 5, 2019 9:30-11:30 ED Building, room 30 Linear Algebra Arthur Leblois
April 12, 2019 9:30-11:30 ED Building, room 30 Differential Equations Arthur Leblois
April 26, 2019 9:30-11:30 ED Building, room 30 Signal Processing Arthur Leblois

Programming lessons

Date Time Place Topic Tutor
July 1, 2019 9:00-12:00 ED Building, room 30 Introduction Nicolas Rougier
  14:00-17:00 ED Building, room 30 Numerical Computing Nicolas Rougier
July 2, 2019 9:00-12:00 ED Building, room 30 Data Visualization Nicolas Rougier
  14:00-17:00 ED Building, room 30 Scientific Computing Nicolas Rougier

Project

Date Time Place Topic Tutor
July 3, 2019 9:00-12:00 ED Building, room 30 Presentation Nicolas Rougier & Arthur Leblois
  14:00-17:00 ED Building, room 30 Team work (part 1) -
July 4, 2019 9:00-12:00 ED Building, room 30 Update Nicolas Rougier & Arthur Leblois
  14:00-17:00 ED Building, room 30 Team work (part 2) -
July 5, 2019 9:00-12:00 ED Building, room 30 Update Nicolas Rougier & Arthur Leblois
  14:00-16:00 ED Building, room 30 Wrap-up Nicolas Rougier & Arthur Leblois




Mathematical lessons

Linear Algebra

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

Prerequisites: None
See also: Wikipedia | Linear Algebra & Mathematics for Computational Neuroscience


Differential Equations

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.

Prerequisites: None
See also: Wikipedia | Differential Equations & Mathematics for Computational Neuroscience


Signal Processing

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.

Prerequisites: None
See also: MATLAB for Neuroscientists ($)



Programming lessons

Installation

This lesson aims at providing the student with a clean development environment, including Python installation and essential packages, a decent text editor, and a shell. We'll also introduce the Python & IPython shells, the Jupyter notebook and explains how to run a python script from the command line.

Prerequisites: None
See also: Anaconda installation

Introduction

We introduce here Python, a powerful and easy to learn programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming (Python website). However, we'll only cover the strict minimum necessary for getting started with numerical computing.

Prerequisites: Installation
See also: Official Python tutorial & Dive into Python

Numerical computing

This lesson gives an overview of NumPy, the core library for performant numerical computing, with support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays.

Prerequisites: Introduction
See also: Scipy Lecture Notes, Numpy for Matlab users & From Python to Numpy

Data Visualization

We'll explore the matplotlib library which is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, the Python and IPython shells, the Jupyter notebook, web application servers, and four graphical user interface toolkits.

Prerequisites: Numerical computing
See also: Matplotlib tutorial, Ten Simple Rules for Better Figures

Scientific computing

This lesson, from the scipy mlecture notes, will cover scipy which is a scientific-computing libraries, such as the GSL (GNU Scientific Library for C and C++), or Matlab’s toolboxes. Scipy is the core package for scientific routines in Python; it is meant to operate efficiently on numpy arrays, so that numpy and scipy work hand in hand.

Prerequisites: Numerical computing
See also: Elegant Scipy, Python Data Science Handbook



Project

The goal of the project is to sort (automatically) audio files that correspond to the recording of adult or juvenile songbirds. If you listen to the audio files, you will hear that the sound is quite different between an adult (song) and a juvenile (babbling). This means we can probably process the audio files in order to decide if it corresponds to an adult or a juvenile and the goal is thus to write a function songsort("./some-path/") that will automatically sort all the files present in some-path and label them accordingly.

For the project, you'll need to team with someone else sucha as to work together at one compputer (pair programming). When one is typing, the other is reading an commenting and for maximum efficiency, you'll have to switch roles frequently.



 

Computational Neuroscience Crash Course (CNCC 2019)
Copyright © 2019 Arthur Leblois & Nicolas P. RougierCC-BY 4.0 International license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].