Use and implementation of basic data structures including linked lists, stacks, and queues. Use of advanced structures such as binary trees and hash tables. Object-oriented design including interfaces, polymorphism, encapsulation, abstract data types, pre-/post-conditions. Recursion. Uses Java and Java Collections.
New CSE students should read CSE Course Placement Advice for assistance in choosing which course to take first.
Students will implement and analyze fundamental data structures and algorithms that operate on them, and learn about object-oriented design of abstract data types and applications that use these data structures.
CSE 8B or CSE 11; CSE 15L concurrently as it is a co-requisite of CSE 12. Restricted to undergraduates. Graduate students will be allowed as space permits. Please see Prerequisite Page.
Every quarter: Fall, Winter and Spring.