Basic abstract data types and their representations, fundamental algorithms, and algorithm analysis are covered. Applications are considered. Specific topics include linked structures, trees, searching and sorting, priority queues, graphs, and hashing. Course requirements include substantial programming.

Learning Outcomes

By the end of this course, students will be able to:

  • Understand the operation and implementation of many important data structures and algorithms.
  • Use mathematics to analyze and compare the performance of these data structures and algorithms.
  • Understand efficiency tradeoffs of these data structures and their most appropriate applications.

Textbook

Data Structures: Abstraction and Design Using Java, Fourth Edition, by Koffman & Wolfgang

Syllabus

Spring 2024

Offered

Fall and Spring Semester