This course provides an introduction to basic computational methods for understanding what nervous systems do and for determining how they function. We will explore the computational principles governing various aspects of vision, sensory-motor control, learning, and memory. Specific topics that will be covered include representation of information by spiking neurons, processing of information in neural networks, and algorithms for adaptation and learning. We will make use of Matlab/Octave/Python demonstrations and exercises to gain a deeper understanding of concepts and methods introduced in the course. The course is primarily aimed at third- or fourth-year undergraduates and beginning graduate students, as well as professionals and distance learners interested in learning how the brain processes information.
Introduction & Basic Neurobiology (Rajesh Rao)
This module includes an Introduction to Computational Neuroscience, along with a primer on Basic Neurobiology.
What do Neurons Encode? Neural Encoding Models (Adrienne Fairhall)
This module introduces you to the captivating world of neural information coding. You will learn about the technologies that are used to record brain activity. We will then develop some mathematical formulations that allow us to characterize spikes from neurons as a code, at increasing levels of detail. Finally we investigate variability and noise in the brain, and how our models can accommodate them.
Extracting Information from Neurons: Neural Decoding (Adrienne Fairhall)
In this module, we turn the question of neural encoding around and ask: can we estimate what the brain is seeing, intending, or experiencing just from its neural activity? This is the problem of neural decoding and it is playing an increasingly important role in applications such as neuroprosthetics and brain-computer interfaces, where the interface must decode a person's movement intentions from neural activity. As a bonus for this module, you get to enjoy a guest lecture by well-known computational neuroscientist Fred Rieke.
Information Theory & Neural Coding (Adrienne Fairhall)
This module will unravel the intimate connections between the venerable field of information theory and that equally venerable object called our brain.
Computing in Carbon (Adrienne Fairhall)
This module takes you into the world of biophysics of neurons, where you will meet one of the most famous mathematical models in neuroscience, the Hodgkin-Huxley model of action potential (spike) generation. We will also delve into other models of neurons and learn how to model a neuron's structure, including those intricate branches called dendrites.
Computing with Networks (Rajesh Rao)
This module explores how models of neurons can be connected to create network models. The first lecture shows you how to model those remarkable connections between neurons called synapses. This lecture will leave you in the company of a simple network of integrate-and-fire neurons which follow each other or dance in synchrony. In the second lecture, you will learn about firing rate models and feedforward networks, which transform their inputs to outputs in a single "feedforward" pass. The last lecture takes you to the dynamic world of recurrent networks, which use feedback between neurons for amplification, memory, attention, oscillations, and more!
Networks that Learn: Plasticity in the Brain & Learning (Rajesh Rao)
This module investigates models of synaptic plasticity and learning in the brain, including a Canadian psychologist's prescient prescription for how neurons ought to learn (Hebbian learning) and the revelation that brains can do statistics (even if we ourselves sometimes cannot)! The next two lectures explore unsupervised learning and theories of brain function based on sparse coding and predictive coding.
Learning from Supervision and Rewards (Rajesh Rao)
In this last module, we explore supervised learning and reinforcement learning. The first lecture introduces you to supervised learning with the help of famous faces from politics and Bollywood, casts neurons as classifiers, and gives you a taste of that bedrock of supervised learning, backpropagation, with whose help you will learn to back a truck into a loading dock.The second and third lectures focus on reinforcement learning. The second lecture will teach you how to predict rewards à la Pavlov's dog and will explore the connection to that important reward-related chemical in our brains: dopamine. In the third lecture, we will learn how to select the best actions for maximizing rewards, and examine a possible neural implementation of our computational model in the brain region known as the basal ganglia. The grand finale: flying a helicopter using reinforcement learning!
First Lecture Series was very good and interesting. If a "Cloud-Based" Lab was added to get real experience with Neurons and Modelling via Octave/Matlab code...it would really be an improvement over existing educational programs.
This course was a huge inspiration, but it required a lot of prerequisites in high-level mathematics and programming. Even though I've passed the course with high marks, the programming exercises took a lot of time, and the quizzes weren't easy. It's not an introductory course, but the first few lectures ought to be enough if you're looking for a glance into what CN is. However, I'd recommend giving more practical introduction to certain theoretical approaches studied, for example, to combine the formula given in the slides with ways how to calculate them in Python and similar. I'm giving it one star more because the lecturers had done a huge job by themselves.