Stuart Thomas Reges
Continuation of CSE 142. Concepts of data abstraction and encapsulation including stacks, queues, linked lists, binary trees, recursion, instruction to complexity and use of predefined collection classes. Prerequisite: CSE 142. Offered: AWSpS.
This course is a continuation of CSE 142. While CSE 142 focused on control issues (loops, conditionals, methods, parameter passing, etc), CSE 143 focuses on data issues. Topics include: abstract data types, stacks, queues, linked lists, binary trees, recursion, interfaces, inheritance, and encapsulation. The course also introduces the notion of complexity and performance trade-offs 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 and using components from the Java Collections Framework.
Student learning goals
Understand the concept of abstraction, with modularity, encapsulation, and abstract data types the focus.
Learn how to use some common data structures.
Learn to design/understand and implement/extend medium-sized programs.
General method of instruction
Lectures and quiz section.
Quiz sections provide a chance to work through problems, usually helpful for the homework, and similar to problems on an exam. In section we will answer questions, go over common errors in homework solutions, and discuss sample problems in more detail than we can in lectures
The Introductory Programming Lab (IPL) is a dedicated computer lab with resources, including TAs, to help students on homework.
The prerequisite is CSE 142 or equivalent.
Students with significant prior programming experience may skip CSE 142 and take CSE 143 directly (entry code required for direct CSE 143 registration--contact email@example.com for code and/or more information).
Class assignments and grading
Roughly one programming assignment per week.
Midterm and Final exams.