Instructor: Michelle R. Greene, Ph.D

Email: mgreene2@bates.edu

Office hours: Option 1: Book me via calendar
Option 2: Stop by Hathorn 106 - I’m happy to meet when my door is open!

Logistics: T/Th 8:00am - 9:20 (Carnegie 111) T or Th 1:00-4:00 (Hathorn 207)

Prerequisites: NS/PY 160 or 200 PSYC 218 or any 200-level mathematics course

Teaching Assistant: Will Davis
Email: wdavis4@bates.edu
Office: ARC
Office hours: Sunday 7-9p

Course Description

In this course, students will examine formal models of brain function to determine how neurons give rise to thought. Examining real datasets, students will explore how the brain encodes and represents information at cellular, network, and systems scales, and discuss ideas about why the brain is organized as it is. Specific topics include spike statistics, reverse correlation and linear models of encoding, dimensionality reduction, cortical oscillations, neural networks, and algorithms for learning and memory. All assignments, and most class work emphasizes computer programming in Python (though no background is assumed or expected).

Introduction

“All models are wrong, but some models are useful” - George Box
“The world you perceive is a drastically simplified model of the world” - Herb Simon

How does the brain work? You’ve been taking neuroscience courses for a couple of years now - do you feel like you have an answer? What does it even mean to say that you understand the workings of the brain? This course takes an epistemological stance based on computation. In other words, our standard for understanding the brain is this: if you can express a neural process in mathematics, and if those expressions fit real-world data, then we understand this process. This is a rigorous definition, and as you will see in this course, it is a standard that we are still striving to achieve in most corners of neuroscience. This presents us with a tremendous intellectual opportunity: there are many ways to make a fundamental contribution to neuroscience, and we have more resources at our disposal now than ever!

The goal of this course is to give you experience in implementing significant models in neuroscience that span several levels of analysis, ranging from the single neuron to the level of the whole organism. Some of these models are historically important, such as the Nobel Prize-winning model of the action potential from Hodgkin and Huxley. Others involve using state-of-the-art machine learning in order to gain insight into brain imaging. As a consequence of this course, you will have the methods at your disposal to analyze real data in just about any neuroscience lab you enter.

As a side effect of this process, you will learn the basics of scientific computer programming. Programming is the literacy of the 21st century. As computers play a larger role in our lives, a gulf has emerged between those who use computer programs and those who write computer programs. As computer programming has obviated many professions and stands on the cusp of killing more, programming skills are a great way to future-proof your life, no matter what your post-Bates plans might be.

I won’t lie - this is not an easy course. You will likely be introduced to new mathematical concepts. You will be wearing many different hats as we shift levels of analysis from physics, through chemistry, biology, psychology, logic, computer science, and even philosophy. If you are new to computer programming, you will be learning an entirely new language by immersing yourself in it. The word choice here is intentional: success in this course will require frequent and deep engagement with difficult problems. However, I can also promise you that your perseverance will be richly rewarded with a new, deeper view of the neuroscience landscape, new frameworks for thinking, and new tools at your disposal.

Learning Objectives:

By the end of the course, you should be able to:

  • Think computationally about neuroscience problems at several levels of analysis. This means clearly articulating the problem at hand with well-defined inputs and outputs, applying appropriate quantitative reasoning to the journey between input to output, and quantitatively evaluating the quality of your model.

  • Apply knowledge of the fundamentals of computer programming by manipulating, analyzing, and visualizing real-world datasets.

  • Conceptually articulate the underlying mathematics of these models. This means being able to describe foundational concepts in linear algebra, differential equations, and probability theory such as vector spaces, eigenvectors and eigenvalues, numerical methods for integration, conditional probability, and Bayes’ theorem; and be able to use these concepts in implementing models of neural activity.

  • Describe several critical levels of analysis where one can model neural function. Compare and contrast among the different levels and evaluate the utility of each level for explaining how we perceive, think, and remember.

Classroom Expectations:

Commitment to Diversity

