• No products in the cart.

0

In this course, the Data Structures and algorithms have been implemented using the Object-Oriented Approach with C++.
The course is designed to impart knowledge and develop skills required to solve real-world problems using Object-Oriented Approach, Python constructs.

COMING SOON
Introduction

Good knowledge of data structures and algorithms is the foundation of writing good code. Having good knowledge of essential Data structures like an array, string, linked list, stack, queue, tree, graph, etc makes one understand when to use which Data Structure and accordingly reduce the space and time complexity of the algorithm.

Using the right data structure can drastically improve the performance of an algorithm. An in-depth understanding of Data Structures enables one to understand how a computer gets things done. Everything from memory allocation in the depths of the operating system, to the inner workings of an RDBMS, to how networking stack manages to send data from one place to another, all computers rely on fundamental data structures and algorithms, so understanding them better makes one understand the computer better.

 

In this course, the Data Structures and algorithms have been implemented using the Object-Oriented Approach with C++. Object-oriented programming (OOP) is a programming language model in which programs are organized around data, or objects, rather than functions and logic. An object can be defined as a data field that has unique attributes and behavior. OOP approach enables a programmer to deal with real-world entities. This opposes the historical approach to programming where the emphasis was placed on how the logic was written rather than how to define the data within the logic.

  Objective

The course is designed to impart knowledge and develop skills required to solve real-world problems using Object-Oriented Approach, Python constructs. The focus will also be on the fundamentals of Data Structures, Abstract concepts, and how these are useful in problem-solving.

  After completing the module, the student will be able to understand:
  • Basics of Object-oriented Programming
  • Understand the OOP concepts- Abstraction, Objects, Classes, Polymorphism, Inheritance
  • Implementation of Object-Oriented concepts using C++ classes
  • Analyze step by step and develop algorithms to solve real-world problems
  • Implementation of Data Structures like Linked List, Stack, Queue, Trees, Graphs
  • Sorting and Searching Techniques with focus on space and time complexity of algorithms
Duration 120 Hours - (Theory: 48hrs + Practical: 72 hrs) Detailed Syllabus (i) Object-Oriented Concepts

Object-Oriented Programming- a new paradigm, Abstraction, forms of Abstraction, OOP concepts- Classes, Objects, Polymorphism, Data Encapsulation, Data Hiding, Inheritance,

(ii)Basics of C++, Classes, and Objects

Features of C++, Tokens, keywords, Data types, Operators, Manipulators, Console input, output, Control statements (conditional and loops), Functions, Classes, Instantiation, Destructor, constructor, Polymorphism - Operator Overloading, Function Overloading, Inheritance-Single, Multiple, Multilevel, Pointers

(iii) Analysis of Algorithm

Introduction to algorithm design and Data structures, Comparison of Algorithms, Complexity in terms of space and time, Calculation of O- notation. Abstract Data type and its implementation with a Rational number example

(iv) Searching and Sorting

Searching- Linear and Binary Search, Sorting- Bubble Sort, Selection Sort, Insertion Sort, Quick Sort, Merge Sort, Comparison of various searching and sorting techniques in terms of time complexity

(v) Elementary Data Structures: Arrays, Linked Lists

Representation of arrays-single and multidimensional, Address calculation using row-major ordering, Various operations on arrays, Linked Lists-Singly Linked List, Double linked List, Circular Linked List- traversing, deleting, inserting, searching, counting, reversing, the printing of nodes.

(vi) Stacks and Queues

Stack ADT, Implementation of stack using array and linked list, Application of Stack- Evaluation of postfix/prefix expression, Queue ADT, Implementation of the queue using Array and Linked List

(vii) Trees

Definition and notations, Binary Search Trees Implementation. Traversals using stacks and recursion - In-order, post-order, pre-order techniques, Threaded binary tree, B-trees with the implementation of 2-3 trees.

(viii) Graphs

Definition and notations, Components of Graphs, Types of Graphs, Graph Implementation using Adjacency Matrix and Adjacency List algorithms and programs, Graph Traversal Methods: Depth First Search, and Breadth-First Search.

Course Currilcum

    • A new paradigm, Abstraction, forms of Abstraction 00:00:00
    • OOP concepts- Classes, Objects, Polymorphism, Data Encapsulation, Data Hiding, Inheritance 00:00:00
    • Features of C++, Tokens, keywords, Data types, Operators 00:00:00
    • Manipulators, Console input, output, Control statements (conditional and loops) 00:00:00
    • Functions, Classes, Instantiation, Destructor, constructor 00:00:00
    • Polymorphism – Operator Overloading, Function Overloading 00:00:00
    • Inheritance-Single, Multiple, Multilevel, Pointers 00:00:00
    • Introduction to algorithm design and Data structures, Comparison of Algorithms 00:00:00
    • Complexity in terms of space and time, Calculation of O- notation 00:00:00
    • Abstract Data type and its implementation with a Rational number example 00:00:00
    • Searching- Linear and Binary Search, Sorting- Bubble Sort 00:00:00
    • Selection Sort, Insertion Sort, Quick Sort, Merge Sort 00:00:00
    • Comparison of various searching and sorting techniques in terms of time complexity 00:00:00
    • Representation of arrays-single and multidimensional, Address calculation using row major ordering 00:00:00
    • Various operations on arrays, Linked Lists-Singly Linked List 00:00:00
    • Double linked List, Circular Linked List- traversing, deleting 00:00:00
    • Inserting, searching, counting, reversing, the printing of nodes 00:00:00
    • Stack ADT, Implementation of stack using array and linked list 00:00:00
    • Application of Stack- Evaluation of postfix/prefix expression 00:00:00
    • Queue ADT, Implementation of queue using Array and Linked List 00:00:00
    • Traversals using stacks and recursion – In-order, post-order 00:00:00
    • Definition and notations, Binary Search Trees Implementation 00:00:00
    • Pre-order techniques, Threaded binary tree 00:00:00
    • B-trees with implementation of 2-3 trees 00:00:00
    • Definition and notations, Components of Graphs 00:00:00
    • Types of Graphs, Graph Implementation using Adjacency Matrix and Adjacency List algorithms and programs 00:00:00
    • Graph Traversal Methods: Depth First Search and Breadth First Search 00:00:00
© All rights reserved
Open chat