Teaching
Courses I have taught at the University at Buffalo, with full lecture notes and materials.
A collection of courses I have led, spanning core areas of AI in the Computer Science and Engineering department. For best readability, view the course materials on a desktop browser.
Algorithm Analysis & Design
Asymptotic analysis, divide-and-conquer, greedy, DP, graphs, NP-completeness, approximation.
Intro to Pattern Recognition
Statistical foundations of pattern recognition — Bayes decision theory, parameter estimation, classification.
Intro to Machine Learning
First course in ML — supervised & unsupervised learning, neural networks, regularization, model evaluation, with Python / scikit-learn / PyTorch.
Deep Learning
Neural networks from the ground up: optimization, CNNs, RNNs, GNNs, with expanded notes from Dive into Deep Learning.
Basics of Artificial Intelligence
Hands-on introduction to PyTorch — tensors, workflows, classification, computer vision, custom datasets.