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
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).
“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.
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.
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 glexow@bates.edu 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.
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.
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.
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 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.
The following policies apply to the following course components:
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.
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.
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:
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 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:
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!
All required papers will be available on this website and Lyceum, and should be done before class.
Date | Topic | Reading | Reading.guide |
---|---|---|---|
5-Sep | Course Introduction | None | 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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |