COMP 271: Data Structures

This course introduces key data structures such as lists, sets, and maps, as well as their implementations. Performance and analysis of algorithms are covered along with applications in sorting and searching.

Credit Hours

3

Co-requisites

COMP 163: Discrete Structures or MATH 201: Elementary Number Theory (corequisite or prerequisite) or declared Computer Science, Computer Crime & Forensics or Information Technology Minor

Description

This continuation of COMP 170: Introduction to Object-Oriented Programming introduces the concepts of data abstraction and data structure, including stacks, queues, lists, sets, and trees. The issues of implementing a data structure in a language such as Java are examined using classes, arrays, and linked structures. Sorting and searching techniques are analyzed. The concepts of correctness and efficiency of algorithms are developed. Time/space comparisons of iterative algorithms with recursive algorithms are made. The course includes several major programming projects. A weekly lab component is required.

Outcome

Students will learn to design new data structures as well as learn to use existing data structures in applications.