Organization of synaptic connectivity as the basis of neural computation and learning. Perceptrons, convolutional nets, and recurrent nets. Backpropagation and Hebbian learning. Engineering applications including computer vision and natural language processing.


  • Two 80 minute lectures and one precept per week.
  • Grades (A-F) will be based on class participation (5%), problem sets (25%), midterm (30%), and final exam (40%).
  • Participation includes speaking up in lecture and precept.
  • Participation also includes activity on Piazza—ideally asking good questions, giving good answers, and upvoting others’ contributions.


  • Familiarity with linear algebra.
  • Basics of optimization and probability theory.
  • Knowledge of Julia or Python (or willingness to learn).


Prof. Sebastian Seung will lecture twice a week.


Alex Beatson, Donghun Lee, Qipeng Liu, and Ari Seff will lead the weekly precepts.

Office Hours

There are two weekly office hours:

Online discussions

You can ask and answer questions on the Piazza site. Piazza activity counts as class participation and can enhance your grade.

Homework assignments

Homework assignments will be due on Mondays, and should be submitted at the Blackboard site. The programming component should be submitted as a Jupyter notebook, either Julia or Python. Please submit (i) the Python or Julia notebook file, and (ii) a HTML export of the notebook clearly showing all answers and plots/visualizations.