CSE/STAT 416, Summer 2020: Syllabus

CSE/STAT 416, Summer 2020

Introduction to Machine Learning

Teaching staff:

Times:

  • Lecture: Monday & Wednesday from 8:40 to 10:40 AM at aka.ms/cse416 (Zoom)
  • Final Exam Wednesday, August 19, Online

Other:

  • Prerequisite:
    • One of CSE 143, CSE 160, or CSE 163
    • One of STAT 311, STAT/MATH 390, or STAT 391
  • Course website: https://cs.uw.edu/416

Goals (link)

It is hard to imagine anything more fascinating than automated systems that improve their own performance. The study of learning from data is commercially and scientifically important. 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 algorithmics.

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.

The course is broken up into five overarching case studies

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

Assessment (link)

Here is how your grade will be calculated:

  • Homeworks: 65%
    • Programming Portion: 50%
    • Concept Portion: 15%
  • Participation: 5%
  • Final Exam: 30%

This maps to the 4.0 grade scale roughly as follows. You will get at least the grade below for the percentages shown:

  • 90% at least 3.5
  • 85% at least 3.0
  • 80% at least 2.5
  • 75% at least 2.0
  • 70% at least 1.5
  • 60% at least 0.7

Homework

Most weeks, there will be a homework assignment that is generally divided into two parts. The first 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. Each of these portions contribute to your grade separately as per the section above.

Homework assignments should be completed individually by each student without the use of materials outside the class. Please refer to the Academic misconduct policy.

If you are not satisfied with a grade you receive on a homework, you should refer to the regrade policy.

Participation

The participation grade will be determined as a percentage of submissions on PollEverywhere in-class discussion questions. Each question will be opened during lecture, and the PollEverywhere links will be open for 24 hours after the lecture has been broadcast to enable students in different time zones to attempt these questions. The questions are not graded on accuracy -- you will get full credit for attempting them.

Final Exam

There will be one written final exam provided online on the last day of class. You will be allowed your notes and access to course materials.

Make-up exams will only be given in case of a serious emergency. If you cannot take the exam, even if you are sick or injured, you must contact Vinitra BEFORE the exam (or arrange for someone to do so). You must show evidence that you are physically unable to take the exam. No make-ups will be granted for personal reasons such travel or conflicting schedules. No accommodations will be made for students who arrive late to exams. The only accommodations for exams that will be made are those that correspond to the University's official accessibility guidelines, which must be reflected in your student account.

Late days (link)

Each student receives 4 "late days" for use on homework assignments. A late day allows you to submit a program up to 24 hours late without penalty. For example, you could use 2 late days and submit a program due Thursday 11:30pm on Saturday by 11:30pm with no penalty. Once a student has used up all the late days, each successive day that an assignment is late will result in a loss of 10% on that assignment. Regardless of how many late days you have, you MAY NOT submit a program more than TWO days after it is due. Leftover late days have no impact on your grade.

If unusual circumstances truly beyond your control prevent you from submitting an assignment or attending an exam on time, you should discuss this with the course staff ASAP. If you contact us well in advance of the deadline, we may be able to show more flexibility in some cases.

Academic honesty and collaboration (link)

We take academic honesty very seriously. Cheating not only deprives you of practice and understanding, but is also unfair to the rest of your class. Therefore, please restrict attention to the materials provided as a part of this course (lecture slides, quiz section handouts, etc.) when solving the programming assignments and concept quizzes and do not copy answers from anywhere. If you do happen to use other material, it must be acknowledged clearly with a citation on the submitted solution. Reading unauthorized material will be considered cheating. Please ask us if you unsure about the use of a particular reference.

