A continuation of COMP 151 that explores the essential data structures and algorithms of modern computing, including lists, stacks, queues, heaps, and trees. Students will design, analyze, and build Python programs that implement and utilize these data structures to solve computational problems, including a thorough survey of sorting and search algorithms. These theoretical constructs are complemented by exposure to good software development practices, including data abstraction via abstract data types and object-oriented software design. Strong emphasis is put on analyzing and evaluating how implementation choices made by the programmer impact overall program performance and maintainability. Prerequisite: C or better in COMP 151. (One Course).
- Teacher: James Mayfield