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.
3
COMP 170: Introduction to Object-Oriented Programming or COMP 215: Object-Oriented Programming with Mathematics
COMP 163: Discrete Structures or MATH 201: Elementary Number Theory (corequisite or prerequisite) or declared Computer Science, Computer Crime & Forensics or Information Technology Minor
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.
Students will learn to design new data structures as well as learn to use existing data structures in applications.