You are still, however, encouraged to discuss assignments and course content on a high level with your classmates so long as you:

  1. Make a serious attempt on each and every problem or coding project before discussing it with others.
  2. Limit cooperation to just group discussion and brainstorming. A good rule of thumb is that you should not take away any written notes, photographs, or other records from your brainstorming session.
    • Do not show your code to another student, nor should you look at another student's code directly. This includes current and former students, tutors, friends, paid consultants, people on the internet etc...
    • Do not post your homework solution code publicly online for any reason.
    • Some of the concept questions might have multiple choice answers. These are generally much more difficult to talk about at a high level since we don't want you telling anyone which answers are correct or incorrect. Again, your discussions should be at a high level and should not discuss the actual answers.
  3. Write up each and every problem in your own writing, using your own words. (Similarly, you must write code on your own).
  4. List each person you collaborated with at the top of your written homework or in your project writeup and which parts you collaborated on.

If you have a specific question about your code or written work, the only person you may show your work is a member of the course staff.

Cheating: If you do not follow these rules, you will be considered to have cheated. Cheating is a very serious offense. If you are caught cheating, you can expect a failing grade and initiation of a cheating case in the University system. Cheating is an insult to other students, to the instructor, and to yourself. If you feel that you are having a problem with the material, or do not have time to finish an assignment, or have any number of other reasons to cheat, we have many mechanisms for getting help. Copying the work of others is not the solution.

For more details, see this Academic Misconduct page. If you're not sure if something constitutes cheating, send the instructor an email describing the situation.

Getting help (link)

There are two main ways of getting help:

  • Piazza:

    You can find the access code to join Piazza on our course Canvas page

    We use Piazza as an online Q&A forum where you may ask questions (both publicly and privately). If you have a question, this should be the first place to check & it's often the case that other students may have had the same question.

    We also strongly recommend you monitor new questions asked on Piazza semi-regularly: seeing questions other students ask can often be surprisingly enlightening.

    We do not have a course staff email so if you have a question about a particular concept or part of the assignment that you do not want to post publicly on Piazza, you should post privately so that the instructor or any of the TAs can answer. Students should prefer using Piazza instead of emailing individual staff members. Obviously, if your concern is a personal matter that you want to talk to the instructor about, you may email the instructor individually.

    Note: The use of "Piazza Careers" is not required and you do not need to put any personal information in the website.

  • Office hours:

    Please visit office hours! Answering questions during office hours is often one of the best parts of teaching, so please do us a favor and make use of them.

One additional resource to keep in mind is the resources page on the class website. This page contains links to a variety of guides, tips, and tricks on material we don't have time to fully cover during lecture or section. The resources there might not always be relevant, but they're checking from time to time.

Software and textbooks (link)

We will be using Jupyter Notebooks written in Python 3 in this class to solve the programming assignments. Students will have two options supported by the course staff to write/execute their code.

  • Google Colaboratory: An online editor and runner for Jupyter Notebooks made by Google. Requires no installation but does require an internet connection.
  • Jupyter Notebooks installed via Anaconda so you can write/run code locally on your computer. Installation instructions can be found on the Software page.

We will be using Gradescope to submit all assignments.

There is no required textbook for this class, all of the referenced resources are available online and for free! There may also be some optional readings from textbooks that can be purchased, but these are by no means required.

Disability Resources for Students (link)

Your experience in this class is important to the CSE 416 teaching team. If you have already established accommodations with Disability Resources for Students (DRS), please communicate your approved accommodations to Vinitra 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 at 206-543-8924 or uwdrs@uw.edu or disability.uw.edu. 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 instructor(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 (link)

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 policy, including more information about how to request an accommodation, is available on the Religious Accommodations Policy section of the registrar website. Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form.

Acknowledgements (link)

We thank Ruth Anderson, Valentina Staneva, Jake VanderPlas, Ariel Rokem, Joe Hellerstein, and Magdalena Balazinska for their contributions to designing this course. Hunter Schafer, Zorah Fung, Melissa Hovik, and Nicole Riley created the course content for this initial offering of the class with input from Ruth Anderson. Special thanks to Magdalena Balazinska, Dan Grossman, and the eScience Education Working Group for their leadership in creating this course.