Syllabus#

Course description#

Application of machine learning tools, with an emphasis on solving practical problems. Data cleaning, feature extraction, supervised and unsupervised machine learning, reproducible workflows, and communicating results.

Class meetings#

Lectures:

Section

Day

Time

Location

CPSC 330 201

Tue/Thu

9:30 - 10:50 AM

SWNG-Room 222

CPSC 330 202

Tue/Thu

3:30 - 4:50 PM

MCML-Room 360

CPSC 330 203

Tue/Thu

5:00 - 6:20 PM

MCML-Room 360

CPSC 330 204

Tue/Thu

11:00 AM - 12:20 PM

GEOG-Room 212

Tutorials:

Section

Day

Time

Location

CPSC 330 T2A

Friday

9:00 - 10:00 AM

ORCH-Room 4018

CPSC 330 T2B

Friday

10:00 - 11:00 AM

ORCH-Room 3018

CPSC 330 T2C

Friday

12:00 - 01:00 PM

DMP-Room 201

CPSC 330 T2D

Friday

01:00 - 02:00 PM

DMP-Room 201

CPSC 330 T2E

Friday

03:00 - 04:00 PM

DMP-Room 201

CPSC 330 T2F

Friday

02:00 - 03:00 PM

DMP-Room 101

CPSC 330 T2G

Thursday

05:00 - 06:00 PM

MCLD-Room 2012

CPSC 330 T2H

Friday

11:00 - 12:00 PM

MCLD-Room 2012

CPSC 330 T2I

Thursday

01:00 - 02:00 PM

DMP-Room 101

CPSC 330 T2J

Thursday

02:00 - 03:00 PM

DMP-Room 101

CPSC 330 T2K

Thursday

03:00 - 04:00 PM

SWNG Room 409

Tutorials for this course will be conducted by TAs, who will guide you through additional exercises and demos on the content covered each week. Attendance to tutorials is not counted toward your final grade, but is expected to succeed in the course. Participating will allow you to see more examples than what it is possible to cover in class, engage in more personalized discussions with TAs, and providing you with valuable one-on-one time to deepen your understanding of machine learning concepts.

Office hours:

Day

Time

Location

Tuesday

9:00 - 10:00 AM

ORCH-Floor 3 -Room 3018

Tuesday

10:00 - 11:00 AM

SWNG Room 405

Tuesday

01:00 - 02:00 PM

ORCH-Floor 4 -Room 4074

Note: Tuesday tutorials have been converted to Office Hours, as they happen to be too early in the week to be effective tutorial sessions. If you are enrolled in one of these tutorial sessions, you are welcome to move to any other tutorial session on Thursday or Friday that fits your schedule. You may also email the course coordinator if you have further questions on this matter. This is the only exception, other students are expected to attend the tutorial session they are enrolled in to not cause overcrowding.

Teaching Team#

Instructors:

  • Mathias Lécuyer, OH: Thursday, 2:00 - 3:00 PM, ICCS 317

  • Giulia Toti, OH: Tuesday, 2:00 - 3:15 PM, ICCS 231

  • Andrew Roth, OH: Tuesday, 12:30-1:30 PM, ICCS 353

Course co-ordinator#

  • Ancuta (Anca) Barbu (cpsc330-admin@cs.ubc.ca), please reach out to Anca for: admin questions, extensions, academic concessions etc. Include a descriptive subject, your name and student number, and course section so that we can keep track of emails.

TAs#

  • Amirali Goodarzvand Chegini

  • Frederick Sunstrum

  • Kimia Rostin

  • Tianyu (Niki) Duan

  • Abdelrahman Ahmed

  • Maissan Bazazeh

  • Gaurav Bhatt

  • Patrick Cui

  • Neo Ghassemi

  • Alison Hardy

  • Mishaal Kazmi

  • Zefeng Li

  • Yifei Li

  • Harry Wang

  • Allya Wellyanto

  • Yan Zeng

  • Alain Zhiyanov

  • Mahsa Zarei

Registration#

Waitlists:

