Introduction to Neural Coding and Computation
AMATH 342
Instructor 

Eric SheaBrown 
325 Lewis Hall 
Office hours: Thurs 910 
TA 

Tony Bigelow 
*New location* Health Sciences Building, 3rd floor Magnuson Health Sciences Building 
Office hours: Monday 12 Weds 35 Thurs 45 Friday 34 
NOTE: Please bring a laptop to class for interactive work (see computing notes below).
Required text: "An Introductory Course in Computational Neuroscience" by Miller.
Recommended supplemental text: "Theoretical Neuroscience" by Abbott and Dayan.
Optional additional MATLAB reference: A student's guide to MATLAB for physical modeling. .pdf provided openly by authors Philip Nelson and Tom Dodson.
For those wanting another, sometimes more mathematical reference with all the derivations, Mathematics for Neuroscientists by Gabbiani and Cox is a wonderful place to head.
Codes and data for lectures, lab exercises, and HW
** See canvas site for HW, quizzes, and discussion board; the rest is here!**
Syllabus, supplemental slides, and readings
(1) Neural coding  response statistics and signal decoding Weeks 14: TOPICS
 Introduction to neurons and spike trains
 Tuning curves
 Introduction to probabilty
 Neural responses and response variability
 Response to highdimensional stimuli: spike triggered averages and effective filters
 The decoding problem, maximum likelihood and signal detection solutions
 Higher, and hierarchical, signal encoding
PROGRAMMING SKILLS:(2) Models of neuron spiking and feature "selection" and coding
 MATLAB overview
 Vectors, Matrices
 Loops and logic
 Random numbers + very basic stats
 Plotting, visualization
READINGS: Miller: Sections 1.1, 1.2, 1.4.2, 1.4.3, 3.1, 3.3, and remainder of Ch. 3 (in that order)
CLASS MATERIALS:
Weeks 12:
 Slideset 1
 Rough handwritten class notes on probability and the poisson process
 Our MATLAB tutorial. Make sure you can do and understand all exercises in this, as is crucial for rest of class  refer to Nelson guide (esp. Ch. 13, 5.15.3) and ASK US!
 Slideset 2.
Week 34:
Slideset on visual representations. Slideset on neural decoding and variability. Rough handwritten notes on fano factor, balanced inputs, and maximum likelihood decoding from class. Tutorial notes and practice exercises (not due) on maximum likelihood decoding
 Week 5
 Circuit models of neurons as differential equations
 Basic numerical schemes for differential equations
 Input filters and feature selection
 Conductance and current based models for neural inputs
 HodgkinHuxley and reduced models for neural spiking
 Numerical integration in MATLAB
 Solving single and systems of differential equations
 Required: Miller: 1.4.1 and 1.6. 2.1 and 2.2. 4.1, 4.2.1, and 4.2.2
 Handwritten notes on membranes and voltage response
 Slides on active conductances, HH models and simplifications, and bursting
 Supplemental papers from literature: Paper "Computation in a Single Neuron: Hodgkin and Huxley
Revisited," Aguera y Arcas, Fairhall, Bialek, Neural Computation 2003  Look over these papers, as examples of how ion channel makeup drives single neuron dynamics!
 Prinz et al, 2004
 Gjorgjieva, Drion, Marder, Computational implications of ion channel diversity 2016
PROGRAMMING SKILLS
READINGS
 Weeks 67
 Introduction to Python
 The Allen Brain Observatory
 Weeks 810
 Synaptic models
 Shortterm synaptic plasticity
 Facilitation, depression, and the TsodyksMarkram model
 The perceptron and deep(er) neural networks
 Computational vision

Course structure and grading
Course grades (80%) are based on several extensive Problem Sets handed out in class and due on select Mondays at the start of class. These Sets will combine programming, analytical work, and scientific reasoning. Additionally, very brief inclass quizzes will account for 20% of the grade (example quiz).Important formatting instructions: in your writeup please present all material for a given problem together  e.g. under "Problem II" you'd have any and all code that you used for that problem, a written answer (i.e., "the dominant eigenvalue is 0.921"), plots that explain and back up your findings and answers, and any analysis. Then we'd go to the next problem. (Not stapling all code for all problems together as an appendix at the end.) You may find the publish(code.m) command in MATLAB helpful. You can print out your codes and plots and intermingle this with handwritten answers and explanations, or, again, some have found the MATLAB "publish" function handy. Late policy: In extenuating circumstances contact instructors.
READINGS:
 download higham_macmillen_python_tutorial.ipynb from the link "Codes and data for lectures and lab exercises" above
 RECOMMENDED: Install python via the anaconda distribution (give this a quick google, and you'll get to a clickable installer for your machine), and run this on your own laptop. This will open a “jupyter” ipython notebook. Work through it, clicking in each cell and then hitting shiftclick (or cell —> run from top menu).
 OR the directions below give on way to to run remotely that may still work:
 go to cocalc.com and make a new account
 title the project "python tutorial," hit create project
 click on the project name
 upload higham_macmillen_python_tutorial.ipynb
 click files at the top
 click on higham_macmillen_python_tutorial.ipynb
 This will open a “jupyter” ipython notebook. Choose the python 2 sagemath kernel from the kernel menu. Then work through the notebook, clicking in each cell and then hitting shiftclick (or cell —> run from top menu).
Computing
In this course, we will make extensive use of the Matlab ( The MathWorks, Inc) programming language.It is very highly recommended to buy a student edition of MATLAB for use on your own laptop, and to bring this laptop to class. If you are borrowing a laptop for class, you can access MATLAB online via a browser, after purchasing a student copy.
There is also access to MATLAB at the ICL labs on campus. Octave presents a free alternative as well, but please note that we don't have the resources to support the quirks and incompatabilities that may well arise.