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 | Zoom |
|---|---|---|---|
| CPSC 330 201 | Tue/Thu | 9:30 - 10:50 | MCML 360 |
| CPSC 330 202 | Tue/Thu | 15:30 - 16:50 | DMP 310 |
| CPSC 330 203 | Tue/Thu | 17:00 - 18:20 | SWNG 222 |
| CPSC 330 204 | Tue/Thu | 11:00 - 12:20 | DMP 310 |
Tutorials:
| Section | Day | Time | Location |
|---|---|---|---|
| CPSC 330 T2A | Fri | 09:00 - 10:00 | MCLD 3014 |
| CPSC 330 T2B | Fri | 10:00 - 11:00 | MCML 158 |
| CPSC 330 T2C | Fri | 12:00 - 13:00 | SWNG 405 |
| CPSC 330 T2D | Fri | 13:00 - 14:00 | MCLD 3014 |
| CPSC 330 T2E | Fri | 15:00 - 16:00 | MCLD 3008 |
| CPSC 330 T2F | Fri | 14:00 - 15:00 | CEME 1215 |
| CPSC 330 T2G | Thu | 17:00 - 18:00 | CEME 1215 |
| CPSC 330 T2H | Fri | 11:00 - 12:00 | FSC 1611 |
| CPSC 330 T2I | Thu | 13:00 - 14:00 | CEME 1215 |
| CPSC 330 T2J | Thu | 14:00 - 15:00 | MCLD 3008 |
| CPSC 330 T2K | Thu | 15:00 - 16:00 | SWNG 107 |
| CPSC 330 T2L | Thu | 09:00 - 10:00 | MCLD 3008 |
| CPSC 330 T2M | Thu | 10:00 - 11:00 | MCLD 3008 |
| CPSC 330 T2N | Fri | 13:00 - 14:00 | MCLD 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:
Giulia Toti, OH: Thursdays, 11:15 am - 12:30 pm @ ICCS 231
Firas Moosvi, OH:
Mehrdad Oveisi, OH:
Course coordinator¶
Anca Barbu (cpsc330
-admin@cs .ubc .ca), please reach out to Anca for: admin questions, extensions, academic concessions etc.
TAs¶
Ayanfe Adekanye
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
Luna Peck
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:
| Component | Weight | Location |
|---|---|---|
| Syllabus quiz | 1% | PrairieLearn (through Canvas) |
| Participation | 5% | iClicker Cloud (through Canvas for Sections 201, 203, 204) or Learning Logs (through PrairieLearn for Section 202 only) |
| Assignments | 22% | Gradescope |
| Midterm 1 | 21% | CBTF, on PrairieLearn |
| Midterm 2 | 21% | CBTF, on PrairieLearn |
| Final Exam* | 30% | CBTF, on PrairieLearn |
| Tutorial participation | up to 2% bonus | in person attendance to 10 tutorials |
All students must satisfy ALL the following conditions to pass the course:
Pass the Assignments component with a grade of at least 40%,
Pass the Midterms and Final Exam together with a weighted average grade of at least 50%
Pass the Final Exam with a grade of at least 40%,
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:
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).
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 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
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
Work must be your own: All assessments must reflect your own thinking unless otherwise specified. Submitting AI-generated work without understanding it is academic dishonesty.
If you use GenAI on an assessment:
Cite it: Name the tool (e.g., “ChatGPT”).
Annotate it: Briefly explain how you used it (e.g., “I asked ChatGPT for a simple explanation of cross-validation. I compared its response with my notes, clarified one detail about data splitting, and wrote my own explanation.”).
If your instructor suspects overuse, you may be asked to explain your work orally. If you cannot, penalties will apply.
Do not share sensitive content: Never paste into AI tools student information (names, IDs, personal data). In addition, do not paste course assessments (assignments, iClicker questions, exam questions) directly to generative AI tools for completion. These materials are copyrighted, and feeding them into such tools may result in redistributing them in ways we don’t intend.
For group work, all team members must know about and agree to any generative AI use. The group is collectively responsible for ensuring the final work complies with this policy.
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:
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 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
Code of conduct¶
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. This includes copy/pasting material into AI prompts.
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.