I expect all students to be respectful of the widely varied experiences and backgrounds represented by the classroom members as a group. Disrespect or discrimination on any basis will not be tolerated. Whether inside or outside the classroom, if you encounter sexual harassment, sexual violence, or discrimination based on race, color, religion, age, national origin, ancestry, sex, sexual orientation, gender identity/expression, or disability, you are encouraged to report it to Gwen Lexow, Director of Title IX and Civil Rights Compliance at Bates at or 207-786-6445. Additionally, please remember that Bates faculty are concerned about your well-being and development, and we are available to discuss any concerns you have. Students should be aware that faculty are legally obligated to share disclosures of sexual violence, sexual harassment, relationship violence, and stalking with the college’s Title IX Officer to help ensure that your safety and welfare are being addressed.

Academic Integrity

Please remind yourself of the Bates College policy on academic integrity. Please read this guide and its definitions of plagiarism, use/misuse of sources, and cheating. Students’ work will be closely scrutinized for plagiarism and violations of the College policy will not be tolerated. If you are concerned that your collaboration might put you at risk of an academic integrity violation, please come see me during office hours as soon as possible.

Students with Learning Differences

If you have a condition or disability that creates difficulties with the assignments, please notify me as soon as possible. You will need to create documentation with the Office of the Dean of Students, so if you need accommodation, please do this as soon as possible.

The math issue

In my experience, few things fill students with existential angst more than mathematics. I have structured this course to be appropriate to those with a variety of formal backgrounds, and it is therefore more conceptual than mathematical. I want you to understand and be able to explain what the various techniques and models do, not necessarily conduct mathematical proofs that demonstrate how they work. A full understanding of many of our class topics would require background in linear algebra, differential equations, probability, and physics. However, I do not expect you to have this background and I will present what you need to know from these topics on a “just in time” basis. However, this is designed to allow you to understand what the mathematical concepts represent, not necessarily to be able to do the math yourself. Of course, I welcome you to go further if you have the background and/or inclination to do so. The most important thing to remember is: ask lots of questions! I am more than willing to repeat anything that is difficult or to explain it from another direction.

Collaboration:

Collaboration is the basis of all scientific discovery and is often instrumental in the learning process. Our final project will be collaborative, but we will be intentional in how we contribute and evaluate one another’s contributions to the final product. You are individually responsible for learning the course content. If you are working together on a lab, you must give written credit to the collaborators, and the final written product must be your own. In other words, you may conceptually discuss the approach with your group, but you must write your code on your own. As there are many valid approaches to coding the same solution, acts of co-coding are easy to identify and will be treated as violations of academic integrity.

Late work:

The following policies apply to the following course components:

  • In-class quizzes cannot be made up. Your two lowest grades will be dropped in the case of personal emergencies.
  • Lyceum-based coding challenges cannot be made up. Your two lowest grades will be dropped in the case of personal emergencies.
  • While most labs will be completed in the time allotted for lab, if you need extra time to finish a lab, you may have until the day before your scheduled lab at 5pm to submit the previous week’s work.
  • Given the interdependent nature of the final product, it is essential that your colleagues receive your chapter drafts on time. Therefore, it is the responsibility of the group to ensure that this happens. Please see Michelle right away if any situations arise that make this difficult.
  • Final chapters are due on the Friday after our in-class workshop. Late chapters will be subject to a 10% loss of points per day. In other words, a chapter that would have received a 100% grade will receive 90% after one late day, 80% after two late days, etc.

Emergencies:

If I must cancel class due to weather or an emergency, I will inform you via the class email list. Please consider your Bates email to be the default place to look for class-related information and get into the habit of checking it daily.

Electronics:

Please silence your cell phone upon entering class and refrain from using it during class. When we are not working with Python, this is laptop-free classroom. There are good reasons for this: laptop use is correlated with lower learning outcomes for you and those around you, and the act of taking notes on the laptop is less effective than hand-written notes. The only exceptions are those with documented accommodations from the Dean of Students.

Grading:

Concept quizes: 25% total
The beginning and end of each class will be devoted to a short concept quiz. The quiz at the beginning of class will test your familiarity with the content presented in the readings, and the quiz at the end of class will allow you to place class content within the knowledge framework that we will build over the course of the semester. For example, in week N you may be asked to list the advantages that a technique from that week’s readings has over a technique learned in week N-3. These will be graded on a 0-3 scale as follows: 0: Absent; 1: Major errors; 2: Good (modal grade); 3: Exceptionally good answer. (You should consider 3 to be extra credit). Your lowest two grades will be dropped, and no make up is available for quizzes.
 

