# Prerequisites and preparatory materials for NeuroAI course#

Welcome to the Neuromatch Academy! We’re really excited to bring the field of NeuroAI to such a wide and varied audience. We’re preparing an amazing set of lectures and tutorials for you!

## Preparing yourself for the course#

This is a more advanced course than other Neuromatch courses so far. We will be relating principles of neuroscience and principles of artificial intelligence, so you should already know the fundamentals in both disciplines. We ask that all students:

Have taken Neuromatch courses in computational neuroscience and deep learning, or the equivalent

Have intermediate proficiency in Python

Some core math concepts

Below are more details on the prerequisites.

### Neuroscience#

You should have some exposure to computational neuroscience, such as through our Neuromatch course. A rudimentary familiarity with neurobiology is fine.

### Programming#

This course will be run using Python. We expect students to be familiar with variables, lists, dicts, the numpy and scipy libraries, and plotting in matplotlib. Especially for projects, you will benefit from knowing PyTorch.

### Deep Learning#

You should be familiar with the core ideas of deep learning, including definitions of task goals, neural network architectures, and training and testing procedures.

### Math skills#

We rely on linear algebra, probability, basic statistics, and multivariable calculus.
**Linear algebra:** You will need a good grasp of linear algebra: vector and matrix addition and multiplication, rank, bases, determinants, inverses, and the eigenvalue decomposition.
**Statistics:** You should be comfortable with means and variances, and the normal distribution. You should be familiar with linear regression and cross-validation.
**Calculus:** You should know what integrals and derivatives are, and understand what a differential equation means.
The Neuromatch Academy team.

### Resources for learning PyTorch#

https://pytorch.org/tutorials/