(Neuro)-Scientific Coding Resource

Welcome to the Embodied Computation Group (ECG)! In this lab, we use Matlab, R, and Python to conduct our research. Because we believe in open science, it is imperative that ECG projects are coded in a transparent, readable, and reproducible manner. As such, we strongly encourage all lab members to be active participants in their development as scientific programmers and data scientists. Not only will this supercharge your research here and beyond, but it will also help you land a job - whether inside or outside of academia!

To help you achieve this goal, this document contains a variety of online resources including tutorials, free courses, and youtube videos documenting various key languages and their application to statistical inference, stimulus programming, and brain imaging. Please feel free to edit this guide as needed. We also have several well-recommended manuals and textbooks in the lab library, so check those out as well!

INTRODUCTION TO SCIENTIFIC PROGRAMMING

Python

Recommended Starting Point

https://www.codecademy.com/learn/learn-python

Other Learning Resources

https://www.datacamp.com/groups/education

https://www.learnpython.org/

https://cogs18.github.io/intro/

Matlab

Recommended Starting Point

http://www.antoniahamilton.com/matlab.html

Other Learning Resources

http://matlabfun.ucsd.edu/

https://matlabacademy.mathworks.com/

R & RStudio

Recommended Starting Point

R for data scientists

https://r4ds.had.co.nz/

Github tutorials

https://learngitbranching.js.org/

Other Learning Resources

https://ademos.people.uic.edu/index.html

https://www.rstudio.com/online-learning/

https://www.coursera.org/learn/r-programming?action=enroll

https://github.com/mattansb/LearnR/blob/master/Resources.md

https://swirlstats.com/

https://www.datacamp.com/groups/education

STATISTICAL INFERENCE & DATA SCIENCE

Improving your statistical inferences - Daniёl Lakens, Coursera

https://www.coursera.org/learn/statistical-inferences

Data Science with Python & R: Dimensionality Reduction and Clustering

https://www.datasciencecentral.com/profiles/blogs/data-science-with-python-r-dimensionality-reduction-and

Statistics and R- An introduction to basic statistical concepts and R programming skills necessary for analyzing data in the life sciences.

https://www.edx.org/course/statistics-r-harvardx-ph525-1x-1

Excellent Tutorials on Linear Mixed Effects and much More - Bodo Winter

http://www.bodowinter.com/tutorials.html

Compendium of Python Data Science Resources

https://github.com/ujjwalkarn/DataSciencePython

Introduction to Bayesian Statistics

https://www.stat.auckland.ac.nz/~brewer/stats331.pdf

Bayesian Inference 101

http://tinyheero.github.io/2017/03/08/how-to-bayesian-infer-101.html

Statistical Analysis with Matlab

https://github.com/iBMLab/Statistical-analysis-with-Matlab

Introduction to Statistics with JASP

https://osf.io/t56kg/

Neat tutorial on controlling for confounds

https://twitter.com/nickchk/status/1067136325751529472?s=19

Tutorial and code for meta-analysis in R:

https://twitter.com/dsquintana/status/1069509750835036160?s=19

STIMULUS AND TASK PROGRAMMING

Psychopy

http://www.psychopy.org/resources/resources.html

https://www.youtube.com/watch?v=VV6qhuQgsiI

https://jov.arvojournals.org/article.aspx?articleid=2699579#.W-vwMKtS_H0.twitter

Psychtoolbox

http://peterscarfe.com/ptbtutorials.html

Cogent

https://github.com/BeckyLawson/Cogent

BRAIN IMAGING

*recommended starting points

Jeanette Mumford has a great Youtube channel that walks you through a lot of the statistics, preprocessing, and design of fMRI experiments. It is more geared towards FSL than SPM, but is very general purpose and well made.

https://www.youtube.com/channel/UCZ7gF0zm35FwrFpDND6DWeA

*The FIL’s statistical parametric mapping course (SPM) is completely online now. A bit theory heavy, but they are a great resource.

https://www.fil.ion.ucl.ac.uk/spm/course/video/

General Coursera on Brain Imaging Methods

https://www.coursera.org/learn/neuroscience-neuroimaging

Basic MATLAB scripts for fMRI preprocessing in SPM - Steve Fleming

https://github.com/metacoglab/MetaLabCore

A variety of neuroimaging tutorials in FSL, AFNI, and SPM

https://www.youtube.com/user/Shala5ha5ka/videos

AFNI (another major imaging software) tutorials

https://afni.nimh.nih.gov/pub/dist/doc/htmldoc/educational/main_toc.html

FieldTrip a Matlab-based software toolbox offering tutorials and walkthroughs including videos for MEG and EEG analyses

http://www.fieldtriptoolbox.org/

COMPUTATIONAL NEUROSCIENCE & MACHINE LEARNING

*recommended starting points

Coursera on Computational Neuroscience

https://www.coursera.org/learn/computational-neuroscience

*ETH Computational Psychiatry Course - all video lectures and course materials!
http://www.translationalneuromodeling.org/cpcourse/

*Excellent tutorial on reinforcement learning and model fitting - Hanneke den Ouden

https://hannekedenouden.ruhosting.nl/RLtutorial/Instructions.html

EEG Deep learning toolbox

https://github.com/robintibor/braindecode

Machine Learning from Imaging Data in Python

http://nilearn.github.io/auto_examples/index.html

Key papers in deep reinforcement learning

https://spinningup.openai.com/en/latest/spinningup/keypapers.html

Simple Reinforcement Learning with Tensor Flow

https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-0-q-learning-with-tables-and-neural-networks-d195264329d0

Multi-armed bandits

https://dataorigami.net/blogs/napkin-folding/79031811-multi-armed-bandits

More Bayesian Bandits

https://eigenfoo.xyz/bayesian-bandits/

Bayesian Modelling in Python - a Cookbook

https://eigenfoo.xyz/bayesian-modelling-cookbook/

Excellent tutorial on Kulback-Leibler Divergence, for comparing probability distributions

https://www.countbayesie.com/blog/2017/5/9/kullback-leibler-divergence-explained