Skip to content

Latest commit

 

History

History
166 lines (104 loc) · 13.6 KB

syllabus.md

File metadata and controls

166 lines (104 loc) · 13.6 KB

CPSC 340 syllabus

Table of contents:

Topics covered

We introduce basic principles and techniques in the fields of data mining and machine learning. These are some of the key tools behind the emerging field of data science and the popularity of the "big data" buzzword. These techniques are now running behind the scenes to discover patterns and make predictions in various applications in our daily lives. We'll focus on many of the core data mining and machine learning technologies, with motivating applications from a variety of disciplines.

We will roughly cover the following topics:

  • Supervised learning with frequencies and distances.
  • Data clustering, outlier detection, and association rules.
  • Linear prediction, regularization, and kernels.
  • Latent-factor models and collaborative filtering.
  • Neural networks and deep learning.

Class meetings

Lectures:

Section Day Time Location Instructor
101 MWF 4-5pm Biological Sciences 1000 Danica Sutherland
103 MWF 2-3pm Hennings 202 Mike Gelbart

Tutorials:

Tutorials are completely optional. The list of tutorials can be found here. See the ones starting with "T1". You do not need to be officially registered for a tutorial to be part of the course.

Office hours: See here. There will be a mixture of in-person and online office hours available.

Teaching Team

Instructors:

Teaching Assistants:

  • Daniel Ajisafe
  • Anubhav Garg
  • Ruiyu Gou
  • Dylan Green
  • Niloofar Khoshsiyar
  • Lironne Kurzman
  • Paul Lin
  • Michael Liu
  • Helen Zhang

Prerequisites

  • Basic algorithms and data structures (CPSC 221).
  • Linear algebra (one of MATH 152, 221, or 223).
  • Probability (one of STAT 241, STAT 251, ECON 325, ECON 327, MATH 302, STAT 302, or MATH 318).
  • Multivariate calculus (one of MATH 200, 217, 226, 253, or 254).

Undergraduate and graduate students from any department are welcome to take the class, provided that they satisfy the prerequisites. If you do not satisfy the exact prerequisites but would still like to enroll in the class, see here. For graduate students from outside the CS department, see here.

Auditing: because the class/classroom is likely to be full, we may not have seats for auditors. If there is space and you would like to audit the course, please contact the instructor.

Covid Safety

Masks: Masks are required for all indoor classes, as per the BC Public Health Officer orders. For our in-person meetings in this class, it is important that all of us feel as comfortable as possible engaging in class activities while sharing an indoor space. For the purposes of this order, the term "masks" refers to medical and non-medical masks that cover our noses and mouths. Masks are a primary tool to make it harder for Covid-19 to find a new host. You will need to wear a medical or non-medical mask for the duration of our class meetings, for your own protection, and the safety and comfort of everyone else in the class. You may be asked to remove your mask briefly for an ID check for an exam, but otherwise, your mask should cover your nose and mouth. Please do not eat in class. If you need to drink water/coffee/tea/etc, please keep your mask on between sips. Please note that there are some people who cannot wear a mask. These individuals are equally welcome in our class.

Vaccination: If you have not yet had a chance to get vaccinated against Covid-19, vaccines are available to you, free, and on campus. The higher the rate of vaccination in our community overall, the lower the chance of spreading this virus. You are an important part of the UBC community. Please arrange to get vaccinated if you have not already done so.

Seating in class: To reduce the risk of Covid transmission, please sit in a consistent area of the classroom each day. This will minimize your contacts and will still allow for the pedagogical methods planned for this class to help your learning.

If you’re sick, it’s important that you stay home – no matter what you think you may be sick with (e.g., cold, flu, other).

  • A daily self-health assessment is required before attending campus. Every day, before coming to class, complete the self-assessment for Covid symptoms using this tool.

  • Do not come to class if you have Covid symptoms, have recently tested positive for Covid, or are required to quarantine. You can check this website to find out if you should self-isolate or self-monitor.

  • Your precautions will help reduce risk and keep everyone safer. This class is intended to provide flexibility so that you can prioritize your health and still be able to succeed. Specifically:

    • We will post recordings of each lecture shortly afterwards.
    • No portion of the grade for this class is based on class attendance or participation.
    • All assignments are handed in online.
    • Some office hours will also be available online.
    • The midterm will be taken electronically; we will provide information about this closer to the date.

If you are sick on the date of the final exam, do not attend. You must apply for deferred standing (an academic concession) through Science Advising no later than 48 hours after the missed final. Students who are granted deferred standing write the final exam at a later date. More information and the application are available here; you can also read the formal UBC policy.

