# Syllabus

## Course Goals

CSE 417 is a non-major student’s introduction to algorithms. By the end of this course, you will be able to:

• Model word problems as computational problems.
• Determine an appropriate algorithm design paradigm for a new problem.
• Design an algorithm for a new problem and argue its correctness.
• Identify and cope with computational problems that are infeasible.
• Consider the implications of modeling decisions in the real world.

Communication is a key aspect of this course. It is not enough to write code that works, you will also need to convince others that your code will work!

## The Pandemic Reality

We are still in the middle of a health emergency!

The course is being offered in a new format. We intend to stick to this syllabus as closely as possible. If we do make changes, it will always be to your benefit. We may propose changes if there are significant changes to the public health situation.

In return, we ask that you do not suffer in silence. If unforeseen circumstances arise during the quarter, you should let us know. The sooner we are made aware, the more options we will have for designing accommodations.

If you have ideas to improve the course, you can send us anonymous feedback.

## Assessments

### Lecture Activities

In lecture, we will ask you to respond to polling questions. These activities are always graded for completion and not for accuracy.

You can get credit for lecture activities whether you can make the lecture or not:

• If you are in the live lecture, we will have a poll on PollEverywhere. Answering the poll question and participating in the breakout rooms give credit for the activity.
• If you watch the recording later, we will have a Canvas quiz containing the same activities and a reflection question to replace the group discussion.

We will merge the participation records across the two platforms at the end of the quarter.

Your percentage for this category is $$\frac{\texttt{min}(\text{Days completed}, 25)}{25}$$. This means that you cannot get extra credit by attending more than 25 lectures, but there is some leeway to miss lectures.

### Homeworks

There will be approximately eight week-long homeworks. Some homeworks include a “real world” component that deals with the implications of algorithms.

Homeworks are both a chance for you to improve your understanding and for us to evaluate how well you understand the material. For that reason, although you are encouraged to discuss the problems with one another, you must still write solutions up on your own. More details are included in the collaboration policy.

### Exams

We will not have traditional exams this quarter. Instead, we will have a single take-home final. It will be similar in style to a homework assignment, but cumulative and with different collaboration rules.

More details and practice materials will be announced closer to the exams.

### Extra Credit

We will have occasional extra credit problems on homework assignments. These problems are intended to allow students who want to dig deeper into the material and work on more challenging problems.

Extra credit will have an infinitesimal effect on your final GPA. It is computed separately from other grades and factored in only after grade cutoffs have been determined.

The goal of our exercises is for you to fully understand and internalize the approach to the materials. To that end, we take academic integrity very seriously. We refer violations of departmental policies to the Office of Academic Affairs.

### Collaboration

You are allowed (and encouraged!) to discuss homework problems with other students, as long as you:

• Do not take away any notes or screenshots during your discussion.
• Take a 30-minute break1 before writing up your solution individually.
• Cite the names of all of your collaborators somewhere in your writeup.

Programming problems must also be written up individually. That means you may discuss plans with others (e.g., which data structures you plan to use) and you may help each other debug, but you may not write code while looking at another student’s code.

If you are confused as to whether or not some collaboration is allowed, ask us! No set of rules will be completely exhaustive.

If something weird happens, please tell us too! We will not take action if you tell us about it before turning in the assignment.

### Resources Outside of CSE 417

You are strongly encouraged to seek out resources beyond official course resources, with the following caveats:

• Definitions and terminology can differ significantly depending on the author. Be careful that other resources are saying what you think they are saying.
• You may not search with the intent of finding a solution to the exact homework problem being asked.
• You may not use commercial tutoring resources like Chegg for the problems we ask, nor post our materials or your answers to those websites.
• You may not publicly post code you have written for this course, even after the course is over.

### Scenarios

