Teaching
Current Courses
-
CMSC 422: Introduction to Machine Learning
Graduate Teaching Assistant
Fall 2026 - Prof. Mohammad Nayeem Teli
Past Courses
-
CSCI 5521: Machine Learning Fundamentals
Undergraduate Teaching Assistant
Spring 2026 - Prof. Yoga Varatharajah -
CSCI 5541: Natural Language Processing
Undergraduate Teaching Assistant
Fall 2025 - Prof. Dongyeop Kang
Resources
-
Recommended References
The list below includes select books related to artificial intelligence, machine learning, deep learning, reinforcement learning, Bayesian optimization, and related topics that have been rather useful.-
Pattern Recognition and Machine Learning
Christopher Bishop (2006)
Comprehensive introduction to pattern recognition and machine learning topics including linear models, neural networks, kernel methods, graphical models, and more. -
Deep Learning: Foundations and Concepts
Christopher Bishop and Hugh Bishop (2024)
Breaks down the immense number of research works in machine and deep learning into components that effectively form the foundational building blocks of deep learning. Includes discussion of single- and multi-layer networks, backpropagation, regularization techniques, transformers, and more. -
Mathematics for Machine Learning
Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong (2020)
Provides a thorough, beginner-friendly introduction of the mathematics that define "machine learning" from the ground-up. The book is divided into two parts with the first focusing on mathematical foundations and the second on classical machine learning techniques. -
Roman Garnett (2023)
Presents the Bayesian optimization paradigm from start-to-finish by defining each component of the approach, key design choices, and discussion of implementation details to go from theoretical to practical usage. -
Ian Goodfellow, Yoshua Bengio, and Aaron Courville (2016)
Introduces the mathematical frameworks used to define machine learning and extends it to explore topics within deep learning including deep networks, optimization for training deep models, convolutional and sequential networks, practical considerations, representation learning, inference, and more. -
The Elements of Statistical Learning
Trevor Hastie, Robert Tibshirani, and Jerome Friedman (2009)
Gives a statistical treatment of supervised and unsupervised learning techniques with emphasis placed on methods and concepts which define them. Topics include linear methods, kernel methods, model selection and evaluation, tree methods (incl. additive and boosting techniques), forests, ensemble methods, and more. -
An Introduction to Statistical Learning
Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, and Jonathan Taylor (2023)
Gives a statistical treatment of supervised and unsupervised learning, similar to that of The Elements of Statistical Learning but in a broader and less technical format to reduce the mathematical prerequisites required by the aforementioned text. Includes practical examples in Python and R. -
Jorge Nocedal and Stephen Wright (2006)
Introduces the fundamental methods which form the field of numerical optimization, namely unconstrained and constrained optimization techniques including line search methods, trust region methods, quasi-Newton methods, derivative-free methods, linear and quadratic programming, and more. -
Gaussian Processes for Machine Learning
Carl Rasmussen and Christopher Williams (2008)
Presents the mathematical underpinnings of a key approach within Bayesian machine learning and optimization to learn a distribution of functions via a stochastic process which follows a form of the Gaussian distribution. Topics include practical applications such as regression and classification, covariance functions and kernels, approximation methods to scale to large datasets, and more. -
Mathematical Statistics and Data Analysis
John Rice (2007)
Comprehensive reference text for data analysis which is interwoven with the field of statistics, often used as the textbook in many statistics courses. Topics include probability, random variables, joint distributions, expected values, limit theorems, distributions, experimental design, estimation techniques, hypothesis testing methods, data summarization and comparison methods, and more. -
Artificial Intelligence: A Modern Approach
Stuart Russel, Peter Norvig, and Ernest Davis (2010)
A traditional treatment of artificial intelligence where the underlying theme revolves around the definition of an "intelligent agent". Topics include problem-solving and search methods, reasoning and planning techniques, uncertainty quantification and reasoning, learning methods, and how agents communicate, perceive, and act in their environments. -
Reinforcement Learning: An Introduction
Richard Sutton and Andrew Barto (2018)
Provides an introduction to core online learning techniques for reinforcement learning that covers topics including bandit problems, Markov decision processes, dynamic programming, Monte Carlo methods, approximate solution methods, and connections to other disciplines and practical applications.
-
-
Useful Websites
This list below are various sites/repositories that present or provide useful resources.- A useful service (with generous free and academic tiers) for tracking and evaluating experiments in the domains of artificial intelligence, machine learning, deep learning, and more.
- An evolving guide of design patterns in Python; useful for learning to write clean, structured Python code.
- A GitHub repository containing topic-centric high-quality public data sources.