EC6301 Object Oriented Programming and Data Structures

OBJECTIVES:

• To comprehend the fundamentals of object oriented programming, particularly in C++.

• To use object oriented programming to implement data structures.

• To introduce linear, non-linear data structures and their applications.

UNIT I DATA ABSTRACTION & OVERLOADING 9 Overview of C++ – Structures – Class Scope and Accessing Class Members – Reference Variables – Initialization – Constructors – Destructors – Member Functions and Classes – Friend Function – Dynamic Memory Allocation – Static Class Members – Container Classes and Integrators – Proxy Classes – Overloading: Function overloading and Operator Overloading.

UNIT II INHERITANCE & POLYMORPHISM 9 Base Classes and Derived Classes – Protected Members – Casting Class pointers and Member Functions – Overriding – Public, Protected and Private Inheritance – Constructors and Destructors in derived Classes – Implicit Derived – Class Object To Base – Class Object Conversion – Composition Vs. Inheritance – Virtual functions – This Pointer – Abstract Base Classes and Concrete Classes – Virtual Destructors – Dynamic Binding.

UNIT III LINEAR DATA STRUCTURES 10 Abstract Data Types (ADTs) – List ADT – array-based implementation – linked list implementation –– singly linked lists –Polynomial Manipulation - Stack ADT – Queue ADT - Evaluating arithmetic expressions

UNIT IV NON-LINEAR DATA STRUCTURES 9 Trees – Binary Trees – Binary tree representation and traversals – Application of trees: Set representation and Union-Find operations – Graph and its representations – Graph Traversals – Representation of Graphs – Breadth-first search – Depth-first search - Connected components.

UNIT V SORTING and SEARCHING 8 Sorting algorithms: Insertion sort - Quick sort - Merge sort - Searching: Linear search –Binary Search

OUTCOMES: Upon completion of the course, students will be able to:

Explain the concepts of Object oriented programming.

Write simple applications using C++.

Discuss the different methods of organizing large amount of data.

TEXT BOOKS:

1. Deitel and Deitel, “C++, How To Program”, Fifth Edition, Pearson Education, 2005.

2. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C++”, Third Edition, Addison-Wesley, 2007.

REFERENCES:

1. Bhushan Trivedi, “Programming with ANSI C++, A Step-By-Step approach”, Oxford University Press, 2010.

2. Goodrich, Michael T., Roberto Tamassia, David Mount, “Data Structures and Algorithms in C++”, 7th Edition, Wiley. 2004.

3. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, "Introduction to Algorithms", Second Edition, Mc Graw Hill, 2002.

4. Bjarne Stroustrup, “The C++ Programming Language”, 3rd Edition, Pearson Education, 2007.

5. Ellis Horowitz, Sartaj Sahni and Dinesh Mehta, “Fundamentals of Data Structures in C++”, Galgotia Publications, 2007.

OBJECTIVES:

• To comprehend the fundamentals of object oriented programming, particularly in C++.

• To use object oriented programming to implement data structures.

• To introduce linear, non-linear data structures and their applications.

UNIT I DATA ABSTRACTION & OVERLOADING 9 Overview of C++ – Structures – Class Scope and Accessing Class Members – Reference Variables – Initialization – Constructors – Destructors – Member Functions and Classes – Friend Function – Dynamic Memory Allocation – Static Class Members – Container Classes and Integrators – Proxy Classes – Overloading: Function overloading and Operator Overloading.

UNIT II INHERITANCE & POLYMORPHISM 9 Base Classes and Derived Classes – Protected Members – Casting Class pointers and Member Functions – Overriding – Public, Protected and Private Inheritance – Constructors and Destructors in derived Classes – Implicit Derived – Class Object To Base – Class Object Conversion – Composition Vs. Inheritance – Virtual functions – This Pointer – Abstract Base Classes and Concrete Classes – Virtual Destructors – Dynamic Binding.

UNIT III LINEAR DATA STRUCTURES 10 Abstract Data Types (ADTs) – List ADT – array-based implementation – linked list implementation –– singly linked lists –Polynomial Manipulation - Stack ADT – Queue ADT - Evaluating arithmetic expressions

UNIT IV NON-LINEAR DATA STRUCTURES 9 Trees – Binary Trees – Binary tree representation and traversals – Application of trees: Set representation and Union-Find operations – Graph and its representations – Graph Traversals – Representation of Graphs – Breadth-first search – Depth-first search - Connected components.

UNIT V SORTING and SEARCHING 8 Sorting algorithms: Insertion sort - Quick sort - Merge sort - Searching: Linear search –Binary Search

OUTCOMES: Upon completion of the course, students will be able to:

Explain the concepts of Object oriented programming.

Write simple applications using C++.

Discuss the different methods of organizing large amount of data.

TEXT BOOKS:

1. Deitel and Deitel, “C++, How To Program”, Fifth Edition, Pearson Education, 2005.

2. Mark Allen Weiss, “Data Structures and Algorithm Analysis in C++”, Third Edition, Addison-Wesley, 2007.

REFERENCES:

1. Bhushan Trivedi, “Programming with ANSI C++, A Step-By-Step approach”, Oxford University Press, 2010.

2. Goodrich, Michael T., Roberto Tamassia, David Mount, “Data Structures and Algorithms in C++”, 7th Edition, Wiley. 2004.

3. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, "Introduction to Algorithms", Second Edition, Mc Graw Hill, 2002.

4. Bjarne Stroustrup, “The C++ Programming Language”, 3rd Edition, Pearson Education, 2007.

5. Ellis Horowitz, Sartaj Sahni and Dinesh Mehta, “Fundamentals of Data Structures in C++”, Galgotia Publications, 2007.

## No comments:

## Post a Comment