The Essentials of Neuroscience With MATLAB course was developed to provide advanced undergraduates and early graduate students with a basic familiarity with MATLAB programming with an opportunity to deepen their expertise in neuroscience data analysis using MATLAB. Each module covers a range of specific data processing, analysis, and visualization skills that neuroscientists often need. In the process, each module teaches a specific set of MATLAB skills, although there is (both necessarily and by design) some overlap in skills across modules (see table below).
All modules include instruction on importing data (using freely available data), using functions, visualizing data, aggregating results, and exporting to disk (.mat, .txt, high-quality figures). Most of the course time is spent on data processing, analysis, and visualization. All modules except for module 3 utilize empirical neuroscience data. All datasets are taken from open-source databases such as DANDI and OpenNeuro, where confirmation of access rights can be ensured. Because of the wide range of data formats and limited generalizability across formats, this course provides only basic instruction for data importing, instead focusing on data processing, analysis, and visualization.

The course is designed for cumulative educational flow, such that maximal benefit will come from taking the modules in order. However, module access is unrestricted, which means that students will have the flexibility to custom-tailor their course progression if they wish to deviate from the recommended path.
- Module 1: Spiking Data. The goal of this module is to work with action potential data taken from a publicly available database. You will learn about spike counts, orientation tuning, and spatial maps. The MATLAB code introduces data types, for-loops and vectorizations, indexing, and data visualization
- Module 2: EEG. In this module, you will work with human EEG data recorded during a steady-state visual evoked potential study (SSVEP, aka flicker). You will learn about spectral analysis, alpha activity, and topographical mapping. The MATLAB code introduces functions, sorting, and correlation analysis
- Module 3: Computational Models. This module introduces computational neuroscience by simulating neurons according to the AdEx model. You will learn about generative modeling, dynamical systems, and FI curves. The MATLAB code introduces Live Scripts and functions
- Module 4: fMRI. This module covers fMRI data, including creating and interpreting flatmaps, exploring variability and average responses, and visual eccenticity. You will learn about processing BOLD signals, trial-averaging, and t-tests. The MATLAB code introduces data animations, multicolor visualizations, and linear indexing
- Module 5: Calcium Imaging. You will learn about working with calcium imaging data, including image processing to remove background "blur," identifying cells based on thresholed spatial contiguity, time series filtering, and principal components analysis (PCA). The MATLAB code shows data animations, capabilities of the image procsesing toolbox, and PCA