• 11/22: We have increased the amount of dropped exercises from two to four.

Course Description

Covers abstract data types and structures including dictionaries, balanced trees, hash tables, priority queues, and graphs; sorting; asymptotic analysis; fundamental graph algorithms including graph search, shortest path, and minimum spanning trees; concurrency and synchronization; and parallelism.

Prerequisites: CSE 311 (Foundations of Computing I)

Textbook: None required. Optional textbook (as an additional reference):

Pandemic Changes

There's still an ongoing pandemic! Over the summer, President Cauce shared this guidance with everyone:

Instructors are not expected to create two versions (in-person and remote) of a course or to handle requests for accommodations that typically go through Disability Resources for Students. Of course, as in years past, students will at times need to miss class due to illness or other special situations, and we would ask that instructors work with students in those circumstances, as they did pre-pandemic. The same pre-pandemic practices for when instructors must miss class also apply.
Here's how we're implementing that directive:
  • Lectures will be recorded, and will be posted as soon as possible (Panopto has some unavoidable processing time. They usually are up the same day as lecture). We'll also have an "FAQ" thread for each lecture on Ed where you can ask lingering questions (whether you were there in-person or not).
  • Sections will not be recorded, but we will share materials (handouts and solutions) before section. For some sections, we'll have a video of a TA walking through the problems that were discussed, but these won't contain the questions or discussions students had during the section.
  • Office hours are both in-person and over Zoom. We will send out a survey first week of classes to get a sense for how many of each we should hold.
  • The midterm is simulated as a way to get you more familiar with what it's like to take a timed, in-person exam again. We will not grade the midterm for correctness (we'll grade on having good-faith attempts at the problems and on a reflection of how it went) — we will offer the exam in-person, but if you don't want to take it in-person (for any reason), you can just take it at home the same day.
  • An in-person, graded final is currently what we are planning for.

    We are working with UW to try to get a larger (or second) room so that we can have some distancing.

    If you want DRS accommodations (e.g., because you have a condition that would make it unsafe or undesirable to be in a distanced group of 50+ people inside), you should email DRS as soon as possible. Once established, DRS will contact us directly to get these accomodations set up for you.

    If you have a personal reason that you're avoiding large, distanced groups indoors (e.g., you have a family member or roommate who is immunocompromised), we'll have a smaller room for taking the exam at the same time. You may request to be placed in that room — we won't ask for documentation about your request.

    We will be prepared to have alternate exams for students needing those accommodations as well as for students who are sick or need to quarantine during the regular final. We also won't ask for proof of exposure/illness to take the alternate exam.

    We will also be watching the general course of the pandemic (in King County, and at UW specifically). If it becomes impractical (or impossible) to hold the final in-person, we will switch the mode of the exam.

  • What if I become ill during the quarter? We'll have a variety of accommodations available depending on how long and severe your illness is (whether it's COVID or something else):
    • Virtual Office Hours, lecture recordings, and late days can handle most minor illnesses.
    • We can give extensions to individuals who are sick for an extended period where late days are not sufficient (or for groups where one partner is sick). In particularly extreme cases, we can also "forgive" assignments (e.g., let you skip an exercise and use your average from the remaining ones).
    • If you are sick at the end of the quarter, you may be able to take an Incomplete (I) and wrap up any remaining work next quarter.
  • Contingency plans:
    • If Robbie needs to quarantine for a short time (e.g., while waiting for a test result), we'll switch to an asynchronous lecture for that day (i.e., post a video), or find a (synchronous) substitute lecturer. If Robbie needs to quarantine for an extended period of time (more than one lecture) we'll pivot to (synchronous) Zoom lectures.
    • If a TA for in-person Office Hours needs to quarantine, we will switch their Office Hours to Zoom.
    • We have plans in place to make sure sections can still meet in person even if one of the TAs needs to quarantine (assuming the other students and TA didn't have the same exposure).
    • If the university decides to convert all classes to virtual, we will use Zoom for synchronous lectures, sections, and Office Hours.

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 local or global health situation.

We are doing our best to learn and teach during a pandemic. But… we are still in the middle of a pandemic! If unforeseen circumstances arise during the quarter, please do not hesitate to talk to the course staff. The sooner we are made aware, the more options we will have for designing accommodations. You can also send us anonymous feedback with ideas to improve the course.


Your grade will be calculated using these components:

40% projects, 40% exercises, 5% simulated midterm, 15% final

Above and Beyond

Certain programming assignments have "Above and Beyond" sections that are meant to be fun extensions. You won’t see these affecting your grade for individual projects, but they will be accumulated over all assignments and used to bump up borderline grades at the end of the quarter.

These points will only have a small effect on your overall grade (possibly none if you are not on a borderline) and you should prioritize doing well on the non-extra credit portions of the homework before attempting any extra credit.

Special Handling for Exercise Grades

Your four lowest-scored exercises will not be counted towards your total points in the Exercises category. Instead, we will factor those points into the Above and Beyond category. This could positively affect your grade in the manner described in the section above, but in the worst case, it just means your two lowest exercises scores will be dropped.

Late Policy

You will have four late days that you can use for projects. A late day allows you to turn in an assignment up to 24 hours later without penalty. In a partner project, both partners must have a late day to submit a partner project late.

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

You may not submit exercises late during the quarter. However, at the end of the quarter, you may use each late day you have remaining to resubmit an exercise. We will replace that exercise's grade if you score higher on the resubmission.

Academic Integrity

We encourage collaboration between students. Our academic integrity policy is designed to reflect this principle, with some guardrails to discourage behaviors that do not reflect actual learning.


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

  • Do not take away any work product, notes, or screenshots from your discussion. This includes writing code in lock-step with another person.
  • Cite the names of all of your collaborators somewhere for a written assignment or as a comment for a programming assignment.
  • For written assignments, take a 30 minute break before writing up your solution individually.

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 won't be inclined to take any action if you tell us about it before turning in the assignment.

Resources Outside of CSE 332

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.


What happened? Is it a violation?
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!
You should wait 30 minutes before writing up your own work. You should not take away notes from the discussion itself.
You code up a draft implementation of your project, but it fails most test cases. You and your friend Alice hop on a Zoom call, and you look at her code, trying to correct any differences between your and her implementations. Violation!
Because this is you effectively using code written by Alice, we disallow this practice.
You code up a draft implementation of your project, but it fails most test cases. You meet up with your friend Bob and explain your train of thought to him while both of you look at your code. This is fine!
Since Bob was giving you advice and did not take away any work product himself from looking at your code, this is an allowed practice.
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. This is fine!
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.


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.

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. 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.