Labs: 25% total
There are a total of 11 labs during the course of the semester. Labs allow you to actually implement the content you are learning in lecture, and will give you practice in analyzing real neural data. In some cases, you will replicate Nobel Prize-winning work!   Each lab is contained in a Jupyter Notebook. Notebooks combine code with plain text explanations, graphs, and equations, and are a threfore fantastic way to communicate in the languages of scientific computing. While most labs will be completed in the time allotted for lab, if you need extra time to finish, you may have until the day before your scheduled lab at 5pm to submit the previous week’s work. These will be graded on a 0-3 scale as follows: 0: Absent; 1: Major errors or incomplete; 2: Good (modal grade); 3: Goes above and beyond through the extra credit “hacker set”. In order to pass the class, you must achieve at least 60% on your labs.

 

Final project: 30% total
Our final project is to write a textbook for the course. This is a collaborative effort that we will be engaged with for the whole semester. Why a textbook? A few reasons:

  • After evaluating about half a dozen potential books, I found that I wasn’t happy with any of them. Computational neuroscience is a rapidly-evolving field, so some were out of date. Others were more mathematical than computational. If we would benefit from a better textbook, so can others.
  • By writing an open textbook, Helps make the link between being a consumer of knowledge versus a producer of it.
  • Textbooks are expensive! By collaboratively creating an open work, we can help make this material accessible to all.
  • It is a cliche, but nonetheless true statement that one truly learns by teaching. This assignment places you in the role of the teacher, making the content come alive for you.
  • All too often, the writing that we do in college is in the form of the “disposable assignment” - one that you will spend a few hours working on, that I will spend a few hours reading and grading, and then is thrown away. Writing an open textbook is more of a renewable assignment - one that will have value in the world long after the semester is over.

It is unrealistic to write an entire textbook in one semester. Our goal will be to write six chapters. Each chapter of our textbook and will be written by a team of three students:

  • The editor is the team lead and is responsible for keeping the work flowing and for editing all work.
  • The writer will be the student who is primarily writing the content of the chapter.
  • The developer is responsible for writing Python code snippets that will help illustrate concepts in the chapter. The developer is also responsible for any other visuals that will be used in the chapter.

The composition of the team will change from chapter to chapter, and I have designed the group membership such that each person will act in each role once across the semester. You will be provided with your team assignments on the first day of class, and will be given a Google form to rate your team’s preference for working on the various chapters. I will do my best to provide each team with as close to their top choices as possible. Your grade for the final project will be broken down as:

  • 60% Individual efforts. Quality of writing, coding, or editing (18% of semester grade, or 6% per chapter)
  • 40% Team efforts (i.e. 12% of semester’s grade), broken up as:
    • 80% peer assessment (i.e. ~10% of semester’s grade)
    • 20% self assessment (i.e. ~2-3% of semester’s grade)

 

Coding Challenges: 10% total
Because computer programming is learning a language, the more you immerse yourself in this language, the more you will be able to do. Programming only once a week in lab will not be sufficient. To kickstart the process, the first eight weeks of class will feature three coding challenges a week that will keep you thinking in the language of code. These will be due Monday, Wednesday, and Friday of each week at 23:59 and will be graded in a Correct/Incorrect binary manner.


Participation: 10% total
“Computers are useless. They can only give you answers” - Pablo Picasso
“What people think of as the moment of discovery is really the discovery of the question” - Jonas Salk
  Learning is not a spectator event: you need to ask questions. If you are confused about something, odds are good that you are not the only one. Questions also serve a more fundamental role in memory encoding and learning. If you are thinking about questions, you are integrating what you are learning into your existing knowledge structures. Questions often lead to creative scientific thought. This is an active classroom. Come to class ready to work, ask questions, experiment, and help your classmates, and this is 10% of your grade that you will not need to worry about.


Grade Percentage Grade Percentage
A+ >95% B- 71-74%
A 87-94% C+ 67-70%
A- 83-86% C 63-66%
B+ 79-82% D 50-62%
B 75-78% F <50

