Learning is essential for many real-world tasks, including recognition, diagnosis, forecasting and data-mining. This course provides a broad overview of topics in machine learning, from foundational methods for regression, classification and dimensionality reduction to more complex modeling with neural networks. It will also provide the formal foundations for understanding when learning is possible and practical. Credit cannot be obtained for both CMPUT 466 and 566.