This is the final course in the three course sequence Introduction to Computer Science offered by the Computer Science department, WSU. It focuses on building a number of abstract data types such as stacks, queues, trees, and tables. We continue to study the C++ object oriented concepts such as Inheritance, polymorphism, and template handling. We also start learning to analyze the complexity of algorithms in this course