University at Buffalo
Teaching
Graduate courses I have led at the University at Buffalo, with full lecture notes, slides, and schedules.
Since 2023 I have taught five graduate courses at UB, for more than 300 students in total. Each course pairs the mathematical foundations with hands-on implementation in Python and PyTorch, and every course page below has the complete schedule, lecture notes, and slides.
Course materials are best viewed on a desktop browser.
- Courses
- 5
- Students
- 300+
- Mentees
- 20+
-
Intro to Pattern Recognition
Statistical foundations of pattern recognition taught through the original papers — from Bayes decision theory to modern vision and Transformer models.
Syllabus & materials -
Algorithm Analysis & Design
Asymptotic analysis, divide-and-conquer, greedy, dynamic programming, graphs, NP-completeness, and approximation.
Syllabus & materials -
Basics of Artificial Intelligence
A hands-on introduction to modern AI in PyTorch — tensors, training workflows, classification, computer vision, and custom datasets.
Syllabus & materials -
Deep Learning
Neural networks from the ground up — optimization, CNNs, RNNs, and GNNs — with expanded notes from Dive into Deep Learning.
Syllabus & materials -
Intro to Machine Learning
Supervised and unsupervised learning, neural networks, regularization, and model evaluation with Python, scikit-learn, and PyTorch.
Syllabus & materials
Guest lectures and workshops on deep learning, LLMs, and applied AI are available on request — write to me.