Notes, assignments, and code for NEUROBIO 735 (Spring 2025).
1/9 – 4/15:
Tuesday, Thursday
3:00 – 4:30
301 Bryan Research Building
Before we get going on our first week of class, let’s talk about how we’re going to do this:
The goal of the course is to give you a sampler of techniques and ideas in quantitative neurobiology, which we consider to encompass computation, data analysis, modeling, and theory. The course is divided into three main sections (with a final week for project presentations):
Introduction to programming (1/9 – 1/30): There are several good options here, but we’ll be using Python. More on details below, but we will not assume prior programming experience.
Analyzing neural data (systems) (2/4 – 3/6): The goal here is to get you comfortable using programming to explore, visualize, analyze, and model several types of data generated by neuroscience experiments.
Analyzing neural data (cellular/molecular) (3/18 – 4/15): Here, we’ll use R to analyze data from cellular and molecular neuro experiments.
Class will be in person in 301 Bryan.
This year, we will encourage you to use Google Colab for your assignments. This has the advantage of standardizing our Python environment and allowing you to easily share assignments for grading. If you prefer to use a local machine, that’s fine; please just discuss with us in advance, since we can’t necessarily provide support to debug your setup. Colab uses a variant of Jupyter Notebooks, which are covered in the Python Data Science Handbook, but we will also cover the basics of navigating this in our first class.
We will have both in-class work and assignments. You are allowed to work collaboratively on homework, but your write-ups must be done independently. Please also note everyone you worked with when turning in your assignments.
Solutions should be submitted as saved Jupyter Notebooks or R Markdown. We’ll tell you where to put these and how to name them.
Solutions are due before class on Tuesdays (3pm EST). Given how difficult a period this is, we can work with you if something unexpected occurs, but we need to know in advance. Please help us help you. We can’t release solutions until we have everyone’s assignments turned in.
For the first several weeks of class, we’ll be offering a crash course in basic Python covering A Whirlwind Tour of Python, transitioning to the Python Data Science Handbook. This will be basic and focused on students who have limited programming background. This is purely optional. Those of you who are already comfortable with programming do not need to attend, though you will be responsible for the material. I will also be working with the TAs to set up additional help during this period for those who would like it.
This second phase of the course will cover five weeks and will focus on analyzing real neuroscience data sets.
I will not be lecturing. At least, not much. Most of what we’ll cover isn’t really learned effectively that way, so we’ll use our class time to complete programming and data analysis exercises that build on the basic Python knowledge you gained by reading A Whirlwind Tour of Python.
Each week, we’ll do two sessions of in-class assignments, for which you’ll be encouraged to work with a partner. The weeks are organized around both data and programming themes, and the in-class assignments often build on one another. After class is done for the day, we’ll post links to solutions. Typically, we’ll be walking you through an example analysis, with the goal of setting you up for the homework.
You are responsible for reading through the Python Data Science Handbook. I will try to (roughly) have assignments keep pace with the material in the book, but this will be loose.
You are also responsible for checking this website. All class materials will be posted here, as well as changes and corrections to homework assignments.
Please make use of the TAs and their office hours. I am also glad to help. If something is confusing with the assignments, the fault is probably mine, and you’re probably not alone. If you alert me early, we can probably fix it.
This will change as we go along, but in order to help you get started, here’s our tentative plan:
Date | Topic | Exercises | Reading |
---|---|---|---|
1/9 | Housekeeping, accessing computing, advanced Googling | WWTP Ch. 1 – 6 | |
1/14 | What can Python do? | NMA tutorial 1 NMA tutorial 2 | WWTP Ch. 7 – 8 |
1/16 | Data structures, iteration | notebook | WWTP Ch. 9 – 12 |
1/21 | Patterns, functions, duck typing | notebook | PDSH Ch. 1 |
1/23 | NumPy and arrays | notebook | PDSH Ch. 2 |
1/28 | Data frames | notebook | PDSH Ch. 3 |
1/30 | Plotting | Seaborn tutorials Matplotlib tutorials | PDSH Ch. 4 |