Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

UBC CPSC 330: Applied Machine Learning (2025W2)

deploy-book

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

SectionInstructorContactWhenWhere
201Giulia Totigtoti@cs.ubc.caTue & Thu, 9:30–10:50MCML 360
202Firas MoosviEd DiscussionTue & Thu, 15:30–16:50DMP 310
203Mehrdad Oveisimoveisi@cs.ubc.caTue & Thu, 17:00–18:20SWNG 222
204Mehrdad Oveisimoveisi@cs.ubc.caTue & Thu, 11:00–12:20DMP 310

Course coordinator

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.

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!

AssessmentDue dateWhere to find?Where to submit?
Syllabus quizJan 19 (extended), 11:59 pmPrairieLearn (access through Canvas tab)(access through Canvas tab)
hw1Jan 12 , 11:59 pmGitHub repoGradescope
hw2Jan 19, 11:59 pmGitHub repoGradescope
hw3Feb 02, 11:59 pmGitHub repoGradescope
hw4Feb 09, 11:59 pmGitHub repoGradescope
Midterm 1Feb 9, 10, 11PrairieLearn (CBTF, in person)PrairieLearn (CBTF, in person)
hw5Mar 02, 11:59 pm excluded from drop lowest gradeGitHub repoGradescope
hw6Mar 09, 11:59 pmGitHub repoGradescope
Midterm 2Mar 16-17-18PrairieLearn (CBTF, in person)PrairieLearn (CBTF, in person)
hw7Mar 23, 11:59 pmGitHub repoGradescope
hw8Mar 30, 11:59 pmGitHub repoGradescope
hw9Apr 10, 11:59 pm No late submissionsGitHub repoGradescope
Final examTBAPrairieLearn (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.

DateTopicAssigned videosvs. CPSC 340
Jan 06Course intro📹 Pre-watch: 1.0n/a
Jan 08Decision trees📹 Pre-watch: 2.1, 2.2, 2.3, 2.4less depth
Jan 13ML fundamentals📹 Pre-watch: 3.1, 3.2, 3.3, 3.4similar
Jan 15kk-NNs and SVM with RBF kernel📹 Pre-watch: 4.1, 4.2, 4.3, 4.4less depth
Jan 20Preprocessing, sklearn pipelines📹 Pre-watch: 5.1, 5.2, 5.3, 5.4more depth
Jan 22More preprocessing, sklearn ColumnTransformer, text features📹 Pre-watch: 6.1, 6.2more depth
Jan 27Linear models📹 Pre-watch: 7.1, 7.2, 7.3less depth
Jan 29Hyperparameter optimization, overfitting the validation set📹 Pre-watch: 8.1, 8.2different
Feb 03Evaluation metrics for classification📹 Reference: 9.2, 9.3,9.4more depth
Feb 05Regression metrics📹 Pre-watch: 10.1more depth on metrics less depth on regression
Feb 9-11Midterm 1 - no class, no office hours, no tutorials
Feb 12Ensembles📹 Pre-watch: 11.1, 11.2similar
Feb 16-20Midterm break - no class, no tutorials
Feb 24Feature importances, model interpretation📹 Pre-watch: 12.1,12.2feature importances is new, feature engineering is new
Feb 26Feature engineering and feature selectionNoneless depth
Mar 03Clustering📹 Pre-watch: 14.1, 14.2, 14.3less depth
Mar 05More clustering📹 Pre-watch: 15.1, 15.2, 15.3less depth
Mar 10Simple recommender systemsless depth
Mar 12Text data, embeddings, topic modeling📹 Pre-watch: 16.1, 16.2new
Mar 16-18Midterm 2 - no class, no office hours (YES tutorials)
Mar 19Introduction to LLMs
Mar 24Neural networks and computer visionless depth
Mar 26Time series data(Optional) Humour: The Problem with Time & Timezonesnew
Mar 31Survival analysis📹 (Optional but highly recommended)Calling Bullshit 4.1: Right Censoringnew
Apr 02Communication📹 (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 07Ethics📹 (Optional but highly recommended)
  • Calling BS videos Chapter 5 (6 short videos, 50 min total)

  • The ethics of data science

  • new
    Apr 09Model deployment and conclusionnew

    Reference Material

    Click to expand!

    Books

    Online courses

    Misc

    Syllabus

    The syllabus is available here.

    Enjoy your learning journey in CPSC 330: Applied Machine Learning!