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.

Prerequisite(s): Grade of C or higher in COS 161, and MAT 145 or MAT 152 or their equivalents, or permission of instructor.

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

Typically Fall Semester