All times listed on the 416 course website are in Seattle time. If you are in another time zone, it is your responsibility to know how a due date in Seattle time relates to your time zone. You can use this site to translate times.


There are no differences between the STAT and CSE and A or B section of this course. We try our best to say CSE/STAT 416 everywhere, but sometimes we shorten it to CSE 416. Which class you are signed up for has no meaningful impact on this course except what shows up as your section in Canvas!


It is hard to imagine anything more fascinating than automated systems that improve their own performance. The study of learning from data is not only commercially and scientifically important, but crucial for members in a modern society that has machine learning applications in almost every system we encounter. This course is designed to provide a thorough grounding in the methodologies, technologies, and algorithms of machine learning. The topics of the course draw from classical statistics, from machine learning, from data mining, and from statistical algorithms. It will also equip you with tools and examples for thinking about when using machine learning for a particular task is appropriate or effective.

The course is broken up into five overarching case studies (order might change):

  1. Regression
  2. Classification
  3. Clustering and Similarity
  4. Recommender Systems
  5. Deep Learning

Students entering the class should have a pre-existing working knowledge of probability, statistics and algorithms, though the class has been designed to allow students with a strong numerate background to catch up and fully participate.


  • Programming: CSE 143, CSE 160, or CSE 163.
  • Statistics: STAT 311, STAT 390, STAT 391, IND E 315, or Q SCI 381.

Course Rigor

There are many places to learn about machine learning online and at the University of Washington. CSE/STAT 416 is intended for the broadest audience of students. We want to make sure everyone can leave this class with a strong foundational understanding of machine learning techniques and concepts. Our guiding philosophy for this course now and when we were originally designing it is:

Everyone should be able to learn machine learning, so our job is to make tough concepts intuitive and applicable.

In practice, this means:

  • We minimize pre-requisite knowledge as much as possible. Students enrolled in this course should not be scared of seeing something they haven’t see before and we encourage an environment where students grow as learners.
  • Focus on important ideas and sometimes skip derivations or proofs to avoid getting bogged down. This does not mean proofs and derivations are not important (they are!), but we just don’t necessarily have the capacity to tackle them in this course. Alternate courses like CSE 446/546 or STAT 435 dive much deeper into the mathematical arguments.
  • We focus on the ability to apply theory to practice to best help students use these important concepts, or know when not to use them.

If you are a student that wants a much deeper course in machine learning, that’s great! We recommend keeping up with the optional readings we post, or consider taking CSE 446/546 or STAT 435.

Class Sessions

We are back in person this quarter, but there is a Zoom option on Canvas to allow the most flexibility for every student. We are trying to make lectures more engaging. This will mean our class time will be a mix of time for lecture and time for students to work on activities. Time in class spent on students actively participating in their learning has been shown numerous times to improve learning outcomes for students. To ensure there is time in class for these opportunities for active practice, we will also ask you to prepare to come to class each day by watching a pre-lecture video or reading a pre-lecture reading each day of class. The video or reading should take about 30 minutes to complete before class and the class session will begin where the pre-lecture video left off.

The live class sessions will be Monday/Wednesday, from 2:30 pm - 3:50 pm at CSE2 G20 / Zoom (link available on Canvas). Lecture attendance is not recorded in any way, but is expected you are attending class if you are able to stay on top of the course. Recordings will be available of the live lectures, but it is encouraged that you attend the live session if you are able so that you can 1) benefit from active participation with with your peers and 2) ask questions during class.

We recommend the following workflow to help you get the most out of your time with us during the quarter. For each day of class:

  • Complete the Pre-Recorded Videos: Watch the videos for the day. Learning is a process of trial and error! Write down your though process and if the explanation provided in the video reveals something you didn’t think of originally, make sure to write that down!
    • You should definitely be taking notes to refer to later! The videos will be broken up into smaller portions, so use the time before starting the next video to make sure your notes on the last section are complete.
    • Take pauses to pause and reflect on what you’re learning so far. How does this new concept relate to a past one? What doesn’t quite make sense about this yet?
  • Attend the Class Session: Come to class prepared with your notes from the lesson and what you found hard to understand or what you want to learn more about. We will start with a brief overview of the pre-lecture content and then dive in to the material for the day. There will be periodic time to answer questions that come up in class and time to work in groups on active-learning exercises.
  • Reflect: Now that you got some practice with the material for the day, it’s time to reflect on what you learned and you how you felt the day went. Write down a closing section of your notes to summarize what you learned and leave notes to yourself about what you might need to study more.
    • In a few sentences, describe in your own words what you learned learned today.
    • Why did we learn this concept?
    • How does this concept relate to what we’ve learned previously?
    • What parts did you find tricky? Are there things you feel like you still need to work on more before you master the concept?

