Instructor: John Serences
Time/Location: 1-3:50 zoom
This course will introduce a set of commonly used data analysis methods implemented in Python using Jupyter Notebooks.
We'll start with a basic overview of the Python programming language, followed by an intro to various packages that we'll be using (NumPy, SciPy, etc).
Then we'll learn how to implement some common analysis techniques such as bootstrapping and randomizaton tests, FFT, machine learning, mutual information, KDE, basic computational models of cortical information processing and more.
At the end of the course you should have a good working understanding of Python, a set of notebooks that cover each of the topic areas so that you can apply these methods to your own data in the lab.
Each week class time will be divided into an interactive lecture where we go over a topic and write some code together to demonstrate the functionality of a package (e.g. NumPy) or to learn an analysis technique (e.g. FFT). Then you will work in groups on a problem set related to the topics covered in the course.
This class is designed to provide a low-barrier, low-stress introduction to programming. You will get out of it what you put into it. My only requirement is that you show up each week, participate in class and during group work, and turn in a zip file with your notebooks at the end of the quarter. And you are always free to work on the problem sets in groups outside of class as well (I encourage this). Last: don't worry about making mistakes! There will be lots of those this quarter and you'll see me make plenty.
-
09.27.2021 Intro to Python (iPython), Jupyter Notebooks (environment, magics, markdown), intro to basics of the language
-
10.4.2021 More on objects/data types, data structures, control flow, basic file I/O
-
10.11.2021 Intro to NumPy, advanced indexing, linear algebra, reading/writing .npy files
-
10.18.2021 Fourier transforms, practice time-frequency analysis using EEG data sets
-
10.25.2021 Filtering and time-series processing (including more advanced applications of the FFT)
-
11.01.2021 Intro to machine learning/pattern recognition (Mahalanobis Distance and Support Vector Machines)
-
11.08.2021 Non-parametric statistics (randomization testing and bootstrapping)
-
11.15.2021 Entropy/Mutual Information/Kernel Density Estimation (KDE)
-
11.22.2021 No class
-
11.29.2021 Pandas (series/dataframes), munging, basic stats