UBC CPSC 330: Applied Machine Learning (2025W2)¶
This is the course homepage for CPSC 330: Applied Machine Learning at the University of British Columbia. You are looking at the current version (Jan-Apr 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 |
|---|---|---|---|---|
| 201 | Giulia Toti | gtoti@cs.ubc.ca | Tue & Thu, 9:30–10:50 | MCML 360 |
| 202 | Firas Moosvi | Ed Discussion | Tue & Thu, 15:30–16:50 | DMP 310 |
| 203 | Mehrdad Oveisi | moveisi@cs.ubc.ca | Tue & Thu, 17:00–18:20 | SWNG 222 |
| 204 | Mehrdad Oveisi | moveisi@cs.ubc.ca | Tue & Thu, 11:00–12:20 | DMP 310 |
Course coordinator¶
Anca Barbu (cpsc330
-admin@cs .ubc .ca), please reach out to the course coordinator for: admin questions, extensions, academic concessions etc. Include a descriptive subject, your name and student number, this will help us keep track of emails.
TAs¶
Ayanfe Adekanye
Hadi Babalou
Tanav Singh Bajaj
Aryan Ballani
Matthew Buchholz
Jun He Cui
Niki Duan
Atabak Eghbal
Eshed Gal
Neo Ghassemi
Zoe Harris
Kanwal Mehreen
Himanshu Mishra
Kimia Rostin
Sneha Sambandam
Sohbat Sandhu
Joseph Soo
Carlos Vasquez Rios
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¶
iClicker Cloud
Deliverable due dates (tentative)¶
Usually the homework assignments will be due on Mondays (except next week) and will be released on Tuesdays. We’ll also add the due dates in the Calendar. If you find inconsistencies in due dates, follow the due date in the Calendar. For this course, we’ll assume that the Calendar is always right!
| Assessment | Due date | Where to find? | Where to submit? |
|---|---|---|---|
| Syllabus quiz | Jan 19 (extended), 11:59 pm | PrairieLearn (access through Canvas tab) | (access through Canvas tab) |
| hw1 | Jan 12 , 11:59 pm | GitHub repo | Gradescope |
| hw2 | Jan 19, 11:59 pm | GitHub repo | Gradescope |
| hw3 | Feb 02, 11:59 pm | GitHub repo | Gradescope |
| hw4 | Feb 09, 11:59 pm | GitHub repo | Gradescope |
| Midterm 1 | Feb 9, 10, 11 | PrairieLearn (CBTF, in person) | PrairieLearn (CBTF, in person) |
| hw5 | Mar 02, 11:59 pm excluded from drop lowest grade | GitHub repo | Gradescope |
| hw6 | Mar 09, 11:59 pm | GitHub repo | Gradescope |
| Midterm 2 | Mar 16-17-18 | PrairieLearn (CBTF, in person) | PrairieLearn (CBTF, in person) |
| hw7 | Mar 23, 11:59 pm | GitHub repo | Gradescope |
| hw8 | Mar 30, 11:59 pm | GitHub repo | Gradescope |
| hw9 | Apr 10, 11:59 pm No late submissions | GitHub repo | Gradescope |
| Final exam | TBA | PrairieLearn (CBTF, in person) | PrairieLearn (CBTF, in person) |
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 |
|---|---|---|---|
| Jan 06 | Course intro | 📹 Pre-watch: 1.0 | n/a |
| Jan 08 | Decision trees | 📹 Pre-watch: 2.1, 2.2, 2.3, 2.4 | less depth |
| Jan 13 | ML fundamentals | 📹 Pre-watch: 3.1, 3.2, 3.3, 3.4 | similar |
| Jan 15 | -NNs and SVM with RBF kernel | 📹 Pre-watch: 4.1, 4.2, 4.3, 4.4 | less depth |
| Jan 20 | Preprocessing, sklearn pipelines | 📹 Pre-watch: 5.1, 5.2, 5.3, 5.4 | more depth |
| Jan 22 | More preprocessing, sklearn ColumnTransformer, text features | 📹 Pre-watch: 6.1, 6.2 | more depth |
| Jan 27 | Linear models | 📹 Pre-watch: 7.1, 7.2, 7.3 | less depth |
| Jan 29 | Hyperparameter optimization, overfitting the validation set | 📹 Pre-watch: 8.1, 8.2 | different |
| Feb 03 | Evaluation metrics for classification | 📹 Reference: 9.2, 9.3,9.4 | more depth |
| Feb 05 | Regression metrics | 📹 Pre-watch: 10.1 | more depth on metrics less depth on regression |
| Feb 9-11 | Midterm 1 - no class, no office hours, no tutorials | ||
| Feb 12 | Ensembles | 📹 Pre-watch: 11.1, 11.2 | similar |
| Feb 16-20 | Midterm break - no class, no tutorials | ||
| Feb 24 | Feature importances, model interpretation | 📹 Pre-watch: 12.1,12.2 | feature importances is new, feature engineering is new |
| Feb 26 | Feature engineering and feature selection | None | less depth |
| Mar 03 | Clustering | 📹 Pre-watch: 14.1, 14.2, 14.3 | less depth |
| Mar 05 | More clustering | 📹 Pre-watch: 15.1, 15.2, 15.3 | less depth |
| Mar 10 | Simple recommender systems | less depth | |
| Mar 12 | Text data, embeddings, topic modeling | 📹 Pre-watch: 16.1, 16.2 | new |
| Mar 16-18 | Midterm 2 - no class, no office hours (YES tutorials) | ||
| Mar 19 | Introduction to LLMs | ||
| Mar 24 | Neural networks and computer vision | less depth | |
| Mar 26 | Time series data | (Optional) Humour: The Problem with Time & Timezones | new |
| Mar 31 | Survival analysis | 📹 (Optional but highly recommended)Calling Bullshit 4.1: Right Censoring | new |
| Apr 02 | 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 |
| Apr 07 | Ethics | 📹 (Optional but highly recommended) Calling BS videos Chapter 5 (6 short videos, 50 min total) | new |
| Apr 09 | 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!