You’ll find that with a topic like ML, which has many interconnected concepts, having a good set of notes to work from as a knowledge base is very important. Your goal is to try to build up a mental model for which techniques or ideas or relevant to a particular situation, how one idea compares/contrasts with another, and being able to recall terms. Trying to write these down as you go is a very important step in the learning process even though it takes extra time while you are taking notes. We’ll come back to this idea later in the syllabus, but you’ll find a good set of notes made during the week will be quite helpful when it comes time to do the weekly Learning Reflections.

Quiz sections

There are also quiz sections on Thursdays that will also operate to provide structured practice. Quiz sections will differ from our M/W class sessions in that they are smaller and run by the TAs and will focus on tying together concepts from the various days to help prepare you for your weekly homework assignments! Attendance in the class sessions and quiz sections are not recorded or used as part of your grade. However, it is expected that you are showing up and participating as much as you can so that you are maximizing your learning! You can meet and have thoughtful discussions with other peers in class in a much smaller setting.

Sections are held in-person. You’re welcome to attend any, even if they’re not part of If you cannot come to sections, that’s totally fine! We provide asynchronous recordings from one of our staff members for you to watch in your own time.

Required Coursework

There will be four categories of course work you will do in this class:

Homeworks (weekly)

Deadline: 11:59pm every Friday

Longer programming and conceptual assignments that will assess your mastery of the skills and concepts covered in class that week. They cover topics covered in lectures within one week before (there might be some topics from the Monday of the same week). Each homework is generally divided into two parts:

  • Programming: This part will involve writing Python code for specific programming problems that apply various machine learning topics. You will write your code locally on EdStem, where there is a specific autograder to check the accuracy of your code. However, you must submit the code on Gradescope where we do another check to ensure your code’s full accuracy. Autograder score is visible at the time of submission. The score on your last submission on Gradescope is final, and is counted towards your grade. We won’t attempt to read your code, so there’s no need to worry about style. However, we won’t award extra points for effort if your code fails, so please make sure to debug. Please do not hard-code your variables, as we might use different datasets for the unit tests on Gradescope.

  • Conceptual: Conceptual questions come in two forms: Quiz and Written.

    • Quiz: Quizzes are similar to checkpoint questions and are hosted on Gradescope. The only difference is that you won’t know the autograded score until after the deadline. You have unlimited attempts before the deadline.

    • Written: Written exercises will consist of questions that require you to defend your answers and show detailed work to ensure you have a thorough understanding of class concepts. We require you to submit a typeset PDF on Gradescope. We will not accept any handwritten submissions, as it will cause a major inconvenience for grading.

All assignments must be submitted on Gradescope for credit.

Special policy regarding pair submission: You’re allowed to submit each homework individually or in pairs. We don’t have any restriction on who you can pair with. The collaboration policy do not apply to two people in each pair.

Checkpoints (every lecture)

Deadline: 2pm before the next lecture

To go along with each lecture, there will be a “Checkpoint” for you to take on EdStem. Each checkpoint will consist of 5-10 questions that help you test your understanding of concepts covered in the pre-lecture content and lecture. The questions are intended to be straightforward to answer and are provided to help you better assess your learning through the course. Each checkpoint should not require more than 20-30 minutes. Checkpoint questions come in two forms: multiple choices (selecting one choice or many choices) and numerical answers. You have unlimited attempts on these questions. Once you get a question right, you should be informed that the answwer is correct along with an explanation. Solutions will be available after the deadline.

Checkpoints will be due 30 minutes before the next class. So for a class on Wednesday, the checkpoint for that day is due the following Monday at 2:00 pm. Checkpoints can be submitted up to 7 days late after the day they were due for 50% credit. You will submit Checkpoints on EdStem in the “Lessons” tab under that day’s lesson.

Learning Reflections (weekly)

Deadline: 11:59pm every Sunday

To aid your process of learning in this course, we will ask you to build up your own reference sheet for each week so that you can better look back at what you learned each week. We will provide more details on what you should turn in, but it is meant to be a low-stakes form of staying on top of the course. What we ask you to turn in is rather narrow in scope in the scope of your learning, so you are encouraged to keep other notes or reference materials outside of what we ask you to turn in!

You will submit learning reflections on Gradescope.

Exams (midterm + final)


