Course Information

Teaching Staff

Instructor: Hunter Schafer (

Course Administration: Pim Lustig (

Course Staff and Support Hours: Course Staff and Support Hours

Class Session Meetings

See Class Sessions for information on how each day of class will be run.

Other Info

Course Goals

This course is a continuation of CSE 142. While CSE 142 focused on topics of program control (loops, conditionals, methods, parameter passing, etc.), CSE 143 focuses on topics of manipulating data. Topics include: abstract data types (ADTs), lists, stacks, queues, linked lists, binary trees, recursion, interfaces, inheritance, and encapsulation. Students will also learn about the notion of complexity and how to evaluate performance trade-offs of classic algorithms (such as sorting and searching) and classic data structures (such as lists, sets, and maps). The course will include a mixture of implementing data structures and using components from the Java Collections Framework.

Learning Objectives

CSE 143 is organized around seven key learning objectives. At the end of the course, students will be able to do the following:

  1. Functionality/Behavior: Write functionally correct and efficient Java programs and systems of medium to large length and complexity that meet a provided specification and/or solve a specified problem.
  2. Comprehension: Trace and predict the behavior of programs and systems.
  3. Data Abstraction: Select and apply appropriate abstract data types to manage program state.
  4. Data Structures: Design, implement, and modify data structures to efficiently and effectively provide a defined set of operations.
  5. Functional Abstraction: Document, maintain, and utilize appropriate abstractions between the implementer and client of a library.
  6. Decomposition: Solve problems by breaking them into sub-problems and recombining the solutions using techniques such as methods, inheritance, and recursion.
  7. Code Quality: Define programs that are well-written, readable, and maintainable and conform to established standards.

Class Sessions and Quiz Sections

To best support your learning in CSE 143 this quarter, we will be using a hybrid classroom model (in multiple senses of the word hybrid):

  • Class sessions will be a mix time for lecture and time for students to work on activities
  • There will be multiple ways for students to attend class.


If you are sick, stay home! Reducing the spread of COVID is paramount to ending the pandemic. If you feel sick or have a potential exposure to COVID and don’t have a negative test result, stay home. See all the resources outlined in Class Sessions and Quiz Sections for you get caught-up on missed live sessions. Attendance will not be taken at all in CSE 143 this fall, so you will not be penalized for staying home to keep our community safe.

Please see more on our COVID Safety page.

Class Sessions

Time in class spent on students actively participating in their learning has been shown numerous times to improve learning outcomes for students. Active participation almost always means time spent not listening to the instructor talking since listening is a passive task. 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 reading a pre-class reading for each day of class.

The readings will be posted on the course calendar well before the day of class. You are expected to come to class with the reading done, since Hunter will start lecture from where the reading left off. There is no grade associated with doing the readings, but you will need to do them to keep up with the class.


It’s okay if the readings don’t make perfect sense the first time you read them! Learning is a process that takes time and work, and revisiting a topic is very important. Things you find confusing in the reading are great things to start off asking questions about on the course message board, in class, or in quiz sections.

The live class sessions will be Monday, Wednesday and Friday (see times and locations above); you are welcome to join either class session, regardless of which class you are enrolled in (CSE 143 A or CSE 143 D). Lecture attendance is not recorded in any way, but it is expected you are attending class so 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.

It is not expected that students will have mastered the material by the end of each lesson - mastery requires practice. To encourage students to participate actively in their learning, we will be using PollEverywhere polls in class. These polls are an opportunity to solve problems that help you check your understanding and are not graded.

Attendance Options

Due to the fact that we are still in the middle of a pandemic, and we are just returning to in-person learning, we want to provide flexibility for students especially if they become sick and need to miss class. As mentioned before, we will have recordings of the lectures so you could always use those if you have to miss. Additionally, we will be trying a new system that lets students call into the live class using Zoom. This means students have the choice to attend class in-person or remotely via Zoom.

Unfortunately, we are not able to provide the same amount of support in class for students joining remotely. It’s very difficult to smoothly run a great in-person and Zoom experience at the same time. What this means is that we can’t guarantee we check the Zoom chat frequently, and time given to work in groups in class will have to be time for students on Zoom to work alone. We recognize this is not the most equitable experience for students calling in remotely, but there is only so much we can do at once while we try to navigate back to the world of in-person learning.

Quiz Sections

Quiz sections are smaller, TA-run sessions where students work in groups on practice problems and review concepts from the week. Quiz sections meet on Tuesdays and Thursdays according to the time you registered for. Like with class sessions, there is no attendance requirement, but you are expected to attend to keep up with the course material (assuming you are not sick!).

It is possible to attend a different section than the one you are registered for. You will need to ask permission from the TA of the quiz section you want to attend, since they might be planning for a fixed number of students or might not have capacity to safely sit all students in the class. You can find the TA assignments on the Course Staff page.

Attendance Options

Quiz sections will not have an option to join remotely on Zoom nor will they be recorded. Instead, the course staff will post all materials used in section on the course website and will also post helpful videos covering some of the topics covered in section that day. So, anything missed by not being able to attend in person, you will be able to find asynchronously on the course website.


All students are welcome in CSE 143 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, Resubmissions, and Late Work

Types of Assignments

There will be five categories of course work you will do in this class:

Take-home assessments (~Weekly, 7 total)

Longer programming assignments that will assess your mastery of the skills and concepts covered in class that week. 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 Thursdays and must be completed independently, though you may discuss your approach with classmates.

Final project (End of quarter, 1 total)

The final project will serve as a culmination of your work for the take-home assessments. It will be similar to the style and length of other take-home assessments, and it will build off of everything we have learned this quarter. The biggest difference for the final project is that you will not have the ability to resubmit it after the due date (see below for resubmission details).

Checkpoints (~Weekly, 9 total)

Short assignments consisting of a few problems to give you practice with the content covered in class that week. Checkpoints will generally be due on Sundays and may be worked on collaboratively with classmates.

Culminating Assessments (2x per quarter)

Large, cumulative assignments consisting of a series of problems requiring you to engage with all course content covered to that point. Culminating assessments will include three parts: (1) completing a timed set of problems to the best of your ability; (2) reviewing your work against provided solutions and annotating areas for improvement; and (3) meeting 1-on-1 with your TA to discuss your results and your progress in the course. Culminating assessments must be completed independently.

Reflections (w/ other assignments)

Brief, written assignments designed to help you engage in metacognition and reflect on your current progress and understanding. Each reflection will be directly tied to another assignment, usually a take-home assessment, and will be due along with that assignment.

Revision and Resubmission

Learning from mistakes is an important part of mastering any skill, especially for novices. To enable this, you are allowed to revise and resubmit your work on take-home assessments to demonstrate improved mastery after your initial submission. Resubmissions are subject to the following rules:

  • You may not resubmit a take-home assessment until you have received feedback on your previous submission of that assessment. (Generally one week after the due date.)
  • Resubmissions must be accompanied by a short write-up describing the changes made. This will both support you in being deliberate about the changes you make and ease grading of resubmissions by making the changes clear.
  • A maximum of one take-home assessment can be resubmitted each week. Almost every week will have a resubmission period except: the first two weeks (no assignments have been turned in yet!) and the week of Thanksgiving.
  • Resubmissions only apply to the take-home assessments. You can not make a resubmission on the final project.
  • A take-home assessment that has been found to involve academic misconduct may not be resubmitted (see below).

Resubmissions will be graded and the new grades will fully replace the previous grades. The new grade will be based entirely on the resubmitted work, meaning that your grades may go down when resubmitting. In addition, while every effort is made to identify all areas that could be improved when grading, feedback is not guaranteed to be exhaustive. Be sure to consult all available resources and materials to ensure your work meets all guidelines.

Late Work

For take-home assessments, late work is generally not accepted. However, if you are unable to turn in an assignment by its initial submission, you will be able to use one of your weekly resubmissions in future weeks to turn in the assignment. Remember, you may only make one resubmission a week, so using a resubmission to turn in an assignment you missed earlier means you will be able to make fewer resubmissions. This means it benefits you the most to try your best to turn in as much of your work as possible before the initial submission date, so you can get feedback on that and iterate on it in a future resubmission, rather than using that resubmission to get your first piece of feedback on that assignment.

Checkpoints and culminating assessments will generally not be accepted after their published deadlines.

Please see the policy on Extenuating Circumstances for more information.

Getting Help from Staff & Peers

Having questions or getting stuck on something is entirely expected in the learning process. If you find something challenging with your studies, that is a sign you are learning! Learning is not something that you need to do alone though! In fact, connecting with your peers or asking a member of the course staff for help can add extreme depth to your knowledge.

  • Synchronous Help (Support Hours): One place to go to get help is our Support Hours located in the Introductory Programming Lab (IPL). TAs staff the IPL for many hours a day to provide you the help you need when you need it! This is a great place to go if you want to review a particular course concept, work on a practice problem with the help of a TA or your peers, or get help on one of the take-home assessments if you are running into difficulties.

    Hunter also hosts support hours, but they are more limited in availability than the IPL is (there is only one of him, sorry!). You can find when and how to join Hunter’s support hours on the Support Hours page

  • Asynchronous Help (Ed Discussion): With a class of our size, directly emailing a member of the course staff is not always recommended. There are many of you and only few of us, so if you email one person directly we can’t make a guarantee how quickly we can respond! To alleviate this one-on-one communication of email, we have a course discussion board that will be a much more lively place for discussion and a way to make sure you can get helped more quickly. The message board is set up so that all of the course staff can help you, which will make it more likely for you to receive a quicker response!

    Here are a couple tips on using EdStem:

    • If you are asking a general question about the course logistics or content, you can make a public post. This way other students can benefit from seeing your question, and you can even answer each other’s questions to share your perspectives!
      • You’re encouraged to answer each other’s questions as well! Explaining a topic to someone else (even on a discussion board) is a great way to help you better understand the material The course staff will still look over student answers and can nicely point out some misconception if there is one so that everyone benefits.
      • If you want, you can choose to post anonymously so that other students in the course can’t see your name. Note that anonymous posting does not hide your identity from the course staff.
    • If you have a question that’s pretty specific to your homework solution, or, is about some personal details that you would not want to share with the class (e.g., DRS accommodations), you can make a private post on Ed that is only visible to the course staff. This way, any member of the staff can respond to get you the help you need!
    • For sensitive matters that you only want to discuss with Hunter, you can instead email Hunter if that makes you feel more comfortable.


Grading Scale

Work in CSE 143 will be graded using an ESNU scale:

E (Exemplary)

Work that meets all requirements and displays full mastery of all learning goals and material.

S (Satisfactory)

Work that meets all requirements and displays at least partial mastery of all learning goals as well as full mastery of core learning goals.

N (Not yet)

Work that does not meet some requirements and/or displays developing or incomplete mastery of at least some learning goals and material.

U (Unassessable)

Work that is missing, does not demonstrate meaningful effort, does not provide enough evidence to determine a level of mastery, or violates major course rules (such as using forbidden features or violating the academic conduct policy).

Take-Home assessments will be graded using the full ESNU scale. Checkpoints, reflections, culminating assessments will be graded using only S and N; no grades of E or U will be awarded on these assignments.

It is important to note that, under this system, it is the work that is assessed as a proxy for the student. This is an imperfect system, but is necessary to manage a course of the size and scale of CSE 143. It is in your best interest to ensure that your work accurately reflects your mastery by being careful and diligent in following instructions, meeting deadlines, and understanding requirements.

Take-Home assessment grading

Take-Home assessments and the final project will be graded on four dimensions:


Does the input and output functionality of the submission conform to the specification?

Abstraction and Design

Are data structures, methods, and classes chosen, designed, and implemented according to best practices?

Use of Concepts

Are all language features and course concepts used appropriately, effectively, and efficiently?

Documentation and Readability

Is the code well-written and well-documented, and does it conform to all code quality and other related guidelines?

Work will be assigned a grade on each dimension using the ESNU scale, resulting in four ESNU grades per assessment. See more information on how each of these are assessed on the Grading Rubric.

Course Grades

Final grades will be based on the quantity of work completed at each level of mastery, based as follows:

  1. Base grade: Identify the highest minimum grade for which the student meets all requirements (see below).
  2. Additional S’s and E’s: Count the number of each of the following earned beyond the requirements for the base grade identified in the last step:
    • S‘s or better on take-home assessments and final project
    • S‘s on the checkpoints
    • S‘s on the culminating assessments
    • S‘s on the reflections

Minimum requirements for each grade are below. Note that all requirements for a particular grade must be met to guarantee that minimum, though failing to do so does not mean that grade cannot be earned.

The S‘s and E‘s earned on the take-home assessments and the final project are added together towards one requirement for all of the grades below.

at least 3.5

  • S or better on all dimensions on all take-home assessments and the final project
  • At least 6 total E‘s on each dimension on take-home assessments and the final project
  • S on at least 8 checkpoints
  • S on both culminating assessments
  • S on at least 7 reflections

at least 3.0

  • At least 28 total S or better on all take-home assessments and the final project
  • At least 4 total E‘s on each dimension on take-home assessments and the final project
  • No U‘s on take-home assessments or the final project
  • S on at least 6 checkpoints
  • S on both culminating assessments
  • S on at least 5 reflections

at least 2.5

  • At least 24 total S or better on all take-home assessments and the final project
  • At least 3 total E‘s on each dimension on take-home assessments and the final project
  • No U‘s on take-home assessments or the final project
  • S on at least 6 checkpoints
  • S on both culminating assessments
  • S on at least 4 reflections

at least 2.0

  • At least 20 total S or better on all take-home assessments and the final project
  • S on at least 4 checkpoints
  • S on at least 1 culminating assessment
  • S on at least 2 reflections

at least a 1.5

  • At least 18 total S‘s or better on take-home assessments and the final project
  • S on at least 4 checkpoints
  • S on at least 1 culminating assessments
  • No reflections required

at least a 0.7

  • At least 16 total S‘s or better on take-home assessments
  • S grades on at least 2 checkpoints
  • No culminating assessments required
  • No reflections required

To be guaranteed a particular minimum grade, all requirements for that grade must be met. Failing to meet any of the requirements for a particular minimum grade does not preclude the possibility of receiving that grade (as the steps described above indicate), but we do not provide any estimates or guarantees beyond those listed here. For example, it’s possible to still earn a 3.5 or above if even if you miss one of the requirements since every piece of work done above the required minimum can go to increasing your course grade; it’s just not guaranteed you will get a 3.5 or above if you don’t make all requirements (but even if something is not guaranteed, it can still happen).

Exact final grades, including all grades not listed above, will be determined at the end of the quarter by the course staff based on each student’s overall body of work. Estimates of students’ final grades beyond the requirements listed above will not be provided.

We recommend the following weekly workflow to help you get the most out of your time with us during the quarter. For each day of class:

  1. Complete the Pre-Class Reading (before each MWF): Read the pre-class reading for the day. Take notes on what you learn and questions that arise during the reading. Learning is a process of trial and error! If the reading asks you to make a prediction for a task, write down your thought process and if the explanation provided in the reading reveals something you didn’t think of originally, make sure to write that down!
    • 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?
  2. Attend the Class Session (MWF): 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.
  3. Try Practice Problems (MTWThF): Almost every day of class will have a set of recommended practice problems associated with it. Practice-It contains many additional problems, but we just choose a few to highlight the topic for that day. Try these out and if you find them difficult, that’s a sign to help you direct your learning! You can ask questions about these on the course message board or come to support hours to get help with these problems!
  4. Attend Quiz Sections (TTh): This will give you a more structured place for practice and review for this week’s material. Come with the questions you had from class session or from your studying outside of class to ask your TA or your peers. You will also get a chance to work through problems with your peers to get even more practice with the material.
  5. Complete Checkpoint (F-Sun): Each week, the checkpoint will help you test your understanding of the material introduced that week on a smaller set of problems. This will be very helpful in making sure you get to practice this week’s material before tackling the larger take-home assessment.
  6. Complete Take-home assessments (F-Th): This will provide an opportunity to continue to enhance your understanding of the material by tackling a problem larger in scope than the practice problems.
  7. Revise your work (following weeks): Once you have received feedback on your work, go back and revise any parts of it that could be improved. Make sure you understand why your solution earlier didn’t work, so that you can avoid similar errors in the future.
  8. Reflect (every day/week): Now that you got some practice with the material, it’s time to reflect on what you learned and 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.
    • What’s a brief summary (in your own words) of what you 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?

Academic Honesty and Collaboration


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 submitting work that is not your own. 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.


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.


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


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.


Any submission found to be in violation of this policy will receive a grade of U on all dimensions, as we are unable to assess your mastery from work that is not your own. In addition, students will forfeit the ability to resubmit work that is found to be in violation. Repeated or egregious violations of the policy will be forwarded to a relevant university committee for further action. There will be no exceptions or modifications to these penalities.


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.

Note that, while requesting amnesty will allow you to resubmit your work, the resubmission must still not violate the collaboration policy. In particular, the resubmission must not include work that is not your own. It is extremely difficult to “unsee” or “forget” work that you may have viewed in violation of the policy, and it is your responsibility to ensure that your resubmission is completed entirely in accordance with the policy. (Needless to say, the easiest way to achieve this is to not violate the policy in the first place!)

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.


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.