UBC CPSC 330: Applied Machine Learning (2026S1)¶
This is the course homepage for CPSC 330: Applied Machine Learning at the University of British Columbia. You are looking at the current version (May-Jun 2026).
Syllabus¶
The syllabus is available here. Please read it carefully to understand all rules and expectations of this course. The content of the syllabus is tested in a quiz, to be completed by January 12, 11:59 pm.
The teaching team¶
Instructors¶
| Section | Instructor | Contact | When | Where |
|---|---|---|---|---|
| 911 | Firas Moosvi | Ed Discussion | MWF, 10:00–12:20 | DMP 310 |
Course coordinator¶
The course coordinator for this term is: Emily Fuchs.
For any questions related to admin questions, extensions, academic concessions, etc...please reach out to Emily Fuchs as a private post on Ed Discussion.
You should include a descriptive subject as well as your CWL so we can keep track of requests.
TAs¶
License¶
© 2025 Varada Kolhatkar, Mike Gelbart, Giulia Toti
Software licensed under the MIT License, non-software content licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License. See the license file for more information.
Important links¶
Deliverable due dates (tentative)¶
TBD...
Lecture schedule (tentative)¶
Live lectures: The lectures will be in-person.
This course will be run in a semi flipped classroom format. There will be pre-watch videos for many lectures, at least in the first half of the course. All the videos are available on YouTube and are posted in the schedule below. Try to watch the assigned videos before the corresponding lecture. During the lecture, we’ll summarize the important points from the videos and focus on demos, iClickers, and Q&A.
We’ll be developing lecture notes directly in this repository. So if you check them before the lecture, they might be in a draft form. Once they are finalized, they will be posted in the Course Jupyter book.
| # | Date | Topic | Assigned videos | vs. CPSC 340 |
|---|---|---|---|---|
| 1 | May 11 | Course intro | 📹 Pre-watch: 1.0 | n/a |
| 2 | May 13 | Decision trees | 📹 Pre-watch: 2.1, 2.2, 2.3, 2.4 | less depth |
| 3 | May 15 | ML fundamentals | 📹 Pre-watch: 3.1, 3.2, 3.3, 3.4 | similar |
| 4 | May 15 | -NNs and SVM with RBF kernel | 📹 Pre-watch: 4.1, 4.2, 4.3, 4.4 | less depth |
| 5 | May 20 | Preprocessing, sklearn pipelines | 📹 Pre-watch: 5.1, 5.2, 5.3, 5.4 | more depth |
| Test 1 | May 21-23 | - | - | - |
| 6 | May 20 | More preprocessing, sklearn ColumnTransformer, text features | 📹 Pre-watch: 6.1, 6.2 | more depth |
| 7 | May 22 | Linear models | 📹 Pre-watch: 7.1, 7.2, 7.3 | less depth |
| 8 | May 22 | Hyperparameter optimization, overfitting the validation set | 📹 Pre-watch: 8.1, 8.2 | different |
| 9 | May 25 | Evaluation metrics for classification | 📹 Reference: 9.2, 9.3,9.4 | more depth |
| 10 | May 25 | Regression metrics | 📹 Pre-watch: 10.1 | more depth on metrics less depth on regression |
| 11 | May 27 | Ensembles | 📹 Pre-watch: 11.1, 11.2 | similar |
| 12 | May 27 | Feature importances, model interpretation | 📹 Pre-watch: 12.1,12.2 | feature importances is new, feature engineering is new |
| Test 2 | May 28-30 | - | - | - |
| 13 | May 29 | Feature engineering and feature selection | None | less depth |
| 14 | Jun 1 | Clustering | 📹 Pre-watch: 14.1, 14.2, 14.3 | less depth |
| 15 | Jun 1 | More clustering | 📹 Pre-watch: 15.1, 15.2, 15.3 | less depth |
| 16 | Jun 3 | Simple recommender systems | less depth | |
| 17 | Jun 3 | Text data, embeddings, topic modeling | 📹 Pre-watch: 16.1, 16.2 | new |
| Test 3 | Jun 4-6 | - | - | - |
| - | Jun 5 | No Class | - | |
| 18 | Jun 8 | Introduction to LLMs | ||
| 19 | Jun 8 | Neural networks and computer vision | less depth | |
| 20 | Jun 10 | Time series data | (Optional) Humour: The Problem with Time & Timezones | new |
| 21 | Jun 12 | Survival analysis | 📹 (Optional but highly recommended)Calling Bullshit 4.1: Right Censoring | new |
| 22 | Jun 15 | Communication | 📹 (Optional but highly recommended) Calling BS videos Chapter 6 (6 short videos, 47 min total) Can you read graphs? Because I can’t. by Sabrina (7 min) | new |
| 23 | Jun 15 | Ethics | 📹 (Optional but highly recommended) Calling BS videos Chapter 5 (6 short videos, 50 min total) | new |
| 24 | Jun 17 | Model deployment and conclusion | new |
Reference Material¶
Click to expand!
Books¶
A Course in Machine Learning (CIML) by Hal Daumé III
Introduction to Machine Learning with Python: A Guide for Data Scientists by Andreas C. Mueller and Sarah Guido.
Data Mining: Practical Machine Learning Tools and Techniques (PMLTT)
Artificial intelligence: A Modern Approach by Russell, Stuart and Peter Norvig.
Artificial Intelligence 2E: Foundations of Computational Agents (2023) by David Poole and Alan Mackworth (of UBC!).
Online courses¶
Machine Learning (Andrew Ng’s famous Coursera course)
Foundations of Machine Learning online course from Bloomberg.
Machine Learning Exercises In Python, Part 1 (translation of Andrew Ng’s course to Python, also relevant for DSCI 561, 572, 563)
Misc¶
A Few Useful Things to Know About Machine Learning (an article by Pedro Domingos)
Metacademy (sort of like a concept map for machine learning, with suggested resources)
Machine Learning 101 (slides by Jason Mayes, engineer at Google)
Syllabus¶
The syllabus is available here.
Enjoy your learning journey in CPSC 330: Applied Machine Learning!