Advanced data structures, including advanced trees, graphs, hash tables, heaps. Study of the program language features required to support templates, inheritance, and exception handling.