SYDE 556/750 - Simulating Neurobiological Systems

SYDE 556/750 - Simulating Neurobiological Systems

Course information for SYDE 556/750, taught Winter 2020.

SYDE 556: Simulating Neurobiological Systems

See the course outline for more information.

  • Instructor
    Andreas Stöckel
    Office: E7-6342 (office hours in E7-6323)
    Email: astoecke@uwaterloo.ca
    Website: http://compneuro.uwaterloo.ca/people/andreas-stoeckel.html

  • Course times and location

    • Tuesday: 11:30-12:50 in E5-4106 (SYDE 556/750)
    • Thursday: 9:00-10:20 in E5-6004 (SYDE 556/750)
    • Thursday: 10:30-11:20 in E5-6127 (SYDE 750, optional for 556)
  • Office hours

    • Please make an appointment by email! We can video chat using Microsoft Skype or Google Hangouts.
  • Due dates

    • Jan 30: Assignment #1 (due at midnight) (20%)
    • Feb 13: Assignment #2 (due at midnight) (20%)
    • Mar 6: Assignment #3 (due at midnight) (10%)
    • Mar 24: Assignment #4 (due at midnight) (10%)
    • Apr 2: One-page intermediate project report (due at midnight) (-10 marks if not submitted by the sharp deadline)
    • Apr 15: Final Project (due at midnight) (40%)

Lecture Notes

The in-class lecture notes will be posted here before each class.

Lecture 0 ― Administrative Remarks ― January 7

Lecture 1 ― Introduction ― January 7, 9

Lecture 2 ― Neurons ― January 9, 14

Lecture 3 ― Representation ― January 14, 16, 21

Lecture 4 ― Temporal Representation ― January 23, 28

Lecture 5 ― Feed-Forward Transformation ― January 30

Lecture 6 ― Recurrent Dynamics ― February 4, 6, 11

Lecture 7 ― Temporal Basis Functions ― February 13

Lecture 8 ― Learning ― February 25, 27; March 3

Lecture 9 ― Analysing Representation ― March 5

Lecture 10 ― Symbols and Symbol-like Representations ― March 10, 12

Lecture 11 ― The Semantic Pointer Architecture ― March 24, 26

Lecture 12 ― Biological Details ― March 31

Lecture 13 ― Conclusion ― April 2


Assignments

The four assignments will be posted here.

  • Do not copy any code from other students or online sources. You are expected to write your own code from scratch for this course.
  • Each student must write their own code and submit their own assignment.
  • Assignments are due at Midnight. The late penalty is one mark per day it is late. You may be at most seven days late.
  • Please read and follow the instructions regarding submission posted on the front page of each assignment.

Assignment 1 ― due Thursday, January 30

Assignment 2 ― due Thursday, February 13

Assignment 3 ― due Friday, March 6

Assignment 4 ― due Tuesday, March 24


Project Ideas

The final project for the course consists of picking a neurobiological system and building a model for it. There is a list of possible projects, expectations for the project and more info at this link, but is not intended to be comprehensive, so feel free to come up with your own ideas. Please have your projects approved by me by the end of Reading Week. To do so, you will need to submit a short summary of your project by Feb 24th.

Project Format

It is suggested that the project report is in the format discussed in chapter 1 of the book (see pp. 19-23; i.e., System Description, Design Specification, Implementation), see the project page for details.

The final document should be between, at least ten, and (at the very most) twenty content pages at 12pt, 1.25 line spacing. Have a look at the following project template for more information.

Update: Instead of a presentation, students are expected to provide a short, one-page "intermediate" project report by Apr 2, 2020. While this intermediate report is not marked, not submitting a report by the deadline will result in a -10 mark penalty (25% of the final project). Have a look at this document for more information.


Course Format

Two lectures per week and homework assignments consisting of computer exercises using Python. For SYDE 750 a larger class project is required, usually a computer simulation developed based on significant neuroscientific research and/or collaboration with a neurophysiologist. For SYDE 556 a class project based on an in class/text example is required. This course examines a general framework for modeling computation by neurobiological systems with an emphasis on quantitative formulations. Particular emphasis will be placed on understanding computation, representation, and dynamics in such systems. Students will learn how the fundamentals of signal processing, control theory and statistical inference, can be applied to modeling sensory, motor, and cognitive systems.


Course Prerequisites

Knowing how to program with matrices using Python or some other language is highly recommended. Familiarity with Fourier Transforms and other signal processing concepts is recommended. Familiarity with calculus and linear algebra is required.


Useful Links

Programming

  • NumPy for MATLAB users (a good quick reference for common matrix operations, comparing both Python and Matlab)

Computational Neuroscience

Neuroscience

More information