The general seats available in this class usually fill up very quickly. Once the general seats are taken, the only way to register for the course is to sign up for the waiting list. For questions about the waiting list policies, see here. You should sign up for the waiting list even if it is long; a lot of students tend to drop courses. Signing up for the waiting list also makes it more likely that we will open up extra sessions, expand class sizes, or offer additional courses on these topics. The instructors have no control over the situation and I cannot help you bypass the waiting list.

Because all course material is available to all students, including those on the waitlist, throught this repository, all students are expected to complete all the assignments by the assigned deadline, independently on the date on which they joined the course. The course moves at a fast pace and the first weeks cover fundamental concepts that will serve you for the entire semester - you do not want to miss them or find yourself racing to catch up.

Prerequisites: The official prerequisites can be found here. If you do not meet the prerequisites, see here and here. We were told that students should not visit the front desk in the CS main office about prerequisite issues, because the folks at the front desk do not have the authority to resolve prerequisite issues.

In practice, the prerequisite is familiarity with Python programming.

Auditing: If the course is full, we cannot accommodate official auditors. If there is space and you would like to audit the course, please contact the instructor. All UBC students are welcome to audit the course unofficially.

Grading scheme#

The grading scheme for the course is as follows:

Component

Weight

Location

Syllabus quiz

1%

PrairieLearn

iClicker participation

5%

iClicker Cloud

Assignments

22%

Gradescope

Midterm 1

21%

PrairieLearn (CBTF)

Midterm 2

21%

PrairieLearn (CBTF)

Final

30%

PrairieLearn (CBTF)

iClicker#

The iClicker participation grade will mainly consider your engagement rather than the accuracy of your responses. Nevertheless, these questions are intended to facilitate your learning, so please make an earnest effort when providing your answers.

To join the iClicker corresponding to your section, use the following links:

Assignments#

The plan is that most of the assignments will contribute equally towards the overall Assignments grade, but changes to reflect particularly long or short assignments may be possible. We will drop your lowest homework grade. Some flexibility in the assignment submissions is allowed (see Late policy below). See this document for more detailed instructions on submitting homework assignments.

For the full policy on grades, see this document. We understand that grades are important for you for several reasons. But try not to focus too much on them. You will have a better learning experience and in general, you’ll be happier in life if you focus more on learning the material well. For the grading scheme we wish we could use this.

Late policy

Assignments will be due at 11:59 PM on the due date. If you cannot make this due date, you may use a “late token”, for example:

If assignment is due on a Monday at 11:59 pm:

  • Handing it anytime on Tuesday will cost you 1 late token (irrespective of whether it’s a holiday).

  • Handing it anytime on Wednesday will cost you 2 late tokens (irrespective of whether it’s a holiday).

Each student will have 4 late tokens for the entire semester. We will track their use and no action is required on your end, just be aware of when you happen to spend your tokens as result of a late submission and keep track of how many you have left.

There is no penalty for using “late tokens”, but you will get a mark of 0 on an assignment if you:

  • Use more than 2 late tokens on the assignment.

  • Use more than 4 late tokens across all assignments.

We will post solutions 48-hours after the due date.

Lecture recordings#

This is an in-person class, and we do not livestream or make recordings available by default. If you miss a class, you can catch up by reviewing the lecture notes and associated videos, and talking to your peers.

Use of AI in the course#

Use of AI-based content generation tools, or AI tools, is permitted for assignments and project work in CPSC 330. It is not allowed during midterms and the final exams.

Additionally, students are required to disclose any use of AI tools for each assignment. This includes

  • Referencing the tool used

  • Including any prompts used to query

  • Including the output of the prompts and a discussion of if/how you modified the result

Failure to follow this policy will be considered a violation of UBC’s academic policy.

When using AI tools for your assignments, be mindful of their impact on your learning. Consider carefully whether they are improving or hindering your learning, and make a conscious decision about their use.

Midterms#

There will be two midterms in CPSC 330 and both of them will be conducted in the CBTF via self-reservation over a three-day period. The CBTF (computer based testing facility) is designed to enhance the student’s writing experience by providing them with a familiar, secure testing environment with quick access to technical support, as well as support from their instructor for common access issues.