The midterm will be scheduled on Tuesday, May 3 (week 6). You have three days (72 hours) to complete it. Technically, this exam is designed to take you a few hours to complete! Unlike homeworks, you are not allowed to collaborate or talk to any other students about the details of this exam. We won’t provide any help beyond clarifying questions.


The final will be released on Monday, June 6th at 12pm. You will have three days (72 hours) to complete it, so it must be submitted by Thursday June 9th at 12pm. Similar to the midterm, the final will be a takehome exam with around 60-70 questions. While the exam will be cumulative, the majority of the content we will test on will be from the later half of the course (content after the midterm). Week 5 content will not be tested on.

Unlike homeworks, you are not allowed to collaborate or talk to any other students about the details of this exam. We won’t provide any help beyond clarifying questions.

Late Work


Each student receives ten late days for the entire quarter. You may use late days on any homework, and each late day allows you to submit up to 24 hours late without penalty. For example, you could use 3 late days to submit on Monday by 11:59pm with no penalty. Once a student has used up all their late days, each successive day that an assignment is late will result in a loss of 10% on that assignment. The deduction will not be immediately applied, but will be reflected in the final grades you see on Canvas by the end of the quarter. It is your responsibility to track how many late days you have used in the quarter. You do not need to contact the course staff if you want to use a late day; our tools are set up to allow you to turn in late by your choice. There is a small grace period for last-minute submission issues, but you should plan ahead to avoid depending on it.

No assignment may be submitted more than 3 days (72 hours) late without permission from the course instructor. In other words, this means there is a practical upper limit of 3 late days usable per assignment. If unusual circumstances truly beyond your control prevent you from submitting an assignment, you should discuss this with the course staff as soon as possible. If you contact us well in advance of the deadline, we may be able to show more flexibility in some cases.


You cannot use late days on checkpoints. However you can turn them in up to a week after their due date for 50% credit.

Learning Reflections

You cannot use late days on learning reflections. We do not accept late submissions.

Note on Extenuating Circumstances: If you have extenuating circumstances for an assignment, please contact the instructor as soon as possible to discuss accommodations. See the section below on Extenuating Circumstances.

Extra credit

We don’t believe in faulting people if they don’t perform well on homeworks or exams occasionally. There are a lot of extra credit opportunties in this class, up to 5% of your overall grades:

  • Responding to other students’ questions on EdStem as actively as possible. We won’t give you a definite answer on how active you should be to be eligible. Just do your best and contribute to class discussions within your capacity.

  • Writing original, thoughtful analysis of interesting machine learning topics on EdStem, such as linking external sources and providing your opinions. Pemi will endorse the well-written ones.

  • Submitting answers to extra credit problems from homeworks.

  • Towards the end of the quarter, we will invite some researchers or ML practitioners to give talks on specific applications of ML. You can attend those and write a reflection on each event. More information on this will be provided later into the quarter.


Grade Breakdown

Your percentage grade in this course will be weighted using these categories:

Category Total numbers Weight Number of lowest submissions dropped
Homeworks 9 45% 1
Checkpoints 20 10% 3
Learning Reflections 10 10% 1
Midterm 1 15% 0
Final 1 20% 0
Total 100%

There will sometimes be small extra credit opportunities as well, but these will not make a major impact in course grades. The extra credit can affect your grade by potentially pushing you up to the next grade point if you are very close (e.g. 3.0 to 3.1). They are meant to be fun extensions rather than required parts of the course. Our advice is to complete extra credit for your own learning or review, but it is unlikely to be an efficient use of your time if you are completing it solely to boost your grade.

Course Grades

A very common question students ask is: “Is this class curved?” Curving is generally seen as process of assigning course grades so that there is a fixed, pre-determined mean or median (although there are many different things people can mean when something is curved). We do not curve in this course!

Instead, we will assign course grades using a bucket system: if you earn at least the percentage specified in the left column, your course grade will be at least the grade listed on the right. These are minimum guarantees: your course grade could be higher than what this table suggests. Do note, we do not make any guarantees of the course grades within these buckets.

Percent Earned Course Grade
90 3.5
80 3.0
70 2.5
60 2.0
50 0.7

If you have a specific goal in your course grade, please feel free to reach out to the course staff or directly to the instructor and we can work together to talk about what you can expect in terms of meeting that goal.

Getting Help from Staff & Peers

EdStem Discussion Board

EdStem serves as online discussion forums. For most questions about the course or materials, they are the right place to ask: the course staff read EdStem regularly. On EdStem, you can also submit questions anonymously or privately to the course if you are more comfortable doing so.

Office Hours

Office Hours are scheduled times where you can meet with members of the course staff to discuss course concepts, get assistance with specific parts of the assignments, discuss computer science and/or life outside of it, and work with peers and course staff in a small group setting.