Final note about grading
No single component listed above is worth more than 10% of your final grade. This is intentional. This allows anyone to bounce back from a less-than-optimal score on any assignment. If you approach this course with consistent effort, you will succeed!  

Reading:

All required papers will be available on this website and Lyceum, and should be done before class.

Course Calendar

 

Week 1: Introduction

Lab: None
Chapter draft: None
Chapter final: None
Date Topic Reading Reading.guide
5-Sep Course Introduction None None

 

Week 2: Computation and Computational Neuroscience

Lab: Tutorial
Chapter draft: Chapter 1: What is computational neuroscience?
Chapter final: None
Date Topic Reading Reading.guide
9-Sep NA NA NA
10-Sep What is computation? Marr (1982) “The Philosophy and the Approach” Vision Describe Marr’s three levels in your own words
What does “computation” mean to Marr, and how does it differ from what you think of computation?
11-Sep NA NA NA
12-Sep What is computational neuroscience? O’Reilly Computational Cognitive Science Introduction What are some reasons why it would be helpful to build computational models of the brain?
O’Reilly discusses the concept of emergence. What is one example of emergence and the brain that you have encountered?
Explain the analogy visually represented in Figures 1.2 and 1.3.
13-Sep NA NA NA

 

Week 3: Integrate and Fire Model

Lab: Fundamentals
Chapter draft: None
Chapter final: Chapter 1: What is computational neuroscience?
Date Topic Reading Reading.guide
16-Sep Code challenge Due NA NA
17-Sep Meat circuits: how an electrical engineer views the neuron Physics of Electrical Circuits Be prepared to define the following: resistance, capacitance, conductance, current, driving force, leak current
The Neuron and Minimal Spiking Models What are the relationships among the above concepts?
18-Sep Code challenge Due NA NA
19-Sep Integrate and fire models Integrate and Fire Models In what ways is the integrate and fire model a simplification of a real neuron?
20-Sep Code challenge Due NA NA

 

Week 4: Hodgkin and Huxley

Lab: Integrate and fire
Chapter draft: Chapter 2: Hodgkin and Huxley
Chapter final: None
Date Topic Reading Reading.guide
23-Sep Code challenge Due NA NA
24-Sep Hodgkin & Huxley Conductance-based Models Explain the positive feedback involved in producing an action potential in the Hodgkin-Huxley model.
Describe how three different terms produce negative feedback in the Hodgkin-Huxley model.
25-Sep Code challenge Due NA NA
26-Sep Hodgkin & Huxley Dayan & Abbott Think about how the structure of voltage-gated ion channels is reflected in the model.
Think about how alphas, betas, gating variables, and voltage interact. What would you update first?
27-Sep Code challenge Due NA NA

 

Week 5: Firing rates and spike statistics

Lab: Hodgkin and Huxley
Chapter draft: None
Chapter final: Chapter 2: Hodgkin and Huxley
Date Topic Reading Reading.guide
30-Sep Code challenge Due NA NA
1-Oct Introduction to neural codes Rieke: Introduction to Spikes What is a neural “code”?
2-Oct Code challenge Due NA NA
3-Oct Spike train statistics: quantifying what neurons “say” Spike-Train Statistics What is a Poisson process?
Why would someone want to create an artificial spike train?
4-Oct Code challenge Due NA NA

 

Week 6: Reverse correlation

Lab: Firing rate
Chapter draft: Chapter 3: Reverse correlation
Chapter final: None
Date Topic Reading Reading.guide
7-Oct Code challenge Due What makes a neuron fire? Be able to explain figure 1.8
8-Oct Spike-triggered average: what caused the neuron to fire? TBD
9-Oct Code challenge Due NA NA
10-Oct Extending STA: reverse correlation Reverse correlation in neurophysiology Read only sections 1-5
11-Oct Code challenge Due NA NA

 

Week 7: Encoding models

Lab: October break: no lab
Chapter draft: October break: no chapter
Chapter final: None
Date Topic Reading Reading.guide
14-Oct Code challenge Due NA NA
15-Oct Linear encoding models Characterization of neural responses with stochastic stimuli Describe each stage of a linear-nonlinear-Poisson model
What problem(s) in the STA does spike-triggered covariance solve?
16-Oct BREAK none none
17-Oct NO CLASS: FALL BREAK none none
18-Oct BREAK none none

 

