Instructor: Michelle R. Greene, Ph.D

Email: mgreene2@bates.edu

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

Logistics: T/Th 8:00am - 9:20 (Hathorn 207) Lab: T or Th 1:00-4:00 (Pettengill 339 (Tue) or 227 (Th))

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

Course Promise

The brain has been described as the most complex object in the universe. How do three pounds of “electrical meat” give rise to your thoughts, memories, plans, and perceptions? In this course, we will examine methods for reverse engineering the brain and models for understanding its functions. You will be implementing these methods and models yourself in Python, thus also introducing you to the basics of scientific computing along the way!

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 — with all of the detailed knowledge that you’ve gained, how much of it helps you answer the question of ‘how the brain works’? 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; and be able to use these concepts in implementing models of neural activity.

  • Be able to communicate effectively and persuasively about core concepts in computational neuroscience to audiences of other students in written form.

Course Components:

Pre-class work: There will be a reading on Perusall that you should complete before each class session. Perusall is a social reading annotation tool. In the PDF, you may highlight passages and figures for comment or question, follow up on the comments and questions or your colleagues, and use “upvoting” to endorse questions and comments. It’s a really great way of getting more out of your reading. Your annotations on Perusall will be due at midnight the night before each class. Each class will have a short question to reflect on in a Google form, due at the same time.

Class: The questions and comments from Perusall will lead to in-class discussion of the readings. Some class sessions will also feature a series of exercises in a Google Colab notebook that will prepare you for lab. If you are unable to make the live class session, it will be recorded via class capture.

Lab: There are a total of 10 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 Google Colab 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 one week past your scheduled lab to turn in the work.

Project: You will be contributing to a student-written open textbook in this course. Each of the other three course components (class, lab, and pre-class work) will be integrated into this project.

Materials:

  • You will need access to an internet-enabled computer for this course. If you do not have your own computer, please contact your Student Support Advisor — they will put you in contact with ILS for a loaner laptop. You may also use any of the computer labs on campus.
  • Readings will be available to you here, on Perusall, and on Lyceum.

Grading:

Grading philosophy

No single assignment listed below 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!  

Assessed components

Daily reading annotations in Perusall: 0.22% per reading * 23 readings = 5% of total
There will be a reading posted for each class period on Perusall. You can find our class Perusall link at the top of our Lyceum page. Perusall is a social reading annotation tool. In the PDF, you may highlight passages and figures for comment or question, follow up on the comments and questions or your colleagues, and use “upvoting” to endorse questions and comments. It’s a really great way of getting more out of your reading. As the annotations will in part guide the class activities, you are expected to complete your annotations by midnight Eastern before each class session.

Important note: Perusall will assign you a “grade”, but it will not be used in this class. The primary reason for this is that their algorithm is a trade secret and I do not feel comfortable evaluating you with an algorithm that I may or may not agree with. Instead, your annotations will be graded on the following 0-2 scale: 0: no annotation; 1: minimal annotation; 2: complete annotation. Please feel free to reach out if you have any questions about what constitutes a complete annotation.

Daily pre-class survey: 0.22% per survey * 23 sessions = 5% of total
Each class will have a pre-class question to consider based on your reading. I will provide a Google form (linked on this syllabus) where you can respond. Some of the questions will be subjective, and others are designed to stretch your comfort zone. As such, these will be graded in a binary manner (complete / incomplete). As your responses will in part guide the class activities, you are expected to complete your annotations by midnight before each class session.
 

Daily post-class survey: 0.87% per survey * 23 sessions = 20% of total
At the end of each class, I will release another Google form survey. This will ask you to reflect on what the main take-aways were from the class session, provide a final response for the pre-class question, and sometimes practice a key Python skill or two. Your post-class survey is due at 11:59p on each class day.

Labs: 3% per lab * 10 labs = 30% of total
There are a total of 10 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 Google Colab notebook. Notebooks combine code with plain text explanations, graphs, and equations, and are a therefore a fantastic way to communicate in the languages of scientific computing. Although I will accept completed labs within one week after the scheduled start of lab, most labs can be completed in the 3 hour time allotment. Labs will be graded on a 0-2 scale as follows: 0: Absent; 1: Major errors or incomplete; 2: Good (modal grade). In order to pass the class, you must achieve at least 60% on your labs.
 

Open textbook project: 40% total (distributed in several components)
Our class project is to contribute to a student-written open 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 none directly met our needs. 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 would others.
  • 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 a teaching role, allowing the content to come alive.
  • Writing an open textbook helps you transition between being a consumer of knowledge to a producer of it.
  • 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.

Students in the Fall 2019 version of this course wrote version 0.0 and Fall 2020 students created the latest version of this textbook: nine chapter drafts that broadly cover the course topics. This semester, we will work to augment and improve their work. You will contribute to two chapters with a partner, and provide feedback on two other chapters as a peer reviewer over the course of the semester.

