Teaching




10701 Introduction to Machine Learning (PhD)
SPRING 2020, SPRING 2019

Carnegie Mellon University
Spring 2020 Spring 2019

Machine learning studies the question "How can we build computer programs that automatically improve their performance through experience?" This includes learning to perform many types of tasks based on many types of experience. For example, it includes robots learning to better navigate based on experience gained by roaming their environments, medical decision aids that learn to predict which therapies work best for which diseases based on data mining of historical health records, and speech recognition systems that learn to better understand your speech based on experience listening to you.

This course is designed to give PhD students a thorough grounding in the methods, mathematics and algorithms needed to do research and applications in machine learning. Students entering the class with a pre-existing working knowledge of probability, statistics and algorithms will be at an advantage, but the class has been designed so that anyone with a strong numerate background can catch up and fully participate.




10718 Data analysis
FALL 2019

Carnegie Mellon University
Class website

In this course students will gain exposure to practical aspects of machine learning and statistical data analysis. Through a series of case studies of real problems, students will learn to appreciate the intricacies involved in the practical application of machine learning. The course will focus on formalizing research questions, data exploration, identifying potential pitfalls, using machine learning for science and decision making, reproducibility and fairness. The outcome of the course will be a write up of the various case studies that will be shared between all students and possibly posted online (subject to agreement between students).




L&S 88-5 Data Science for Cognitive Neuroscience
FALL 2016 & SPRING 2017

Joint teaching with Fatma Deniz and Mark Lescroart in SPRING 2017
and with Fatma Deniz and Chris Holdgraf in FALL 2017
University of California, Berkeley
Class website with course material (in form of Jupyter notebooks) 2016 version

The human brain is a complex information processing system and is currently the topic of multiple fascinating branches of research. Understanding how it works is a very challenging scientific task. In recent decades, multiple techniques for imaging the activity of the brain at work have been invented, which has allowed the field of cognitive neuroscience to flourish. Cognitive neuroscience is concerned with studying the neural mechanisms underlying various aspects of cognition, by relating the activity in the brain to the tasks being performed by it. This typically requires exciting collaborations with other disciplines (e.g. psychology, biology, physics, computer science).

You should take this course if you’re interested in how the brain works and how you can use cutting edge brain imaging and data analysis tools to study it. During this course, you will learn tools based on the python programming language to understand, manipulate, and explore human brain recordings (such as ECoG, EEG, MEG and fMRI). You will learn to formulate hypotheses about how the brain represents information and then test these hypotheses using real world data. You will learn useful analysis methods to help you derive conclusions from brain recording data.

By giving you first hand experience in data analysis of brain data, this course will provide you an insight into the experiments and data used in the cognitive neuroscience field. It will allow you to build a better understanding of the current cutting edge research in cognitive neuroscience. Hence, you will be able to keep up with recent advances in this field and/or will be able to apply your knowledge by doing research here at Berkeley. Additionally, the data analysis techniques and the investigation approaches that you will learn will be easily transferable to research in other disciplines.