Week 8: Hebbian learning

Lab: Reverse correlation
Chapter draft: None
Chapter final: Chapter 3: Reverse correlation
Date Topic Reading Reading.guide
21-Oct Code challenge Due NA NA
22-Oct Hebbian learning O’Reilly Hebbian Model Learning Stop at 4.3.1 What does it mean to have an internal model of the world?
What is an ill-posed problem, and provide an example from the reading.
Explain the bias-variance tradeoff.
23-Oct Code challenge Due NA NA
24-Oct Hebbian learning O’Reilly Hebbian Model Learning 4.4 through 4.5.1 (non-inclusive) Why is it that Hebbian learning is said to pick up “suspicious coincidences” in the world?
Hebbian learning is unsupervised. What does this mean?
25-Oct Code challenge Due NA NA

 

Week 9: Perceptrons

Lab: Linear algebra
Chapter draft: None
Chapter final: None
Date Topic Reading Reading.guide
28-Oct Code challenge Due NA NA
29-Oct McCulloch Pitts neurons Marsalli McCulloch-Pitts Neurons Work through all 10 pages of the tutorial
Optional: Gefter (2015) The man who tried to redeem the world with logic Nautilus
30-Oct Code challenge Due NA NA
31-Oct Perceptron learning algorithm Kang Introducing deep learning and neural networks, part 1 What is the relationship between bias and threshold?
What would be necessary to solve the dreaded XOR problem?
1-Nov Code challenge Due NA NA

 

Week 10: Neural networks

Lab: Neural networks
Chapter draft: Chapter 4: Neural networks
Chapter final: None
Date Topic Reading Reading.guide
4-Nov Code challenge Due NA NA
5-Nov NO CLASS: MRG AWAY NA
6-Nov Code challenge Due NA NA
7-Nov Neural networks Kang Multi-layer neural networks with sigmoid function Think about what biological analogies might be drawn with the sigmoid function
8-Nov Code challenge Due NA NA

 

Week 11: Decoding

Lab: Introduction to decoding
Chapter draft: None
Chapter final: Chapter 4: Neural networks
Date Topic Reading Reading.guide
11-Nov Code challenge Due NA NA
12-Nov Neural networks Watch: What is backpropagation really doing? NA
Watch: Backpropagation calculus NA
13-Nov Code challenge Due NA NA
14-Nov Theory of supervised learning Murphy Introduction Machine Learning NA
15-Nov Code challenge Due NA NA

 

Week 12: Decoding

Lab: Decoding
Chapter draft: Chapter 5: Decoding
Chapter final: None
Date Topic Reading Reading.guide
18-Nov Code challenge Due NA NA
19-Nov Decoding Myers & Kreiman Tutorial on Pattern Classification in Cell Recording Through page 17 required. Rest is optional. Pay particular attention to figures 19.1 and 19.4
Horikawa et al (2013) Neural Decoding of Visual Imagery During Sleep For discussion. Will not be part of concept quiz.
20-Nov Code challenge Due NA NA
21-Nov Decoding case studies I Just et al (2017)Machine learning of neural representations of suicide and emotion concepts identifies suicidal youth Critically evaluate the decoding used in this paper based on our previous discussions.
Todd et al (2013) Confounds in multivariate pattern analysis: theory and rule representation case study
22-Nov Code challenge Due NA NA

 

Week 13: THANKSGIVING BREAK

Lab: None
Chapter draft: None
Chapter final: None
Date Topic Reading Reading.guide
25-Nov THANKSGIVING none NA
26-Nov THANKSGIVING none NA
27-Nov THANKSGIVING none NA
28-Nov THANKSGIVING none NA
29-Nov THANKSGIVING none NA

 

Week 14: Representational similarity analysis and wrap-up

Lab: Representational similarity analysis
Chapter draft: None
Chapter final: Chapter 5: Decoding
Date Topic Reading Reading.guide
2-Dec NA NA NA
3-Dec Representational similarity analysis Kriegeskorte & Kievit (2013) Representational geometry: integrating cognition, computation, and the brain Pay particular attention to Figure 1 and Box 1.
4-Dec NA NA NA
5-Dec Finalizing book none NA
6-Dec NA NA NA