What happened?Is it a violation?
When searching for general information, you accidentally find the exact question we asked. You tell the staff, and provide a link to what you found.Not a violation!
We’ll say thanks for letting us know and make sure you didn’t plagiarize. There won’t be a penalty but only a warm, fuzzy feeling.
You and a friend separately write up solutions, then compare. Your friend suggests that your conclusion is a little unclear. You formulate a new conclusion on the Zoom call together.Violation!
That is no longer your individual writeup.
You and a friend separately write up solutions, then compare. Your friend suggests changing $$\exists$$ to $$\forall$$ and switching the name $$x$$ to $$p$$. You wait 30 minutes, then return to your writeup, decide the changes would be improvements, and incorporate them.Not a violation!
Minor rewordings done by you at another’s suggestion are fine. The writeup is still substantially yours.
You find a textbook with sample solutions to similar problems. You see that they like to introduce variables with “Consider” and use “hence” instead of “because.” You copy these words, because they seem cooler.Not a violation!
Single words or stock phrases are things you can learn from. It is not a violation to emulate style (but “hence” is a little archaic).

## Late Policy

### Homeworks

You will have four late days to use during the quarter for homework assignments. A late day allows you to turn in an assignment up to 24 hours later without penalty. Simply submit late and we will keep track of your usage internally.

Regardless of how many late days you have, you cannot submit an assignment more than 48 hours after it is due without prior permission from course staff.

For example, an assignment due at 11:59 PM on Friday could be turned in at 11:58 PM on Sunday with no penalty by using two late days. However, you cannot submit once you see 11:59 PM on the clock, as it would have been 48 hours past due.

If you run out of late days, you may still turn in an assignment late, at a penalty of 15% of the assignment’s point value per day.

Late days are designed to handle the “normal” difficulties in a quarter (e.g. prioritizing different courses, fundraising for an RSO, or attending a relative’s birthday Zoom call). If your situation goes beyond those “normal” circumstances, you should contact the course staff as early as you can.

### Lecture Activities

The Canvas quizzes for a given week will close at 11:59 PM on Sunday. If you have any homework late days leftover at the end of the quarter, we will add them to your lecture activities grade.

### Exams

You cannot submit the final exam late.

If you have extenuating circumstances that interfere with completing these activities on-time, you should contact the course staff.

## Course Tools

### Zoom

Zoom is how meetings will be delivered. Lecture and Office Hours links will be available on Canvas and Ed.

Zoom meetings will be restricted to accounts logged in with @uw.edu email addresses. If you have trouble joining a meeting, make sure you choose the “Sign in with SSO” option.

### Ed

Ed is our discussion board and the right place to ask any questions about the course. It works like Piazza, but Piazza is moving to an ad-supported model, so we paid for an alternative.

We will happily answer questions from lecture or about general concepts. We also will answer clarifications about homework (e.g. correcting typos). You are most encouraged to answer each other’s questions on the message board as well.

If you have a question that might reveal your approach to a homework problem, you must ask the question privately. For accommodations and other private questions, you can ask privately on Ed or email the instructor directly. Only you and the course staff can see a private question on Ed.

Gradescope is the tool to turn in completed assignments. After grading, you can also find our feedback there and submit regrade requests if needed.

You will get an automatic email with account setup instructions before HW1 is due.

### Canvas

We will only use Canvas for the makeup quizzes and gradebook syncing. We will not communicate through Canvas – please monitor this website and Ed instead.

### Java

Homeworks frequently contain a small programming portion. Because this course assumes knowledge from CSE 373, these programming questions are given in Java.

If you do not already have Java from prior quarters, you can grab it from AdoptOpenJDK. We expect any JDK above 8 would work.

## Accommodations

If you have, or think you may have, a temporary health condition or permanent disability, contact Disability Resources for Students (DRS) to get started with accommodations.

Accommodations for faith or conscience reasons must be requested within the first two weeks using the Registrar’s request form. The UW’s religious accommodations policy is available here.

Your performance in this course should not be affected by circumstances beyond your control. We can still work with you for situations other than the university-wide accommodations. If anything does come up, you should contact the course staff as early as you can.

1. Some CSE instructors have previously recommended watching an episode of Gilligan’s Island for that break, but Gilligan’s Island isn’t on Netflix. Robbie recommends The Office. Howard recommends Documentary Now. ↩︎