Harvard Neuro 140 | 240
spring 2025
Biological and Artificial Intelligence
Seminar style course which provides a foundational overview of key ideas in Artificial Intelligence, Computational Neuroscience, and the study of Natural Intelligence.
Main faculty: Gabriel Kreiman
First day of class: Jan 28, 2025 3pm
What is this course about?
This is a seminar-style course that provides a foundational overview of key ideas in Computational Neuroscience and the study of Biological Intelligence. At the same time, the course will connect the study of brains to the blossoming and rapid development of ideas in Artificial Intelligence. Topics covered include the biophysics of computation, neural networks, machine learning, bayesian models, theory of learning, deep convolutional networks, generative adversarial networks, neural coding, control and dynamics of neural activity, applications to brain-machine interfaces, connectomics, among others. Lectures will be taught by leading Harvard experts in the field.
Faculty include: Andrei Barbu, Richard Born, Boaz Barak, Jan Drugowitsch, Sam Gershman, Gabriel Kreiman, Cengiz Pehlevan, Haim Sompolinsky, Tomer Ullman, and more.
Class information
04
Reading materials
Recommended reading materials for each class
Class information
09
Meeting times and location
Spring term. Tuesdays 3pm to 5pm
Northwest B1011
See also tutorial sessions and office hours
Announcements
Jan
28
First class
Northwest B101
jan
28
Introduction to biological and artificial intelligence
Presented by Prof. Gabriel Kreiman
feb
04
Biological and artificial vision
Presented by Prof. Richard Born
Hello world
Suggested books
There is no official book for the class. Here are some interesting books that touch upon some of the topics covered in class.
Biological and computer vision
Gabriel Kreiman. Cambridge University Press 2021.
Deep learning
Ian Goodfellow, Yoshua Bengio, Aaron Courville. MIT Press 2016
Visual cortex and deep networks
Tomaso Poggio and Fabio Anselmi. MIT Press 2016
Academic Integrity Policy
Discussion with other students and with people outside the class is permitted throughout the course. Students can also utilize any relevant material from the library or the web. Students must adequately cite any material that they use. Students must adequately cite any material that they use.
Each student must work on his/her own project. No two projects can be identical. There can be no group projects. All work should be entirely the student’s own work. The use of textbooks, books, articles, and web resources is encouraged.
The final write-up has to be exclusively the work of the student. If material is reported from other sources, it should be reported as a quote and cited. Projects involving code and algorithms can use existing code from public repositories. Any such code should be adequately cited. All code used in any models or simulations should be turned in accompanying the final report.
Large language models (LLMs): Students can use large language models. There are two critical requirements when using LLMs: (1) They must cite what they use, including versions, and prompts. (2) The content is the student’s responsibility (if the assignment is wrong, they cannot blame the LLM).
Contact information and office hours
Gabriel Kreiman
Main faculty
gabriel.kreiman@tch.harvard.edu
Office hours [online]:
Tuesdays 11AM-12PM
Click here to book an appointment
Dianna Hidalgo
Teaching Assistant
diannahidalgo@g.harvard.edu
Office hours:
Tuesdays 1:30 – 2:30pm
Northwest 243
Valerio Pepe
Teaching Assistant
valeriopepe@college.harvard.edu
Office hours:
Wednesdays 4-5pm
Northwest 243
TBD
Teaching Assistant
Frequently Asked Questions
I do not have any coding experience. Can I still take the class?
We do not recommend taking this class if you have never done any coding before. If you are comfortable with coding (any language), then you should be fine. But we are not going to be teaching how to code in this course. You can browse through the first tutorial, which should be simple, as an indication of the starting point that we expect students to have before the class.
Related to the previous question, to prepare for the class, how do I learn how to code?
There are many ways to learn how to code. Harvard CS50 is a great course. Alternatively, many people learn how to code on their own online. There are many resources to learn how to code online. If you have to pick a programming language, we recommend that you learn Python, which is the main language for Machine Learning these days.
Can I use the research that I did last semester in a lab as my project for Neuro 140/240? Can I use my current research in a lab as my project for Neuro 140/240?
No. To be fair to all students, you must produce work that was done specifically for Neuro 140/240. Some students choose a project that is an extension or a variation of research that they have done in the past or are currently pursuing in a lab. This is acceptable, as long as there is clear separate work done for Neuro 140/240.
Can I use large language models (LLMs)?
Yes, you can. There are two requirements. (1) You have to cite and explain what you did, including prompts, specific LLMs, and how they were used. (2) You are responsible for all your work, even if it was done by using a LLM. For example, if you write an answer and the answer is wrong, this is your problem, you cannot blame the LLM. If you present code and the code does not work, you are responsible, not the LLM.
I have an idea for a project that is different from the ones listed on the class website. Can I pursue my own project?
In principle, yes. Pursuing your own project requires approval by the TAs and Prof. Kreiman. The project must be: (1) related to the topics in the class, (2) non-trivial, (3) doable (with reasonable data sources, computational resources, etc.). Please connect with the TAs and Prof. Kreiman to discuss your idea.
Will I be required to do an in-person project presentation to the class?
Everyone will be required to do an in-person project presentation. See the class schedule for dates.
What happens if I am late for an assignment?
Every student will be granted a total of 3 “flex” days. You can use those 3 days in whatever way you want. E.g., you can be late for one assignment 3 days, or one assignment 1 day and another one 2 days. Beyond that, one point will be deducted from the total for every day that you are late, until you reach a minimum of 0. No student will get a negative grade for an assignment, but you can get a 0, depending on how late you are.
I do not have any experience with Neuroscience. Can I still take the class?
Yes, you can. Many lectures will be focused on Computer Science, and other lectures will be at the intersection of Computer Science and Neuroscience. Having a basic knowledge of Neuroscience will help you understand and appreciate many of the lectures better. But you can still thrive in the class if you have never taken any Neuroscience-related classes.
I do not have any experience with Machine Learning. Should I take the class?
We do not expect students to have experience with Machine Learning. If you do have ML experience, several tutorials will be particularly easy and you will be able to work on more advanced projects. The tutorials in the first couple of weeks are meant to bring students up to speed with basic aspects of ML and neural networks.
Can I work on my project with another student?
No. Projects should be individual.
What is the difference between Neuro 140 and Neuro 240?
There is no difference. Some graduate programs do not allow students to take 100-level courses so we need to name the class 200-level. Some undergraduate students are intimidated by a 200-level class, so we kept the original 100-level nomenclature as well. The class requirements and evaluation will be the same for students taking Neuro 140 or Neuro 240.
The lectures overlap with my other activities. Is it ok if I skip the lectures?
As explained in the rubrics and syllabus, class participation is part of the grade. If you do not participate in class, then you will not get credit for class participation.
Would I be able to publish the results of my research project in the class?
Yes. Many students in previous years have published papers inspired by the work they did in the class. In many cases, this required additional work beyond the class. Whatever work you do in class is your work and you are welcome to publish it. The TAs and faculty would be happy to talk to you, provide advice, and help with this process. However, this is not a requirement to pass the class.
Is attendance at the tutorials mandatory?
No, it is not. We strongly encourage everyone to attend the tutorials, which are there to help with a lot of the materials, code, and algorithms that you will be using for the projects. However, if you think that you can complete all the homework and work on your project without attending the tutorials, they are not mandatory.
Will the lectures be recorded?
We are not going to record the lectures this year.
Require further clarification?
Can’t locate the information you need?