On Lyceum, there will be an interest form for various topics and types of exercises along with their due dates. Please fill out your preferences. I will do my best to ensure that each student has at least one chapter near their top choice(s). There will be four phases to each project: a critique of the current draft, a rubric, a draft, and a final draft. Your work will be peer reviewed by another student, and you will be tasked with reviewing another assignment. Your grade for the project will be broken down as:

  • 5% critique of existing chapter
  • 5% plan and rubric
  • 10% initial draft
  • 10% peer review (2 at 5% each)
  • 10% final draft  

Grading Scale

Grade Percentage Grade Percentage
A+ >95% B- 77-79%
A 90-94% C+ 74-76%
A- 87-89% C 70-73%
B+ 84-86% D 50-72%
B 80-83% F <50

How to Succeed in this Course

Reach out when you need support

Work towards dismantling previous ‘math trauma’

Unfortunately, math can be a topic that brings up angst and trauma. It certainly was for me as a student! I want us to work to dismantle the culture of “math people” and “non-math people” — we are all people who think mathematically.

This class is structured 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. The most important thing to remember is: ask lots of questions! I am more than willing to repeat or slow down if things get difficult or to explain it from another direction.

Collaboration

Collaboration is the basis of all scientific discovery and is instrumental in the learning process. I strongly encourage students to work on class notebooks and labs together if possible. If you are working with other students on a class notebook or lab, you must give written credit to the collaborators, and the short answer questions must be in your own words.

Class Policies:

Communication

Class communications will take place via Bates email. 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. Your email messages to me will receive a response within 24 hours.

Commitment to Equity and Diversity

I firmly believe that all people, regardless of age, gender, sexual orientation, race, or religion can not only understand but find beauty, empowerment, and joy in computational neuroscience. I am firmly committed to making this class a safe space where everyone’s questions are heard and everyone’s ideas are respected. Specifically, this means:

  • You deserve to feel welcomes and celebrated for who you are. Discrimination of any kind will not be tolerated. Please let Michelle know immediately if you ever feel uncomfortable in class.
  • You deserve to be addressed in a way that reflects who you are. I welcome you to share with me your pronouns and/or preferred name at any time (either in person or via email). Similarly, please address your colleagues according to their expressed preferences.
  • You deserve to be physically healthy in class. We will be masking for at least the first two weeks of class, or until CDC and campus guidelines show that we can safely unmask. If you are feeling sick, please do not attend class. You may watch the class later via class capture.
  • You deserve to be able to learn in a way that works for you. If you think you need an accommodation for a disability or learning difference, please let me know as soon as possible. Some aspects of this course may be modified to facilitate your participation and progress. You will need to create documentation with the Office of the Dean of Students. I will treat any information about your disability with the utmost discretion.

Academic Integrity

Cheating is bad, I think we can all agree to that. The less acknowledged truth is that it’s not even worth it. Cheating cheapens the value of your work and everyone else’s, and a single violation can literally ruin your entire academic and professional career. Please remind yourself of the Bates College policy on academic integrity 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. In my experience, violations of academic integrity are acts of desperation. If you are ever feeling desperate enough that a few extra points in this course seem to be worth risking so much, please consider talking to someone first — that could be me, a friend, or even someone at CAPS. I want you to succeed, and am happy to talk to you if you are feeling undue pressure from this course or anything else.

Late work

The following policies apply to the following course components:

  • Daily work including pre-class work (Perusall readings and pre-class questions) and post-class work cannot be made up. Your two lowest grades will be dropped to account for any personal emergencies.
  • While most labs will be completed in the time allotted for lab, you have until one week after a lab to complete the work. Labs turned in after this time will receive 50% credit.
  • Given the interdependent nature of the project, it is essential that your colleagues receive your chapter drafts and reviews on time. Please see Michelle right away if any situations arise that make this difficult.
  • Late final drafts will be subject to a 10% loss of points per day. In other words, a project 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. Similarly, if I test positive for Covid-19, have symptoms of Covid-19, or need to quarantine after spending time with someone who tests positive for Covid-19, the class will temporarily be moved to remote format via Zoom.

Course Calendar

 

Week 1: September 7 - 9

Lab: None
Chapter preferences: Due September 8 at 11:59p
Critiques due: None
Rubrics due: None
Drafts due: None
Peer reviews due: None
Final drafts due: None

September 8: Introduction to Computational Neuroscience

To read before class:

  • Nothing

Pre-class question:

  • None

Post-class question:

Week 2: September 12 - 16

