Course Information

Teaching Staff

Instructors: Ruth Anderson and James Weichert (cse160-instructors@cs.washington.edu)

Registration Questions: CSE Advisors (ugrad-advisor@cs.washington.edu)

Course Staff and Support Hours: Course Staff and Office Hours

Info

Note that while the vast majority of the policies and guidelines in this syllabus will hold true throughout the quarter, the way we implement them are subject to change. Any such changes will be communicated to you with as much advanced notice as possible.

Class Session Meeting

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

Prerequisites

There are no prerequisites to this course other than high school math. We assume that you are familiar with basic computer usage (running applications, editing documents, etc).

This course does not assume any previous programming experience. If you have taken CSE 143 or CSE 123, you will not receive credit for taking CSE 160. For those who have taken 142, 123 or have had some experience with programming, CSE 163 may be a better class choice.

Course Goals

The world has become data-driven. Domain scientists and industry increasingly rely on data analysis to drive innovation and discovery; this reliance on data is not only restricted to science or business, but also is crucial to those in government, public policy, and those wanting to be informed citizens. As the size of data continues to grow, everyone will need to use powerful tools to work with that data.

CSE 160 is an introductory programming class that meets this need. You will learn to write small programs in Python to solve real-world problems in science, engineering, business, and other fields. This will be useful in your classes, research, and jobs.

In this course:

  1. You will learn computational problem-solving. If given a data source and problem description, you will be able to write a complete, useful program to solve the problem.
  2. You will learn Python, a popular and general-purpose programming languages that includes libraries for data manipulation, scientific computing, and visualization.
  3. Assignments will use real datasets from fields such as biology, government, social networks, and more.

Course Components

Grading Scale

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

Category Weight
Homework Assignments 50%
Midterm Exam 20%
Final Exam 20%
Participation 10% split equally across:
    ∙ Written Check-Ins
    ∙ Programming Practice
Total 100%

Homework Assignments

You will complete approximately five programming homework assignments (in addition to one environment setup homework). While all of these homeworks contribute to the “Homework Assignments” category of your final grade, they increase in complexity and point totals as we progress through the quarter. Not all homework assignments contribute the same amount to your overall grade.

Since this is a programming course, all of the assignments involve writing some code. As discussed in detail below, we expect all of this code to be written individually by you; you MUST NOT use AI to complete these assignments. Additionally, there are often some written questions on each assignment to accompany the code.

We strongly urge you to get started on your assignments early. This approach will take you much less time overall than if you try to do all the work at once at the last minute. An efficient approach is to start work, then take a break when needed. This lets your subconscious continue to work on the problem, or enables you to return to it with a fresh perspective and renewed energy. Furthermore, you will be able to ask for and receive help. We will make announcements when each assignment is released.

Additionally, we recognize that small mistakes happen (and aren’t worth using an entire week’s resubmission to regain just a point or two). As such, when calculating final course grades, we will treat earning 90% or higher on homework assignments as equivalent to 100%.

As we have designed the homework assignments to give you practice with the programming constructs we introduce in the course, these assignments can be completed using only the Python features and programming techniques taught in CSE 160. Assignment submissions that use advanced features not taught in class will receive an initial grade of 0%, but are eligible for resubmission.

Exams

The exam grade will be determined by a midterm and a final exam. Both exams will count for the same percentage and both will be held in person in the same room as lecture.

  • The Midterm Exam will be held during normal class hours (3:30pm to 4:20pm) on Wednesday February 11, 2026.
  • The Final Exam will be held on Thursday, March 19, 2026 from 2:30pm to 4:20pm.

Practice exam(s) will be made available ahead of time for you to practice. There will also be a special grading policy in place in case you do not perform as well as you’d like on the midterm exam. The policy is as follows:

  • If your final exam score is higher than your midterm exam score, then your final exam score replaces your midterm exam score.
  • If your final exam score is lower than your midterm exam score, no grade is replaced.

Participation

Your participation grade includes written check-ins in the form of online questions and programming practice.

  • Written Check-Ins
    • Released on Thursdays and due the following day (Friday evening)
    • Submitted on Gradescope
    • No late submissions or resubmissions allowed
    • Graded on correctness
    • Students will be given time during each section to complete the Written Check-Ins


  • Programming Practice
    • Released on Thursdays and due the following Wednesday
    • Submitted on Gradescope
    • No late submissions or resubmissions allowed
    • Graded on correctness; when calculating final grades, we will treat earning a 66% or higher as equivalent to 100%

Course Grades

We’ve designed this course to be achievable for people with no programming experience. While we do not provide grade guarantees, in previous quarters percentage grades have usually mapped to a 4.0 scale with the following boundaries:

Percent Earned Course Grade
95 - 100% >=3.5
85 - 95% >=3.0
75 - 85% >=2.5
65 - 75% >=2.0
50 - 65% >=0.7

Software and Tools

This quarter, we will use a number of different tools in CSE 160. Reach out to the course staff if you have questions about using any of them. Please see the Course Tools page for more information about the particular tools we will use this quarter and our policies surrounding them.

Class Sessions and Discussion Sections

Class Sessions

Sickness

If you are sick, stay home! Reducing the spread of illnesses is paramount to maintaining a healthy community. See all the resources outlined below for you get caught-up on missed live sessions. Attendance will not be taken and lectures will be recorded, so you will not be penalized for staying home to keep our community safe.

Please see more on our Wellness and Safety page.

