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.
Please see Prerequisites page.
Restricted to undergraduates. Graduate students will be allowed as space permits.
Every quarter: Fall, Winter and Spring. Please see Tentative Course Offerings page.