Introduction to Computational Neuroscience with Neuroblox
Description
Computational neuroscience aims to simulate the brain in silico, from single synapses to brain-wide networks. The field has matured in tandem with experimental neuroscience, to the point where computational modeling has become an indispensable tool for understanding neuroscience data and motivating future experiments. However, building such models can involve a painstaking process of translating concepts from the literature into working code, then optimizing it to run in a reasonable timeframe.
Neuroblox is a new software platform for computational neuroscience that aims to break down these barriers. It is based on the Julia programming language, built with simplicity, modularity, and performance in mind. It consists of a library of modular computational building blocks (“blox”) that can be easily assembled to simulate brain dynamics, either in code or via an easy-to-use graphical interface. Our tools bridge scales from spiking neurons to brain waves and fMRI, and have applications to neurology and psychiatry. Moreover, the behavior of multiple model variants can be compared to discriminate between competing hypotheses.
In this course, you will learn the basics of computational neuroscience via hands-on model building in Neuroblox and Julia. You will simulate models from the literature, from single neurons to large circuits with synaptic plasticity, and fit them to neural data. By the end of the course, you will be able to model your own data, build your own custom circuit “blox” that may be incorporated into the Neuroblox library, and explore how interventions such as drugs and stimulation probes affect neural circuits.
Audience: Anyone interested in exploring how the brain works, including how it leads to cognition. Prior coding experience is beneficial but not necessary.
Structure: Brief presentation of background material followed by hands-on exercises and open-ended challenges.
Schedule: January 13–17, 2025; 10 Classes: Monday–Friday, 11 am–12:30 pm and 3 pm–4:30 pm
Structure:
Day 1
- Introduction to Neuroblox
- The Neuroblox Graphical User Interface (GUI)
- Introduction to Julia
Day 2
- Differential equations and plotting in Julia
- Design new Blox components and connection rules
Day 3
- Single neurons & neural masses with external sources
- Multiple neurons & neural masses in circuits
Day 4
- Running a decision-making task with a circuit model
- Synaptic plasticity and learning
Day 5
- Dynamic Causal Modeling
- Team collaboration on challenge problems from previous sessions.