This course is a continuation of CSS 501 and covers advanced data structures
including trees, balanced trees, heaps, graphs, and hash tables along with the
associated algorithms. Students learn how to analyze a problem and design and
implement a solution using object-oriented design and programming with a focus
on inheritance and polymorphism. Students also study the basic formal notations
of languages cover topics such as context free grammars.