The phases of software development -- Abstract data types and C++ classes -- Container classes -- Pointers and dynamic arrays -- Linked Lists -- Software development withtemplates, iterators, and the STL -- Stacks -- Queues -- Recursive Thinking -- Trees -- Balanced trees -- Searching -- Sorting -- Derived classes and inheritance -- Graphs.