UNIT – I Introduction to C++ and Algorithms: Object oriented Design, Data Abstraction and Encapsulation, Basics of C++: Program organization in C++, Input/output in C++, Classes and Constructors, Access Modifiers, Dynamic Memory Allocation in C++, Templates in C++, Exception Handling. Algorithms: Introduction, Algorithm Specifications, Recursive Algorithms, Performance Analysis of an algorithm- Time and Space Complexity, Asymptotic Notations. UNIT – II Arrays: Abstract Data Types and the C++ Class, Array as an Abstract Data Type, Polynomial Abstract Data Type, Sparse Matrices, Representation of Arrays, String Abstract Data Type. Stacks and Queues: Templates in C++, Stack Abstract Data Type, Queue Abstract Data type, Sub typing and Inheritance in C++, Evaluation of Expressions. UNIT – III Linked Lists: Singly Linked Lists and Chains, Representing Chains in C++, Template Class Chain, Circular Lists, Available Space Lists, Linked Stacks and Queues, Polynomials, Doubly Linked Lists. Hashi