If an instructor gets sick: We will do our best to say well, but if we develop symptoms / test positive for Covid / etc, we will not come to class. The other instructor, or one of the other experts in machine learning on campus, will most likely substitute. It is also possible that some class sessions could be required to be online; if so, it will be announced with as much warning as possible by email and on Canvas. In this (hopefully unlikely) event, our classroom will still be available for you to sit in for the lecture; recordings will also still be available.

Grading

The grading scheme for the course is as follows:

Component Weight
Syllabus quiz 1%
Assignments 30%
Midterm 19%
Final 50%

The tentative plan is for all assignments to be weighted equally. The instructor reserves the right to change this in case, for example, one of the assignments needs to be shortened or cut.

Course grading policies

All grading concerns and challenges must be done through Gradescope.

Grading concerns: time limit

If you perceive a problem with your homework or exam grade, you have one week to raise a concern from the time that your grades were posted. After that, your grade is final.

Reasonable grading concerns

Grades are not perfect; some randomness in grading is normal, meaning that you'll generally get more than you deserve in some cases and less than you deserve in other cases. Thus, it is possible to exploit the system by consistently complaining when your grade is too low but not when it is too high. Unfortunately, this takes time away from the course staff which could have been spent on making the course better for everyone. Thus, in my view, students who overzealously contest grades are penalizing their classmates for personal gain.

Sometimes serious grading errors are made, for example when a grader did not see your answer to a question or completely deviated from standard grading practices for some unknown reason. Such situations can be quite frustrating for students, and we want you to feel that the course is fair. In these cases, it makes sense for the student to bring the error to our attention.

Balancing these two sides is difficult. In this course we will use the following policy: if a grade is challenged in a way that is deemed unreasonable, the student will receive a warning. This decision will be made by the instructor. If this happens a second time, the student will lose the privilege to challenge grades for the remainder of the course. Examples of unreasonable requests include extremely minor complaints (e.g. half a mark on an assignment) or repeatedly contesting the same issue once a decision has been reached. This policy applies to both assignments and exams.

Late submissions

Assignments will be due at 11:59:59pm on the due date.

If you can't make it by that time, you can use up to 4 "late days" through the semester; each gives you a 24 hour extension to the deadline (regardless of whether the next day is a weekend or holiday). You cannot use more than two late days on any given assignment, because we'll post solutions two days after the deadline. (That is, you can be 1 day late on 4 assignments over the course of the term, or 2 days late on 2 assignments; you cannot be 3 days late on any one assignment.)

There is no penalty for using late days up to these limits. If you over-use late days, you will get a 0 on that assignment. In exceptional circumstances, we can work something out through the academic concession process (see below). "I had a lot of assignments in my other courses" or similar is not grounds for this; do your best to plan ahead, and keep in mind that each assignment is only a relatively small percentage of your final grade.

Citing sources

If you use information from students outside your group or from online sources or lecture notes, cite this at the start of each question. You will receive a mark of 0 for the assignment (and possibly other consequences) if you are found copying from other sources without citation.

Midterm

The midterm exam will take place on Thursday, October 21st, 2021 from 6:00-7:30pm. The exam will be computer-based. We will provide more information about where students can take the exam from (e.g. for those unable to travel).

Missed midterm exam. There is no makeup midterm exam. If you miss the midterm exam, or anticipate missing the midterm exam, please see the Academic concessions section below. In most cases, if you have missed the midterm exam for a justified reason, the weight of the midterm component of the course will be transferred to the final exam.

Final exam

The date of the final exam is TBD. The exact situation in terms of taking the final is also still to be determined; until the date and method is announced, make travel plans consistent with being required to take it in-person potentially as late as December 22nd.

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.” If you would like to request an academic concession, please fill out the academic concession form and email it to [email protected] as soon as possible. You may be asked for further documentation. The instructor will evaluate the situation and make a decision on whether to grant the concession and, if so, how to proceed.

Accommodation requests

Please send all accommodation requests and accommodation letters to [email protected].

Software

We will be using Python for this course because it is open source and widely used in machine learning and data science. We will use Python 3 (in particular 3.7 or higher). We recommend the Anaconda Python distribution, which comes bundled with a bunch of useful packages (NumPy, SciPy, scikit-learn, Jupyter notebook) pre-installed. You can download Anaconda from their website for free. For some more info on Python, see here.

You will also need a way of compiling LaTeX documents. We recommend Overleaf.

Code of conduct

  • Do not distribute any course materials (slides, homework assignments, solutions, notes, etc.) without permission.
  • If you commit to working with a partner on an assignment, do your fair share of the work.
  • Cite sources appropriately on exams.
  • If you have a problem or complaint, let the instructor(s) know immediately. Maybe we can fix it!
  • This is a tough course. If you're struggling with something, I recommend trying to figure it out 10-30 min before asking for help. Spending too little time will hinder your learning, whereas spending hours may not result in efficient learning either.