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):
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:
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.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:
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.
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.
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.
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:
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.
You are strongly encouraged to seek out resources beyond official course resources, with the following caveats:
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.