Neural and Cognitive Data Science

PSYC 499
University of Southern California, Fall 2026
Time: M/W 2:00–3:50 pm
Location: KAP 165
Office Hours: W 4:00–6:00 pm in SGM 1016
Instructor: Sam Nastase (snastase@usc.edu)
Syllabus: Syllabus
GitHub: GitHub
Scratch: Scratch


This course introduces students to the mathematical and data scientific tools at the core of research in cognitive and computational neuroscience. The course aims to familiarize students with topics in linear algebra, statistics, and machine learning, with practical, hands-on applications to cognition and neuroscience. Lectures on each topic will develop the relevant mathematical background with links to foundational applications in the field. Coursework will focus primarily on problem sets requiring the implementation of models and analyses in Python. The course will equip students with a practical proficiency in various computational methods, including programming skills in data analysis and visualization that are increasingly important to scientific inquiry in general, and neuroscience in particular. The intended audience for this course is later-stage undergraduate students (or graduate students) who want to develop their expertise in data science, machine learning, and computational approaches to understanding brain and behavior. Some experience with Python programming, linear algebra, or neuroscience will be helpful, but is not strictly required.


Course schedule

DateTopicSlidesOptional readings
M 8/24Introduction to cognitive computational neuroscience Marr, 1982, Vision, Ch. 1, pp. 8–38 PDF
McClelland et al., 1986, PDP, Ch. 1, pp. 3–44 PDF
W 8/26Introduction to linear algebra  
M 8/31Linear combination and vector spaces  
W 9/2Application: trichromatic vision  
M 9/7No class (Labor Day Holiday)  
W 9/9Matrix multiplication and linear systems  
M 9/14Application: local and distributed representation  
W 9/16The four fundamental subspaces  
M 9/21Application: neural population codes  
W 9/23Singular value decomposition (SVD)  
M 9/28Principal component analysis (PCA)  
W 9/30Application: visualizing high-dimensional neural activity  
M 10/5Least-squares regression  
W 10/7Application: univariate regression in fMRI  
M 10/12Introduction to probability and statistics  
W 10/14Statistical tests as linear models  
M 10/19Covariance, cosine, and correlation  
W 10/21Application: representational similarity analysis  
M 10/26Permutation tests and the bootstrap  
W 10/28Information theory and efficient coding  
M 11/2Introduction to machine learning  
W 11/4Overfitting and out-of-sample prediction  
M 11/9Regularized regression  
W 11/11No class (Veterans Day Holiday)  
M 11/16Application: encoding models in fMRI  
W 11/18Classification analysis  
M 11/23Application: neural decoding  
W 11/25No class (Thanksgiving Holiday)  
M 11/30Artificial neural networks  
W 12/2Application: deep learning  

The content of this course is inspired by related courses designed by Jonathan Pillow, Eero Simoncelli, Michael Landy, Ella Batty, and Tal Yarkoni.


Resources and references

“Welcome to Colab” introduction to browser-based interactive Jupyter Notebooks hosted by Google Colab: Welcome to Colab

Jupyter ecosystem documentation: Jupyter Documentation Jupyter Markdown Cells

Pyplot tutorial and Matplotlib documentation: Pyplot Tutorial Matplotlib Documentation

Pandas and Seaborn documentation: Pandas Seaborn

Scikit-learn’s User Guide and Examples: User Guide Examples

Managing Python environments and installing software using conda: Conda Documentation

Neuromatch computational neuroscience tutorials: Neuromatch

Neurohackademy summer school lecture archive: Neurohackademy

“Introduction to Linear Algebra” textbook materials available online at Gilbert Strang’s website: website
— Strang, G. (2023). Introduction to Linear Algebra (6th ed.). Wellesley-Cambridge Press.

“Parallel Distributed Processing” (PDP) book chapters available at Jay McClelland’s website: website
— Rumelhart, D. E., McClelland, J. L., & the PDP Research Group. (1986). Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Volume 1: Foundations. MIT Press.

“The Elements of Statistical Learning” textbook available online at Trevor Hastie’s website: website PDF
— Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd ed.). Springer.

“Statistical Thinking for the 21st Century” online book by Russ Poldrack: website
— Poldrack, R. A. (2023). Statistical Thinking: Analyzing Data in an Uncertain World. Princeton University Press.

“Neuroimaging and Data Science” online book and interactive tutorials: website
— Rokem, A., & Yarkoni, T. (2023). Data Science for Neuroimaging: An Introduction. Princeton University Press.

“Experimentology“ online book by Michael C. Frank and colleagues: website
— Frank, M. C., Braginsky, M., Cachia, J., Coles, N. A., & Hardwicke, T. E. (2025). Experimentology: An Open Science Approach to Experimental Psychology Methods. MIT Press.

“Theoretical Neuroscience” book by Peter Dayan and Larry Abbott: PDF
— Dayan, P., & Abbott, L. F. (2001). Theoretical Neuroscience: Computational and Mathematical Modeling of Neural Systems. MIT Press.

“Computational Foundations of Cognitive Neuroscience” online book by Sam Gershman: website
— Gershman, S. J. (2025). Computational Foundations of Cognitive Neuroscience.