Because of the unique circumstances that we’re still transitioning back to in-person post-COVID, there is a mix of in-person and virtual office hours. More information about office hours can be found on the [office hours page](/ of this website.

Other ways

You will make a lot of academic progress by making friends and interacting with other peers. We strongly encourage you to form study groups by exchanging contact information, or by communicating with others on Discord. We will try to help you find

Academic Honesty and Collaboration Policies


Learning is a collaborative process, and everyone benefits from working with others when learning new concepts and skills. In general, we encourage you to collaborate with your classmates in your learning and take advantage of each others’ experience, understanding, and perspectives.

However, there is a difference between learning collaboratively and completing work for someone else. This can be a subtle but important distinction. Ultimately, the goal of the course is to ensure that every student masters the material and develops the skills to succeed in future courses, projects, and other related work. Submitting work that is not your own, or allowing another student to submit your work as their own, does not contribute toward developing mastery. In addition, this deprives you of the ability to receive feedback and support from the course staff in addressing the areas in which you are struggling.

For more information, consult the Allen School policy on academic misconduct.

Permitted and Prohibited Actions

Sometimes the line between productive collaboration and academic dishonesty can be a little ambiguous. The following is a partial list of collaborative actions that are encouraged and prohibited. This list is not intended to be exhaustive; there are many actions not included that may fall under either heading. This list is here to help you understand examples of things that are/aren’t allowed. If you are ever unsure, please ask the course staff before potentially acting in a way that violates this policy.


The following types of collaboration are encouraged:

· Discussing the content of lessons, sections or any provided examples.

· Working collaboratively on solutions to practice problems or checkpoints.

· Posting and responding to questions on the course message board, including responding to questions from other students (without providing assessment code; see below).

· Describing, either verbally or in text, your approach to a take-home assessment at a high-level and in such a way that the person receiving the description cannot reliably reproduce your exact work. Such description should be in English or another natural human language (i.e., not code).

· Asking a member of the course staff about concepts with which you are struggling or bugs in your work.


The following types of collaboration are prohibited and may constitute academic misconduct:

· Looking at another person’s submission on a take-home assessment, or substantially similar code, at any point, in any form, for any reason, and for any amount of time. This restriction includes work written by classmates, family members or friends, former students, and online resources (such as GitHub or Chegg), among other sources.

· Showing or providing your submission on a take-home assessment to another student at any time, in any format, for any reason.

· Submitting work that contains code copied from another resource, even with edits or changes, except for resources explicitly provided by the course staff.

· Having another person “walk you through” work you submit, or walking another person through work they submit, such that the work produced can be entirely and reliably reconstructed from the instructions provided. (That is, submitting work that you produced simply by following instructions on what to write.) This restriction includes classmates, former students, family members or friends, paid tutors or consultants, “homework support” services (such as Chegg), etc.

If you discuss a assignment with one or more classmates, you must specify with whom you collaborated in the header comment in your submission. You may discuss with as many classmates as you like, but you must cite all of them in your work. Note that you may not collaborate in a way that is prohibited, even if you cite the collaboration.


A good rule of thumb to ensuring your collaboration is allowed is to not take written notes, photographs, or other records during your discussion and wait at least 30 minutes after completing the discussion before returning to your own work. You could use this time to relax, watch TV, listen to a podcast (I can’t recommend 99% Invisible enough!), or do work for another class. For most students, this will result in you only bringing the high-level concepts of the collaboration back to your work, and ensuring that you reconstruct the ideas on your own.

Instead of utilizing forbidden resources, we hope you will submit whatever work you have, even if it is not yet complete, so you can get feedback and revise your work later. If you are ever in doubt if a collaboration or resources is permitted or not, please contact a member of the course staff.


The course staff has endeavored to create an environment in which all students feel empowered and encouraged to submit their own work, regardless of the quality, and avoid prohibited collaboration. However, despite our best efforts, students may occasionally exercise poor judgement and violate this policy. In many cases, these students come to regret this decision almost immediately. To that end, we offer the following opportunity for amnesty:

If you submit work that is in violation of the academic conduct policy, you may bring the action to Pemi’s attention within 72 hours of submission and request amnesty. If you do so, you will receive a reduced grade on just that assignment but no other further action will be taken. This action will not be shared outside of the course staff and will not be part of any academic record except in the case of repeated acts or abuses of the policy.

This policy is designed to allow students who have acted in a way they regret the opportunity to correct the situation and complete their work in a permitted way. It is not intended to provide forgiveness for violations that are detected by the course staff, nor to be invoked frequently. It is still in your best interest to submit whatever work you have completed so that you can receive feedback and support.

Software and Textbooks

Most of the course will be run on EdStem. This includes the checkpoints, as well as the discussion board and where you can complete coding portions of assignments. We will use EdStem to turn in concept checks and the programming portion of assignments, and Gradescope to turn in the concept portion and learning reflections.

There is no official textbook for the course yet (we are currently working on one!) so any readings or videos will be posted on the course website.

One of the benefits of using EdStem is that it comes fully featured with an online programming environment. This means you do not need to install any software as long as you can work online! If you would like to set up Python for local development, we will use Python 3 installed via Anaconda on all programming assignments and Jupyter Notebooks are the editors we will use for our programming. You may use other installations of Python or IDEs, but the course staff may not necessarily be able to help you with any set-up related questions you may have. Since we will be remote this quarter, we do not recommend doing this setup right away since it is difficult to debug a setup remotely. When working on your final project, you might want to install this if your dataset is too large to be stored on EdStem.

This quarter, we will use a number of different tools in CSE/STAT 416. Reach out to the course staff if you have questions about using any of them. Please see the Course Tools page for more information about the particular tools we will use this quarter and our policies surrounding them.


During the scheduled class sessions, some time will be spent having you work with your peers in small groups in cass. To accommodate students who can not make the actual class time, we provide recordings on Panopto. However, only Pemis’s voice can be heard clearly. If you were to speak in the classroom during lectures, that will not likely to be heard in the recordings. The recordings will only be accessible to students enrolled in the course to review materials. These recordings will not be shared with or accessible to the public.

The University and Zoom have FERPA-compliant agreements in place to protect the security and privacy of UW Zoom accounts. Students who do not wish to be recorded should: * Choose a Zoom username that does not include any personal identifying information like their name or UW Net ID (although it must be class-appropriate); and * Not share their computer audio or video in the main room of the Zoom sessions. * Quiz sections and office hours will not be recorded to protect student privacy in these more discussion-based formats.


All students are welcome in CSE/STAT 416 and are entitled to be treated respectfully by both classmates and the course staff. We strive to create a challenging but inclusive environment that is conducive to learning for all students. If at any time you feel that you are not experiencing an inclusive environment, or you are made to feel uncomfortable, disrespected, or excluded, please report the incident so that we may address the issue and maintain a supportive and inclusive learning environment. You may contact the course staff or the CSE academic advisors to express your concerns. Should you feel uncomfortable bringing up an issue with a staff member directly, you may also consider sending anonymous feedback or contacting the UW Office of the Ombud.

Course Climate

Extenuating Circumstances: “Don’t Suffer in Silence”

We recognize that our students come from varied backgrounds and can have widely-varying circumstances. We also acknowledge that the incredibly unusual circumstances of this particular quarter may bring unique challenges. If you have any unforeseen circumstances that arise during the course, please do not hesitate to contact the course staff or the instructor to discuss your situation. The sooner we are made aware, the more easily we can provide accommodations.

Typically, extenuating circumstances include work-school balance, familial responsibilities, health concerns, or anything else beyond your control that may negatively impact your performance in the class. Additionally, while some amount of “productive struggle” is healthy for learning, you should ask the course staff for help if you have been stuck on an issue for a very long time.

Life happens! While our focus is providing an excellent educational environment, our course does not exist in a vacuum. Our ultimate goal as a course staff is to provide you with the ability to be successful, and we encourage you to work with us to make that happen.


Your experience in this class should not be affected by any disabilities that you may have. The Disability Resources for Students (DRS) office can help you establish accommodations with the course staff.

DRS Instructions for Students

If you have already established accommodations with DRS, please communicate your approved accommodations to the lecturers at your earliest convenience so we can discuss your needs in this course.

If you have not yet established services through DRS, but have a temporary health condition or permanent disability that requires accommodations (conditions include but not limited to; mental health, attention-related, learning, vision, hearing, physical or health impacts), you are welcome to contact DRS. DRS offers resources and coordinates reasonable accommodations for students with disabilities and/or temporary health conditions.

Reasonable accommodations are established through an interactive process between you, your lecturer(s) and DRS. It is the policy and practice of the University of Washington to create inclusive and accessible learning environments consistent with federal and state law.

Religious Accommodations

Washington state law requires that UW develop a policy for accommodation of student absences or significant hardship due to reasons of faith or conscience, or for organized religious activities. The UW’s policy, including more information about how to request an accommodation, is available at Religious Accommodations Policy. Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form.