Course Will be Mostly Online through 1/28

Almost all CSE 143E meetings will be held online through 1/28. This includes class sessions, quiz sections. For the second week of the quarter (starting Tues 1/11), the IPL will be open for virtual access only. In future weeks, there will be a hybrid option to attend the IPL (see announcements).

Context: CSE 143E

We wanted to start the syllabus by providing some context for this new offering CSE 143E this quarter.

The Allen School felt it was important to offer students another option for taking CSE 143 this quarter, and it was decided Hunter Schafer would be the instructor for this other offering of the course. This offering is unusual in some respects since it is something we have put together after the quarter has already started.

The syllabus below outlines a set of decisions that are a result of adjustments necessary to get this course up and running despite starting after the quarter has begun. Despite the challenges, our goal is to do everything we feasibly can to provide a welcoming and supportive environment for students in CSE 143E this quarter. We aim to provide the best education experience possible as we quickly move to get this course up-and-running. We will be covering all the usual CSE 143 content, and we hope you are looking forward to continuing to learn computer programming.

Hunter taught CSE 143 last quarter and was not expecting to teach CSE 143 this quarter – he is teaching other courses as well. As indicated in the CSE 143E course announcement, to make this feasible, this course offering will leverage pre-recorded lecture videos from prior offerings, with the synchronous lecture time being used for Q&A. So while Hunter will be the instructor present at lecture time and the lecturer in the videos, the videos are from prior quarters.

We appreciate your patience and flexibility as we get all of the details figured out. We hope you enjoy the course!

Syllabus Edits

Any impactful edits to the syllabus will be posted here:

  • Update to information about online courses.
  • The number of late days provided to the quarter has been updated to 9. It still remains that you can only use 3 late days on a particular assignment.
  • Exam dates from the Exams page page have been added to the syllabus.
  • Class time has been updated to fix a typo

Course Information

Teaching Staff

Instructor: Hunter Schafer (

Registration Questions: CSE Advisors (

Course Staff and Office Hours: Course Staff and Office Hours

Class Session Meeting

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

  • MWF: 2:30 pm - 3:20 pm (KNE 220 or Zoom).
    • For the second week of class, we will be meeting only on Zoom. Find the link on Ed.

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


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

This quarter, CSE 143E will be run a little bit differently. All of the course content will be shared as a pre-recorded lecture from a previous offering of Hunter’s CSE 143 course. Many of these videos will be accompanied by a short reading introducing the topic that students in the previous quarter were expected to read before class.

So for each lecture day of the course;

  • Students should start by doing the short reading posted on the calendar for that day. Note: This is not the same as the textbook chapters linked in the extra resources for the day. The textbook is a useful resource, but it is not required. The required readings are written by Hunter and are available for free on this course website.
  • Watch the lecture video for the day. These lectures are pre-recorded from a previous offering of the quarter, there are a few things to note in particular about them:
    1. Some of these recordings will be from before the pandemic. So any lack of masking you see in the videos was appropriate for the time. Some of the videos will be from this last quarter where masking was mandatory.
    2. Parts of the recording will mention administrative details such as “the homework is due on day X” or “there is an exam tomorrow!” Since these recordings are from another quarter, these administrative remarks in the video don’t apply to this offering. Hunter will make very clear in email and on the course website all administrative/logistic details (e.g., due dates). We will try to provide corrections for all dates/announcements shared in the videos from the past that don’t apply.

Learning does not occur entirely in a vacuum where you can just watch something and miraculously learn. Learning requires practice and effort and active engagement with the material. To try to facilitate this, each day of class we will also be hosting a live Q&A session where students can ask questions or work with others on practice problems. The Q&A sessions will be hosted by Hunter each day. No new, required material will be presented in class as all of the course content is presented in the reading/video for the day.


It’s okay if the lecture video doesn’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.

Attendance Options

In general, students can attend the class session in-person or remotely via Zoom. For the second week of the quarter, there will be no in-person option and only attendance through Zoom is permitted.

The Q&A sessions will also be recorded for those who are not able to make the scheduled class time.

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

In general, quiz sections will not have an option to join remotely on Zoom nor will they be recorded. The exception being Week 2 of the quarter where we will only be doing Zoom classes.

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.

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.

Required Course Work, Resubmissions, and Late Work

Types of Assignments

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

  • Take-home assessments (Weekly, 8 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 (more on this below).

  • Exams (2 total)

    Exams will be used as culminating assessment of your learning throughout the quarter. Exams will be closed-book and closed-note. You may not use the textbook, notes or any other written material during exams. No electronic devices may be used, including calculators. Students wishing to take an exam at the DRS testing facility must schedule their exam at least three weeks in advance of the exam or they may not be accommodated.

    The midterm will be Wednesday 2/16 from 5-6 pm and the final will be Tuesday 3/15 from 2:30 - 4:20 pm. Please contact Hunter via email if you have a previous obligation that would prevent you from taking one of the exams at this time.

    Make-up Exams will only be given in the case of serious emergency or sickness. If you expect an accommodation for a make-up exam, you should contact Hunter before the exam.


We are planning on having exams in-person assuming we are able to safely do so and comply with University policy. We will update our exam policy and notify students if any changes to University policy affect our ability to safely proctor an exam in-person.

Late Work

Each student receives 9 “late days” for use on homework assignments. A late day allows you to submit a program up to 24 hours late without penalty. To use a late day, just submit late and we will keep track of late days used and lateness deductions for you.

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 5% on that assignment. Regardless of how many late days you have, you MAY NOT submit a program more than THREE days after it is due. If unusual circumstances truly beyond your control prevent you from submitting an assignment, you should discuss this with the course staff as soon as possible. If you contact us well in advance of the deadline, we may be able to show more flexibility in some cases.

Note on Extenuating Circumstances: If you have extenuating circumstances for an assignment, please contact the instructor as soon as possible to discuss accommodations. See the section below on Extenuating Circumstances.

Course Grades

Grade Breakdown

Your percentage grade in this course will be weighted using these categories:

Category Weight
Take-Home Assessments 40%
Midterm exam 20%
Final exam 40%

Overall Course Grade

A very common question students ask is: “Is this class curved?” Normally, people don’t have one concrete definition of what a “curve” is when asking this question, but they are often referring to the process of assigning course grades so that there is a fixed, pre-determined mean or median. We do not curve grades like this in this course!.

Instead, we will assign course grades using a bucket system: if you earn at least the percentage specified in the left column, your course grade will be at least the grade listed on the right. These are minimum guarantees: your course grade could be higher than what this table suggests. Do note, we do not make any guarantees of the course grades within these buckets.

Percent Earned Course Grade
\geq 90% \geq 3.5
\geq 80% \geq 2.5
\geq 70% \geq 1.5
\geq 60% \geq 0.7

This means your grade in this class is generally not affected by your peers. If you earn a 90% overall in the course, you are guaranteed a 3.5 or above according to this syllabus regardless of how others in the class do.

Getting Help from Staff & Peers

Having questions or getting stuck on something is entirely expected and a very normal part 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.


Some details about the IPL and office hours TBD.

  • Synchronous Help (Office Hours): One place to go to get help is our Office 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 has his own office hours that you’re encouraged to stop by in-person or remotely!
  • 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.

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. This includes posting your work publicly on the internet.

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