This course covers the theory and application of commonly used data structures and related algorithms for maintaining them. Emphasis is placed on efficiency, appropriate use, and the creation of encapsulated, object-oriented data structures. Students learn to implement iterative and recursive sorting algorithms, variations of linear data structures (linked lists, stacks, queues, and hash tables), variations of non-linear data structures (trees, heaps, and graphs), and the algorithms used process each structure's data. The course uses the Java, C++, and Python programming languages.
CSCI 211 - Data Structures and Algorithms
CSCI 112 with a grade of "C" or better.