PSY-221F: Computational Neuroscience

PSY-221F is the new course number for PSY-265 formerly taught by Greg Ashby

Course Description

This is (primarily) a lecture course that surveys computational neuroscience, which is a branch of neuroscience that employs mathematical models, theoretical analysis, and abstractions of the brain to understand the principles that govern development, structure, physiology, and cognitive abilities of the nervous system.

In this new iteration of the course, we will visit different brain areas to learn about the computational principles that may underlie their function. This may include:

  • Visual cortex: classical/extraclassical receptive fields, tuning curves, population codes, object recognition
  • Auditory cortex: spiking models, tonotopic maps, coincidence detection, predictive coding
  • Hippocampus (memory & learning): spike-timing dependent plasticity, pattern completion/separation
  • Hippocampal-entorhinal complex (spatial navigation): place cells, grid cells, head direction cells
  • Basal ganglia: Reward signaling and reinforcement learning, actor-critic model
  • Prefrontal cortex: (Bayesian) decision making, attractor networks, rule-based learning

At the beginning of the quarter, students will need to subscribe to one of two tracks:

Track I (Concept-Focused):

  • suitable for students from a broad range of backgrounds, including biology, psychology, and cognitive science
  • focuses on the conceptual understanding of computational models and principles in neuroscience
  • offers a ligher homework load, with assignments designed to reinforce understanding of key concepts and theories without extensive mathematical analysis
  • offers a math refresher and intro to Python programming

Track II (Comprehensive):

  • suitable for students eager to dive deep into the mathematical and computational foundations of neuroscience
  • is ideal for those with a strong background in math, physics, engineering, computer science, or related field (mandatory for DYNS students)
  • offers a comprehensive coverage of mathematical concepts and computational models underlying brain function
  • includes hands-on programming and data analysis assignments

Students will gain experience both conceptually and practically, by homework assignments that involve solving problems and implementing computational models. Yes, there will be math. Yes, there will be programming. However, this is not primarily a programming course - the goal is to get experience with the computational models. Students with little programming experience are encouraged to take advantage of the math refresher/programming intro.

By the end of this course, students should be able to:

  • describe how the brain “computes”,
  • describe different methods that computational neuroscientists use to model neural coding,
  • computationally model the biophysics of single neurons and the dynamics of neural networks,
  • fit a computational model to experimental data.

The course will feature a few homework assignments, in-class presentations, and a final (group) project.


The formal prerequisites are PSY-221A and PSY-221B, but exceptions will be considered on a case-by-case basis (send me your transcripts).

The actual necessary background includes:

  • calculus (differential, integral) and statistics,
  • some prior exposure to matrix algebra,
  • some prior exposure to Python.

Desirable, but not strictly necessary:

  • prior exposure to probability theory,
  • basic knowledge of neuroscience.