Teaching

Dynamical Systems and Control (Math 4/510 – Fall, 2024)

This course introduces the mathematics of control theory, which provides a framework for controlling dynamical systems such as bicycles and robots in optimal ways. To develop control theory, we introduce and make use of tools from dynamical systems theory, calculus of variations, and stochastic processes. Demonstration code, homework assignments, and the syllabus from the course are available here: https://github.com/murray-lab/control

Statistical Learning (Math 607 – Winter, 2022; Winter, 2024)

This course covers statistical and machine learning theory using foundational approaches. Topics include probability theory, regression, classification, kernel methods, mixture models and expectation maximization, as well as inference for sequential data using hidden Markov models and linear dynamical systems. Demonstration code, homework assignments, and the syllabus from the course are available here: https://github.com/murray-lab/statistical-learning

Analysis of Neural Data (Biology 4/530 – Spring, 2021; Spring, 2023)

This course introduces students to Python for scientific computing and to concepts from statistics that are relevant for data analysis, applying all of this to analyzing real neuroscience data from publicly available datasets. Demonstration code, homework assignments, and the syllabus from the course are available here: https://github.com/murray-lab/analysis-of-neural-data

Scientific computing with Python

Here is a tutorial introducing Python for scientific computing, written for students with no prior coding experience. Reading this and doing the exercises will give students a sufficient background to start writing their own code, analyzing data, and making plots: https://github.com/murray-lab/python-intro