Lab: Introduction to Python, part 1
Critiques due: What is computational neuroscience? September 14 11:59p
Rubrics due: What is computational neuroscience? September 16 11:59p
Drafts due: None
Peer reviews due: None
Final drafts due: None

September 13: What is computation?

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

September 15: What is computational neuroscience?

To read before class:

Pre-class question:

Post-class question:

Week 3: September 19 - 23

Lab: Introduction to Python, part 2
Critiques due: Python September 21 11:59p
Rubrics due: Python September 23 11:59p
Drafts due: None Peer reviews due: None
Final drafts due: None

September 20: Meat circuits: How an electrical engineer sees a neuron, part 1

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

September 22: Meat circuits: How an electrical engineer sees a neuron, part 2

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

Week 4: September 26 - 30

Lab: Integrate and Fire
Critiques due: None
Rubrics due: None
Drafts due: What is computational neuroscience? & Python September 30 11:59p
Peer reviews due: None
Final drafts due: None

September 27: Integrate and fire model

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

September 29: Voltage-gated ion channels

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

Week 5: October 3 - 7

Lab: Hodgkin and Huxley Model
Critiques due: Passive membrane models October 5 11:59p
Rubrics due: Passive membrane models October 7 11:59p
Drafts due: None
Peer reviews due: What is computational neuroscience? & Python October 7 11:59p
Final drafts due: None

October 4: Hodgkin and Huxley Model

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

October 6: What is the neural code?

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

Week 6: October 10 - 14

Lab: Firing rates
Critiques due: Hodgkin and Huxley October 12 11:59p
Rubrics due: Hodgkin and Huxley October 14 11:59p
Drafts due: Passive membrane models October 14 11:59p
Peer reviews due: None
Final drafts due: What is computational neuroscience? & Python October 14 11:59p

October 11: Neural firing rates and rate codes

To read before class:

  • Gerstner & Kistler (2002) “Rate Codes” from Spiking Neuron Models. Single Neurons, Populations, Plasticity

Pre-class question:

Post-class question:

Optional supplementary videos:

October 13: Spike train statistics: quantifying what neurons ‘say’

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

Week 7: October 17 - 21

Lab: None
Critiques due: Firing rates October 18 11:59p
Rubrics due: Firing rates October 18 11:59p
Drafts due: Hodgkin and Huxley October 21 11:59p
Peer reviews due: Passive membrane models October 21 11:59p
Final drafts due: None

October 18: Spike-triggered average: what caused the neuron to fire?

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

October 20: Fall break

Week 8: October 24 - 28

Lab: Reverse correlation
Critiques due: None
Rubrics due: None
Drafts due: Firing rates October 28 11:59p
Peer reviews due: Hodgkin and Huxley October 28 11:59p
Final drafts due: Passive membrane models October 28 11:59p

October 25: Spike-triggered average (con’t)

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

October 27: McCulloch Pitts neurons

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

Week 9: October 31 - November 4

Lab: Linear algebra
Critiques due: Reverse correlation November 2 11:59p
Rubrics due: Reverse correlation November 4 11:59p
Drafts due: None
Peer reviews due: Firing rates November 4 11:59p
Final drafts due: Hodgkin and Huxley November 4 11:59p

November 1: Perceptron learning algorithm

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

November 3: Perceptron learning algorithm, con’t

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

  • None

Week 10: November 7 - 11

Lab: Neural networks
Critiques due: None
Rubrics due: None
Drafts due: Reverse correlation November 11 11:59p
Peer reviews due: None
Final drafts due: Firing rates November 11 11:59p

November 8: Feedforward neural networks

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

November 10: Backpropagation

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

Week 11: November 14 - 18

Lab: None
Critiques due: None
Rubrics due: None
Drafts due: None
Peer reviews due: Reverse correlation November 18 11:59p
Final drafts due: None


November 15: Theory of supervised learning

To read before class:

Pre-class question:

Post-class question:

  • No post-class form – have a happy Thanksgiving break!

Optional supplementary videos:

November 17: No class: MRG away

Week 12: November 21 - 25

Lab: None
Critiques due: None
Rubrics due: None
Drafts due: None
Peer reviews due: None
Final drafts due: None

Week 13: November 28 - December 2

Lab: Decoding
Critiques due: None
Rubrics due: None
Drafts due: None
Peer reviews due: None
Final drafts due: Reverse correlation December 2 11:59p

November 29: Neural decoding

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

December 1: Case studies in neural decoding

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

Week 14: December 5 - 9

Lab: Representational Similarity Analysis
Critiques due: None
Rubrics due: None
Drafts due: None
Peer reviews due: None
Final drafts due: None

December 6: Representational similarity analysis

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

  • None

December 8: Final project presentation and celebration

To read before class:

Pre-class question:

Post-class question:

Optional supplementary videos:

  • None.