Closer to the midterm dates, the instructors will communicate more details regarding the exam content, how to register for a time slot, what to do in case it is not possible to take the exam, and other relevant information. In general, students are expected to take the exam during their registered slot. Seats are limited and if you miss your registered slot it may not be possible to provide an alternative time, unless it is for a serious, documented reason. If something prevents you from attending one of the midterms, contact the course coordinator immediately.

Centre for Accessibility (CfA) Exam Accommodations#

Students who are registered with the Centre for Accessibility (CfA) with exam accommodations listed below will need to write all of their assessments in the Computer-Based Testing Facility (CBTF). The CBTF will provide the following accommodations:

  • Extended-time (up to 4x)

  • Distraction-reduced environment

  • Close proximity to washroom

  • Phone permitted for medical purposes

  • Medical equipment/supplies/food

If you have an accommodation that is not listed above, you will write your assessments with the CfA and will need to book a time by their deadline. Please do not book any assessments with the CfA if you are expected to write in the CBTF, as the CfA will cancel the exam booking and ask you to book it yourself with the CBTF. If you have any concerns about your accommodations being met in the CBTF, please reach out to your Accessibility Advisor.

For more information, please see the CBTF page.

Final exam#

The final exam is scheduled for the exam period and is likely to be comprehensive, covering the material taught over the course of the semester. A score of 40% or more in the final exam is required to pass the course.

Academic concessions#

UBC has a policy on academic concession for cases in which a student may be unable to complete coursework. According to this policy, grounds for academic concession can be illness, conflicting responsibilities, or compassionate grounds. Examples of compassionate grounds, from the above policy, include “a traumatic event experienced by the student, a family member, or a close friend; an act of sexual assault or other sexual misconduct experienced by the student, a family member, or a close friend; a death in the family or of a close friend.” To request an academic concession, please write to the course coordinator (cpsc330-admin@cs.ubc.ca), with your section instructor copied in the email. Additional documentation might be requested. We will review your situation and determine whether to approve the concession, and if approved, the appropriate steps to follow.

Code of conduct#

This course follows the departmental policy available here: https://my.cs.ubc.ca/docs/collaboration-plagiarism. If you are not sure whether or not what you plan to do constitutes academic misconduct, consult the policy, an instructor or the course coordinator.

In general, the following is expected:

  • Do not submit work that you did not authored. If portions of code are being reused, declare all sources.

  • If you plan to engage in non-course-related activity in lecture (Facebook, YouTube, chatting with friends, etc), please sit in the last two rows of the room to avoid distracting your classmates.

  • Do not distribute any course materials (slides, homework assignments, solutions, notes, etc.) without permission.

  • Do not photograph or record lectures (audio or video) without permission.

  • If you commit to working with a partner on an assignment, do your fair share of the work.

  • If you have a problem or complaint, let the instructor(s) know immediately. Maybe we can fix it!

  • During the exam period, do not disclose, discuss, or share any part of the exam with any other individual, except as directly permitted or required by the course instructors. This includes discussion in person, online, or through any electronic means. Violation of this will result in academic penalties, which may include failure of the exam or failure of the course.

Land acknowledgement#

UBC’s Point Grey Campus is located on the traditional, ancestral, and unceded territory of the xwməθkwəy̓əm (Musqueam) people. The land it is situated on has always been a place of learning for the Musqueam people, who for millennia have passed on their culture, history, and traditions from one generation to the next on this site.

It’s important that this recognition of Musqueam territory and our relationship with the Musqueam people does not appear as just a formality. Take a moment to appreciate the meaning behind the words we use:

TRADITIONAL recognizes lands traditionally used and/or occupied by the Musqueam people or other First Nations in other parts of the country.

ANCESTRAL recognizes land that is handed down from generation to generation.

UNCEDED refers to land that was not turned over to the Crown (government) by a treaty or other agreement.

As you proceed through your journey at UBC, take some time to learn about the history of this land and to honour its original inhabitants.