Info
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.
Info
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!
Goals¶
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
- Regression
- Classification
- Clustering and Similarity
- Recommender Systems
- 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.
Prerequisites:
- 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¶
To best support your learning in CSE/STAT 416 this quarter, we will be using a hybrid classroom model. 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 on Zoom. 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. The pre-lecture videos will be hosted on a website called ItemPool, that lets us embed questions to help you test your understanding during the videos. ItemPool questions are not factored into your grade in any way, but you should still do them since testing your understanding is a crucial part of the learning process.
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. When ItemPool prompts you for a question, actually pause the video and take some time to think through and answer before continuing. Then, when the video explains the answer make sure you had the right reasoning. If you were incorrect, that’s okay! 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.
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!
Privacy¶
During the scheduled class sessions, some time will be spent having you work with your peers in small groups. This will be facilitated by Zoom’s Breakout Room feature. Other times in the class, we will be in the main room where Karthikwill be lecturing or answering questions. To accommodate students who can not make the actual class time, the times in the main room will be recorded so students in the course can view the recordings after class. Only the instructor’s video and screen will be recorded in the main room, no recordings will happen in the breakouts. If you were to speak in the main class room during the class session, that will be recorded. The chat is not made available in the recording, but it is being stored by Zoom.
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. This only applies to the main room, as the breakout rooms are not recorded.
- Quiz sections and office hours will not be recorded to protect student privacy in these more discussion-based formats.
Inclusion¶
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.
Required Course Work¶
There will be four categories of course work you will do in this class:
Checkpoints (daily)
To go along with each lecture, there will be a “Checkpoint” for you to take on EdStem. Each checkpoint will consist of 4-8 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.
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. The checkpoints are set up to inform you whether or not your answers are correct, and you can submit as many times as you want. 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.
Assignments (weekly)
Longer programming and conceptual assignments that will assess your mastery of the skills and concepts covered in class that week. Each assignment is generally divided into two parts: One part is a programming assignment that will involve writing Python code, processing and analyzing data, and answering open ended questions all based on that analysis. The second part focuses on answering conceptual questions at a high level or might involve doing some calculation by hand.
While Take-home assessments will emphasize content covered in the week preceding the assessment’s release, they will often integrate content from earlier in the quarter as well. Assessments will generally be due on Tuesdays at 9:00 pm and must be completed independently, though you may discuss your approach with classmates (more on this below).
You will submit Programming portion of assignments on EdStem and the Concept portion of the assignment on Gradescope.
Learning Reflections (weekly)
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.
Exam (one)
There will be one exams during the quarter — see the course calendar for dates. The exams are open-note and unlike the individual exercises, group submissions are allowed. Instead of being timed, each exam will be open for 48 hours. The exams are written to be completed within one sitting, but you can use the entire 48 hours to work on them.
More details about the exams will be published closer to their release.
Getting Help from Staff & Peers¶
Discussion Board¶
EdStem and Discord both serve 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 and many students also use the Discord as a social space, so you will get a quick answer. On EdStem, you can also submit questions anonymously or privately to the course if you are more comfortable doing so.
To meet with us, the best way is to visit our virtual Office Hours. Many of us are available at other times by appointment. In Office Hours, you can ask questions about the material, receive guidance on assignments, and work with peers and course staff in a small group setting.
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, or discuss computer science and/or life outside of it.
Because of the unique circumstances in our online quarter, the majority of office hours this quarter will be held via Discord and Zoom. More information about Discord and its associated privacy policy can be found on the office hours page of this website.
Grades¶
Grade Breakdown¶
Your percentage grade in this course will be weighted using these categories:
Category | Number | Weight |
---|---|---|
Programming Projects - Code Portion | 9 | 60% |
Programming Projects - Concept Portion | 9 | 20% |
Checkpoints | 20 | 10% |
Learning Reflections | 10 | 10% |
Total | 100% |
We will also drop your lowest 3 Checkpoints and 1 Learning Reflection in your final grade computation.
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.
Policies¶
Academic Honesty and Collaboration¶
Philosophy¶
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.
Encouraged
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.
Prohibited
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.
Tip!
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.
Amnesty¶
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 Hunter’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.
Late Work¶
Each student receives six late days for the entire quarter. You may use late days on assignments, and each late day allows you to submit up to 24 hours late without penalty. For example, if a project is due on Tuesday at 9:00pm, you could use 2 late days to submit on Thursday by 9:00pm 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 2 days (48 hours) late without permission from the course instructor. In other words, this means there is a practical upper limit of 2 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 or learning reflections, however you can turn them in up to a week after their due date for 50% credit. Late work for exams will not be accepted.
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.
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.
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.
Disabilities¶
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.