Skip to main content

Computational Neuroscience Curriculum


The goal of the Computational Neuroscience Specialization at UCSD is to train researchers that are equally at home with behavioral methods, electrophysiology, statistical tools for data analysis, and developing models for brain function. Projects can extend from single cell dynamics through large-scale imaging of dynamics across the nervous system.

Required Courses

Students in the Computational Neuroscience Specialization will complete these three courses:

  • Neurodynamics (BGGN 260 / BENG 260/ PHYS 279 taught by Abarbanel, Cauwenberghs or Silva) - Anatomy, physiology, and electrical and chemical dynamics of individual neurons. Neuromorphic models.
  • Biophysical Basis of Neuronal Computation (PHYS 278 taught by Kleinfeld or Sharpee) - Collective properties and dynamics of neuronal systems, with emphasis on feedforward networks, associative networks, and networks of coupled oscillators.
  • Algorithms for the Analysis of Neural Data (COG 260 / NEU 282 taught by Mukamel) - Characterization of spiking and continuous processes (ECoG, LFP, MEG, fMRI).

Elective Courses

Students are encouraged to take reading classes as well as additional classes in Engineering, Mathematics, and Physics to supplement their backgrounds in quantitative skills and measurement techniques.

Suggested reading classes:

  • BGGN 246 - Computational neurobiology reading course (Sejnowski)
  • NEU 221 - Advanced topics in neurosciences (various faculty)

Suggested classes in analysis and applied mathematics include:

  • ECE 250 - Parameter estimation
  • ECE 255 - Information theory
  • MATH 250 - Differential geometry
  • MATH 280 - Probability theory
  • MATH 282 - Applied statistics
  • MATH 287B - Multivariate analysis
  • PHYS 210 - Nonequilibrium statistical mechanics
  • PSYC 231 - Data analysis in Matlab

Suggested classes in engineering and physics include:

  • BENG 278 - Magnetic resonance imaging
  • BENG/ECE 247A - Advanced biophotonics
  • BENG/ECE 247B - Bioelectronics
  • PHYS 270A - Experimental techniques for quantitative biology
  • PHYS 270B - Quantitative biology laboratory
  • ECE 240 - Lasers and optics
  • NEU 259 - Workshop in electron microscopy

Introductory Courses

Many of the courses listed above require previous knowledge of coding (MATLAB or Python), linear algebra, calculus, and/or differential equations. However, our graduate students come with a diversity of backgrounds. All NGP students are encouraged to pursue greater computational proficiency. To this end, the following courses are suggested:

  • Tools for Experimental Data Analysis (NEUG 231 taught by John Serences) - This course will cover the basics of programming in Python using Jupyter notebooks and Git, along with a set of general data analysis methods that are broadly applicable in many different sub-disciplines of psychology/neuroscience. Topics include model fitting, information theory, Fourier analysis, and machine learning. At the end of the course students will have a code repository and a set of general functions that can be applied in a variety of settings. 
  • Mathematical Foundations for Computational Neuroscience (NEUG 240 taught by Maxim Bazhenov) -This course is designed to introduce students coming from a life-sciences background to the various mathematical domains used in modern neuroscience research. The purpose of this is two-fold: 1) to provide the students with a knowledge base that will be indispensable when engaged in data analysis/computational modeling or reading computationally-oriented papers, 2) to understand how to “think mathematically” or how these concepts provide an organizing, theoretical framework which can be used to quickly and rigorously generate and evaluate novel hypotheses. To accomplish this, the focus will be less on computation, and more on understanding the conceptual framework behind each subject and the abstract principles of mathematics. We will also connect all these principles to their applications in neuroscience through concrete examples and a final project.
  • Methods in Comp Neuro (BGGN 201 taught by Pamela Reinagel) - This class is designed for Neuroscience and Biology PhD students who have advanced knowledge of neurobiology, but limited math background. Cellular and systems neuroscience (NEU 200A and 200B, or equivalent) is assumed. Each week there is one lecture explaining a computational method, and one class discussing papers from the primary literature that use this method. In general the students meet for an hour or two outside of class to go over the papers before they are discussed in class. There are no programming assignments or problem sets; this class will not teach you how to perform all these analyses. The goal of the class is to provide exposure to a broad range of computational methods that are used in neuroscience, so that you will be better equipped to understand the research literature and seminars, and so you will be aware of the tools that are available should you need them in your future research. Topics include: Poisson processes, spiking reliability (Fano Factor); Fourier transforms, spectra and phase analysis; Dimensionality reduction (e.g. PCA); Intro to Linear Algebra; Cluster analysis; Auto- and cross-correlation analysis; Information theory; Ideal Observer (ROC) analysis; Bayesian Statistics.