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.

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:

SectionDayTimeZoom
CPSC 330 201Tue/Thu9:30 - 10:50MCML 360
CPSC 330 202Tue/Thu15:30 - 16:50DMP 310
CPSC 330 203Tue/Thu17:00 - 18:20SWNG 222
CPSC 330 204Tue/Thu11:00 - 12:20DMP 310

Tutorials:

SectionDayTimeLocation
CPSC 330 T2AFri09:00 - 10:00MCLD 3014
CPSC 330 T2BFri10:00 - 11:00MCML 158
CPSC 330 T2CFri12:00 - 13:00SWNG 405
CPSC 330 T2DFri13:00 - 14:00MCLD 3014
CPSC 330 T2EFri15:00 - 16:00MCLD 3008
CPSC 330 T2FFri14:00 - 15:00CEME 1215
CPSC 330 T2GThu17:00 - 18:00CEME 1215
CPSC 330 T2HFri11:00 - 12:00FSC 1611
CPSC 330 T2IThu13:00 - 14:00CEME 1215
CPSC 330 T2JThu14:00 - 15:00MCLD 3008
CPSC 330 T2KThu15:00 - 16:00SWNG 107
CPSC 330 T2LThu09:00 - 10:00MCLD 3008
CPSC 330 T2MThu10:00 - 11:00MCLD 3008
CPSC 330 T2NFri13:00 - 14:00MCLD 158

Tutorials

Tutorials for this course will be conducted by TAs, who will guide you through additional exercises and demos on the content covered each week. A bonus of up to 2% will be added to your final grade for attending tutorials.

Teaching Team

Instructors:

Course coordinator

TAs

Registration

Waitlists:

CPSC 330 is a very fast-paced course and students who register in the course late have a tendency to struggle greatly and are rarely able to catch-up. In 2025W2, we are expecting that all students who are registered on any open waitlists by 3 PM on January 9th will have an opportunity to take the course. This also means that the registration into the course will be closed by the end of the day on January 9th, and no further registrations will be permitted. Of course, students will still be able to drop the course until UBC’s official Add/Drop date. We hope this will allow all students to have the best chance at success in this course!

The instructors have no control over the wailtist order and cannot help you bypass the waiting list.

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:

ComponentWeightLocation
Syllabus quiz1%PrairieLearn (through Canvas)
Participation5%iClicker Cloud (through Canvas for Sections 201, 203, 204) or Learning Logs (through PrairieLearn for Section 202 only)
Assignments22%Gradescope
Midterm 121%CBTF, on PrairieLearn
Midterm 221%CBTF, on PrairieLearn
Final Exam*30%CBTF, on PrairieLearn
Tutorial participationup to 2% bonusin person attendance to 10 tutorials

All students must satisfy ALL the following conditions to pass the course:

If a student does not satisfy the appropriate requirements, the student will be assigned the lower of their earned course grade or, a maximum overall grade of 45 in the course. In exceptional cases (with approved concessions), passing requirements may be waived at the discretion of the course instructor; if waived, the student will be earn a maximum grade of 50% in the course.

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. Participation in 80% of the classes is enough to receive the full participation grade - this gives you some wiggle room if you happen to miss a class or two.

Assignments

The plan is that most of the assignments will contribute equally towards the overall Assignments grade.

We will drop your lowest homework grade. However, because Homework 5 is a significant, project-like assignment, and it is crucial for students’ preparation, Homework 5 is excluded from the drop grade policy.

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”. Each student will have 4 late tokens for the entire semester, which we will track on Canvas. No action is required on your part to use the tokes, just make sure that you have a sufficient number if you are planning on using them.

For example, if assignment is due on a Monday at 11:59 pm:

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

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 talking to your peers. Students who were absent for approved reasons (e.g., illness, jury duty) can be given access to existing lecture recordings (when available), but please note that these will be from previous course instances. It is the student’s responsibility to make sure they are keeping up with the most up-to-date material, which will be the one included in the notes.

Process to request access: If you miss a class for a legitimate reason, please contact our course coordinator at cpsc330-admin@cs.ubc.ca and provide appropriate documentation (e.g., a doctor’s note if you are seriously ill). Your request will be reviewed, and approval may take time. Please remember that relying on recordings is not an effective way to stay on top of the course material. Regular attendance is essential for success.

Use of Generative AI in the course

You may use generative AI tools (e.g., ChatGPT, Claude, Gemini) in this course, but you must use them responsibly. Remember, you are here to learn. These tools can speed up tasks (e.g., brainstorming, debugging, clarifying concepts), but they can also short-circuit your learning if misused (e.g., copy-pasting solutions without understanding them).

Key policies

Failure to follow these rules will be treated as a violation of UBC’s academic integrity policy.

Finally, always ask yourself: Is this tool helping me learn, or harming my learning? Use it to support, not substitute, your effort.

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.

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:

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 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 (along with other requirements listed above).

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. Please note that when possible (short term occurrences) tokens should be used as the default concession mechanism for assignments.

Code of conduct

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.