Prerequisites: ENAI600 and ENAI601 This is the equivalent of ENAI602 for Spring 2026 only).
 This course aims at providing a foundational treatment of modern machine learning at the masters level, complemented with comprehensive projects that involve implementing the state-of-the-art machine learning algorithms on several datasets. The course topics are divided into 3 categories: 1) Classics of learning, including Bayesian decision theory, maximum likelihood estimation, Fisher's discriminant analysis, nearest neighbor classification, and support vector machines, clustering and dimensionality reduction, 2) Modern approaches to learning, including neural networks, deep learning networks, generative adversarial networks, autoencoders, and transformers, 3) Engineering perspectives on learning, including the effects of quantization and hardware implementation challenges, introduction to neuromorphic hardware and learning, and introduction to secure machine learning.