Java logo

UWHS CSE-143 - Computer Programming II

UWHS CSE-143 is a continuation of CSE-142. Concepts include data abstraction and encapsulation.

While CSE-142 focused on control issues (loops, conditionals, methods, parameter passing, etc), CSE-143 focuses on data issues. Topics include ADTs (abstract data types), stacks, queues, linked lists, binary trees, recursion, interfaces, inheritance and encapsulation. The course also introduces the notion of complexity and performance tradeoffs in examining classic algorithms such as sorting and searching and classic data structures such as lists, sets, and maps. The course will include a mixture of data structure implementation as well as using off-the-shelf components from the Java Collections Framework. The prerequisite is CSE-142 or equivalent.

This course continues an introduction to programming using the Java programming language. We will explore common computational problem-solving techniques useful to computer scientists but also to anyone with large data sets, repetitive processes or other needs for computation.

This course is equivalent to UW CSE 143 Computer Programming II, and students can register to earn 4 UW credits through the UW in the High School program, establishing a UW transcript. Uncertain about applying for UW credit? See this FAQ.

Your course objectives are:

  • Design, implement and debug computer-based solutions to problems in diverse application areas
  • Use, implement and analyze common algorithms and data structures
  • Write clear and efficient code using good Java syntax and programming style
  • Know when and how to use Java library classes
  • Read, understand and contribute to large programs consisting of several classes
  • Identify and discuss the major hardware and software components of a computer system
  • Recognize the ethical and social implications of computer use and software creation

For more a detailed description of the course see the course syllabus.