Background Information

Source Control

Source or version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. It also prevents files from being altered by more than one person at a time.

Git

Git is a distributed version control system (DVCS) with an emphasis on fast performance and nonlinear editing. Initially conceived in 2005 as a development tool for the Linux kernel codebase, it is as of 2014 one of the most widely adopted version control technologies. Git is free and open source and it has been designed to handle everything from small to very large projects with speed and efficiency.

GitHub

Going through this 15-minutes in-browser tutorial is the quickest way of getting started with Git and GitHub. Another good option is this Hello World Guide for GitHub. This screencast by Ralf Ebert is a good all-around introduction (especially if you are already familiar with version control systems), while for a more systematic treatment see the excellent Pro Git book by Scott Chacon, available as part of the official documentation on Git’s website. The Visual Git Reference by Mark Lodato is very helpful when trying to understand some of the more advanced concepts.

Why GitHub?

Born in 2008, GitHub is now the largest open source code hosting service on the web, with more than 10 million repositories as of January 2013. It offers free hosting for open source, public git repositories as well as paid-for hosting for private ones, and an array of powerful tools for collaborative coding and social networking functionality such as feeds, followers, wikis, etc. It can be used via the web interface or standalone clients (see below).

Graphical clients for Windows and Mac

While many people interact with Git repositories through the command line interface, graphical applications are becoming increasingly popular for managing multiple local and remote repositories. GitHub has useful GUIs for interacting with repositories hosted there for Windows:

and Mac:

Alternatively, a more complex and general-purpose version control GUI is SourceTree (Windows and Mac):

Alternative Version Control System (VCSs) and hosting services

While GitHub is the hosting service we (strongly) recommend for new users, for those with specific technical requirements Open Source Brain supports Mercurial repositories hosted on Bitbucket (see for example Self Sustained Network Activity - Destexhe 2009) and self-hosted SVN/Git/Mercurial/Bazaar public repositories.

Computational Neuroscience

This document is intended to help newcomers to get into computational neuroscience.
Note that this is a living document and it will regularly be updated.
Offers of help to complete this are very welcome!

Books

  1. Neuroscience

  2. Computational modelling/theoretical neuroscience

  3. Programming

  4. Machine learning

Publications

  1. Review articles

  2. Classic papers

Open Source Brain projects

See here for a list of OSB projects which contain tutorials, exercises, etc. in computational neuroscience.

Software

  1. Modelling

An overview of the main target simulators for models in Open Source Brain can be found here.

  1. Markup Languages

    • A Model Description Language for Computational Neuroscience (NeuroML)
    • Systems Biology Markup Language (SBML)
    • CellML
  2. Libraries

    Various usefull libraries include-

3.1 Data analysis and scientific computing
- Pandas, python

- NumPy, python

- SciPy, python

3.2 Data visualization

3.3 Machine learning

Databases

Organisations

  • Organization for Computational Neurosciences (OCNS)
  • International Neuroinformatics Coordinating Facility (INCF)

Institutions, Laboratories and Research Groups

  1. Asia

  2. Europe

  3. USA

A more comprehensive list of labs, centers and researchers can be found here.

Mailing Lists, Blogs and News

  1. Mailing lists

  2. Blogs

  3. News

Online courses

  1. Coursera

  2. edX

  3. Wulfram Gerstner

  4. OCW MIT

Other resources