Teaching
Spring 2025: EN.553.744 – Data Science Methods for Large-Scale Graphs (new class!)
This graduate course introduces mathematical and computational methods for analyzing graph-structured data at scale. Topics span graph signal processing, graph neural networks (GNNs) and their theoretical properties, graphon theory and transferability, and scalable training techniques for large graphs. Students engage with both foundational theory and practical implementation using PyTorch and PyTorch Geometric.
Lectures
Lectures 1–10 cover graph signal processing, graph Fourier transforms, graph filters, multilayer GNNs, spectral clustering, and stochastic block models. Lectures 11–20 build toward expressivity and stability of GNNs, Lipschitz filter design, graphon models, and convergence and transferability results. Lecture 21 introduces generative models for graphs, including GraphRNNs, and graph transformers.
Below is a list of handwritten lecture notes, Colab notebooks, and lab assignments.
| Lecture | Description | Notes |
|---|---|---|
| Lecture 1 | Intro to GSP; graph diffusion processes; graph Laplacian and graph frequencies | |
| Lecture 2 | Interpretation of Laplacian; total variation energy; graph Fourier transform | |
| Lecture 3 | Graph convolutions and their theoretical properties | |
| Lecture 4 | Filter design, ERM on graphs, types of graph learning problems | |
| Lecture 5 | Graph perceptrons, multi-layer perceptrons, full-fledged GNNs | |
| Lecture 6 | Stochastic block model; spectral clustering; GNNs for detecting communities | PDF, Colab |
| Lecture 7 | Community detection miscellanea; sparse matrix multiplications | PDF, HW1 |
| Lecture 8 | MPNN, GCN, ChebNet, GraphSAGE are all convolutional GNNs | |
| Lecture 9 | GAT; expressivity in graph-level tasks; graph isomorphism and WL test | PDF, Colab |
| Lecture 10 | Expressivity continued and GIN | |
| Lecture 11 | Limitations of WL test and GIN; white inputs for improved expressivity | PDF, Colab |
| Lecture 12 | Stability of GNNs to graph perturbations | |
| Lecture 13 | Perturbation types; Lipschitz and integral Lipschitz filters | PDF, HW2 |
| Lecture 14 | Graphons and homomorphism densities | |
| Lecture 15 | Cut norm and convergence to graphons | |
| Lecture 16 | Graphon signal processing: Fourier transform | PDF, Colab |
| Lecture 17 | Graphon signal processing: convolutions | |
| Lecture 18 | Convergence of graph convolutions | |
| Lecture 19 | Non-asymptotic convergence and transferability | |
| Lecture 20 | Transferability rates and learning by transference | PDF, HW3 |
| Lecture 21 | Graph generative models and graph transformers |
Spring 2024: EN.553.439/639 – Time Series Analysis
This course introduces methods for analyzing and forecasting time series data, including autoregressive (AR), moving average (MA), ARMA, ARIMA and seasonal models. Applications include finance, climate science, and engineering. Materials based on “Time Series Analysis with Applications in R” by Cryer and Chan, and on previous iterations taught by Dr. Fred Torcaso and Dr. Sergey Kushnarev.
Fall 2023 and 2025: EN.553.413/613 – Applied Statistics and Data Analysis
Co-taught with Dr. Sergey Kushnarev (2023) and Dr. Kaiying O’Hare (2025). This course provides a practical introduction to statistical modeling and inference, covering linear regression, hypothesis testing, ANOVA, and non-parametric methods. Students work with real datasets and statistical software for data-driven decision making. Materials based on “Applied Linear Statistical Models” by Kutner, Nachtsheim, Neter and Li.