Attendance Options

Class sessions will be hosted in person. Most class days will be composed mostly of lecture on a Python concept intermixed with time for group work and discussing the problems as a whole class. The class sessions will be recorded so students who cannot attend can view them later.

Discussion Sections

Discussion sections are smaller, TA-run sessions where students work in groups on practice problems and review concepts from the week. Discussion sections meet on Thursdays at 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!).

Attendance Options

In-person discussion sections will not be recorded. Section materials will be posted on the course website.

Resubmissions, Regrades, and Late Work

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 homework assignments to demonstrate improved mastery after your initial submission. Resubmissions are subject to the following rules:

  • A maximum of one homework assignment can be resubmitted per resubmission cycle and there will be 6 cycles in total where you will be eligible to make a resubmission after receiving feedback from your TA.
  • If you have already made a submission for a homework assignment, you may not make a resubmission for that assignment until you have received feedback on your previous submission (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.
  • An assignment that has been found to involve academic misconduct may not be resubmitted (see below).
  • Resubmissions made without completing and submitting a resubmission form will not be regraded.

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.

Only programming homeworks may be resubmitted. Programming practice and written check-ins are autograded and are graded on completing them correctly and cannot be resubmitted..

Additional details on how to resubmit will be posted at the bottom of the Homeworks page. Ed announcements will also be made when a resubmission cycle is open.

Regrade Requests

We are human too and sometimes miss things while grading. To mitigate this, we allow regrade requests, starting 24 hours after the grade has been released and for the following week. Regrade requests will happen through Gradescope, on the assignment in question. A regrade request is not the place for questions such as “I don’t understand why I lost this point” (for that, see the Ed Discussion board and Getting Help). To be eligible for points back from a regrade request, the request must:

  • Be applied to the question or rubric item that you want reexamined.
  • Concisely explain why your work is correct or meets the criteria, referencing specific lines of code where appropriate.
  • Demonstrate understanding of why the point(s) may have been deducted in the first place.

Note that in addressing a regrade request, we will reexamine the entire assignment, which may result in additional point changes unrelated to the request. And, a well-formed regrade request is not a guarantee of returned points.

Late Work

Late work is not accepted. For homework assignments, if you are unable to turn in the assignment by its initial submission deadline, you will be able to use one of your future resubmissions to turn in the assignment. Remember, you may only make one resubmission per resubmission cycle, 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.

Participation exercises (written check-ins and programming practices) cannot be submitted late. 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.

If you have a general question that other students could potentially benefit from, consider posting publicly on Ed! On Ed, you can also set your questions to private or anonymous as you see appropriate.

If you would like to meet 1:1 with an instructor, please reach out via email (cse160-instructors@cs.washington.edu).

Ed Tips

  • 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!
    • 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.
  • 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 add comments as needed.
  • If you have a question that’s 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 James and Ruth, you can instead email cse160-instructors@cs.washington.edu if that makes you feel more comfortable. Note that the response time for instructor email is longer than posting on the Ed board.

Course Climate

Extenuating Circumstances: “Don’t Suffer in Silence”

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 ability to perform 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.

Disabilities

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.

Inclusion

All students are welcome in CSE 160 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.

Academic Honesty and Collaboration

Philosophy

Adapted and extended from Kevin Lin.

Programming is rarely an individual endeavor, but one that requires significant collaboration in the design, development, testing, evaluation, and deployment of software. Moreover, the emergence of AI code-writing tools is challenging conventional notions about the role of programmers in writing (lots of) code. With that said, our goal in CSE 160 is to teach you how to program, not to teach you to use tools that program for you. As first-time programmers, you still need to learn and practice effectively using core programming ‘building blocks’.

To this end, our policies on academic honesty and collaboration are intended to engender trust and encourage honest and earnest behavior. We want to foster your ability to work with others on challenging problems. At the same time, this course will challenge you to think independently and programmatically as you learn the core building blocks that you will need in your future computing endeavors.

Our hope is that, when you are struggling, you will take advantage of the resources and policies that we have provided (e.g. consulting course resources, posting on Ed, attending office hours, utilizing resubmissions) rather than resorting to dishonest conduct.

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.

Encouraged

The following types of collaboration are encouraged:

• Discussing the content of lectures, sections, or any provided examples.

• Working collaboratively on solutions to programming practice problems or written check-ins.

• Posting and responding to questions on Ed, including responding to questions from other students.

• Describing, either verbally or in text, your approach to homework assignment at a high-level, without providing code or pseudocode.

• Asking a member of the course staff about concepts with which you are struggling or bugs in your work.

Prohibited

The following types of collaboration are prohibited and may constitute academic misconduct:

• Using any AI tools to write code, reflections, or any other submitted work on homework assignments, programming practices, or written check-ins. This includes, but is not limited to, GitHub Copilot, Microsoft Copilot, ChatGPT, Google Gemini, Claude, and OpenAI Codex.

• Looking at another person’s code or submission for a homework assignment 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, online resources (such as GitHub, Chegg, StackOverflow), among other sources.

• Showing or providing your code or submission for a homework assignment 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.

Instead of utilizing prohibited 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 resource is permitted or not, you must contact a member of the course staff for clarification.

Penalty

All suspected violations of course policies on academic honesty will be reported to the office of Community Standards & Student Conduct (CSSC) for formal investigation. Any student work found by CSSC to be in violation of this policy will receive a grade of 0.0, 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.