University of Washington — Paul G. Allen School of Computer Science & Engineering

Introductory Programming Courses

CSE 143 & CSE 143X


Course Information — Autumn 2026

The Allen School is phasing out its previous two-quarter introductory programming sequence of CSE 142 and CSE 143, replacing it with a three-quarter sequence (CSE 121/122/123). Although CSE 143 will eventually be retired, both CSE 143 and CSE 143X will be offered in Autumn 2026. This page describes which students should consider each course. We recommend completing the self-placement tool before reading further.
CSE 143
Computer Programming II
5 credits  •  Lecture section A

This course was designed to be a continuation of CSE 142, which covers material similar to the AP/CS-A exam.

Topics covered

Abstract data types Stacks & queues Linked lists Binary trees Recursion Interfaces Inheritance Encapsulation Sorting & searching Complexity & performance Java Collections Framework

Who should take CSE 143?

Students who have completed CSE 142—or an equivalent course through UW in the High School, a community college, or another institution—should consider CSE 143 to complete the sequence as originally designed. Students with credit for AP/CS-A are also strong candidates: the AP course covers all the material from CSE 142, making CSE 143 a natural next step.

Although the self-placement tool may suggest starting in CSE 122, the AP curriculum has at least a 50% overlap with CSE 122. Most students with AP credit should follow that recommendation, but students with a particularly strong grasp of object-oriented concepts—especially defining classes—may be better served by jumping directly into CSE 143.

Prerequisite: CSE 142 or equivalent.

CSE 143X
Computer Programming II - Accelerated
5 credits  •  Lecture section X

CSE 143X is an accelerated version of the CSE 122/CSE 123 sequence for students who want to complete both quarters of material in a single quarter. The course covers all topics from both courses.

Who should take CSE 143X?

Students should first use the self-placement guide to confirm they are recommended to start in CSE 122. This course assumes prior programming experience or a prior programming course, though not necessarily any experience with Java. CSE 143X is a good choice for students who are unfamiliar with Java syntax or who have not yet mastered basic object-oriented skills such as defining classes.

The course will not assume prior knowledge of any specific Java constructs—everything will be introduced—but all topics will be covered at a fast pace. As a result, CSE 143X is not a good choice for students who struggle with programming, even if they have some prior experience. Students who anticipate difficulty in a fast-paced environment should consider the standard CSE 122/CSE 123 sequence instead.

The course website from the most recent offering of CSE 143X, including lecture slides, assignments, and other resources, is available at: courses.cs.washington.edu/courses/cse143x/25au/
Add codes for CSE 143: Students who have not taken CSE 142 (or the equivalent) may need an add code to register for CSE 143. Add codes are available upon request—contact cse143@uw.edu and indicate whether you are requesting section A (CSE 143) or X (CSE 143X).