Skip to main content

Topic outline

  • About this Course

    In most cases, a good algorithm will be packaged together with a set of appropriate data structures that provide the algorithm with the means to efficiently manipulate the data. In this interactive learning experience, we will investigate the typical data structures that are implemented in a variety of computing issues. You will get an understanding of how various data structures may be implemented in C++, and then you will put that knowledge into practice in the programming projects we provide you. Because of this, you will have a better understanding of what is occurring within a certain built-in implementation of a data structure and what outcomes you may anticipate from using it. Additionally, you will become familiar with common applications of these data structures.

    • What you will Learn

      • Core concepts & internals of Data Structures

      • Trees, Linked Lists, Heaps, Graphs

      • Build all data structures from scratch

      • Brute Force & Optimisation Techniques

      • Space Time Complexity Analysis

      • Recursion & Backtracking

      • Dynamic Memory & Pointers

      • C++ Standard Template Library Basics


      • Description

        Data Structures Essentials is the only course you need to understand Data Structures and establish a solid C++ programming foundation. Every software program manipulates data (Insert, Delete, Update, Search). This course covers both the theory and hands-on implementation of each data structure from start to give you a solid grasp of Data Structures. This Computer Science course will teach you basic data kinds, such as integers, and how to organize and manage efficient structures.

        Data Structures Foundation

        • Array, 2D Array, Strings, Usage of vector and other STL containers

        • Linked Lists, Stacks, Queues

        • Trees, BST

        • Heaps/Priority Queues

        • Hash-tables, Collision Handling

        • Graphs


        • Instructor

          Md. Atiab Jobayer Purno

          Md. Atiab Jobayer Purno

          Department of CSE

          National Institute of Technology, Tiruchirappalli


          Former NHSPC/ISCPC Winner

          6 years of experience in web development

          3 years of experience in cross platform mobile app development

          Academic Team Member at BdMO and SPSB



          • Syllabus

            Lecture 1 (Introduction) – June 27

            - Asymptotic Notation Analysis

            - Storage Structure of Array

            - C++ STL Usage


            Lecture 2 (Matrix Operation) – June 30

            - Rotate Matrix

            - Transpose Matrix

            - Spiral Traversal

            - Matrix Multiplication


            Lecture 3 (Stack and Queue) – July 4

            - Stacks

                      Implementation

                      Application

            - Queue

                      Implementation

                      Application


            Lecture 4(Linked List)–July 7

            - Implementation

            - Doubly/Circular Linked List

            - Traversal


            Programming Contest 1 =>July 8


            Lecture 5 (LL Operations)–July 14

            - Insert/ Delete/ Update

            - Reverse a LL

            - Detecting Loop

            - Common LL Problems


            Lecture 6 (Binary Tree)–July 18 

            - Implementation

            - Binary Search Tree

            - Preorder/Inorder/Postorder Traversal


            Lecture 7 (BST Problems) – July 21

            - BST Property Analysis

            - BST Problems


            Lecture 8 (Heap) – July 25

            - Implementation

            - Operations

                        Insert

                        Update

                        Get Min/Max


            Programming Contest 2 =>July 26


            Lecture 9 (Heap Extended)–July 28

            - Extract Min/Max Operation

            - Delete Operation

            - HeapSort

            - Priority Queue

                          Implementation

                          Application


            Lecture 10 (Graph)–July 31

            - Graph Properties

            - Graph Representation

            - Adjacency Matrix

            - Adjacency List


            Lecture 11 (Graph Extended)–August 5

            - Breadth First Search

            - Depth First Search



            Lecture 12 (Contest Problem Solving) – August 12

            - Solve Techniques for Final Contest


            Programming Final Contest =>August 14

            • Requirements

              • Familiarity with C/Python/Java

              • Ability to understand & write code (preferably C/C++)

              • Understanding of Array, String, Loops, Variables, Conditional Statements


              • Enrollment Options

                1. Shareable Course Certificates

                2. Course Videos & Readings

                3. Contest with Feedback

                • FAQ

                  1. Is this course for me?
                      If you are familiar with C/C++/Python/Java then this Course is suitable for you. 
                  2. When will I have access to the lectures and assignments?

                      Access to lectures and assignments depends on your type of enrollment.


                  • Lecture 1 (Introduction)

                    Asymptotic Notation Analysis

                    Storage Structure of Array

                    C++ STL Usage

                  • Lecture 2 (Matrix Operation)

                    Rotate Matrix

                    Transpose Matrix

                    Spiral Traversal

                    Matrix Multiplication

                    • Lecture 3 (Stack and Queue)

                      - Stacks

                                  Implementation

                                  Application

                      - Queue

                                  Implementation

                                  Application



                      • Lecture 4 (Linked List)

                        Implementation

                        Doubly/Circular Linked List

                        Traversal

                        • Lecture 5 (LL Operations)

                          Insert/ Delete/ Update

                          Reverse a LL

                          Detecting Loop

                          Common LL Problems

                          • Lecture 6 (Binary Tree)

                            Implementation

                            Binary Search Tree

                            Preorder/Inorder/Postorder Traversal



                            • Lecture 7 (BST Problems)

                              BST Property Analysis

                              BST Problems



                              • Lecture 8 (Heap)

                                Implementation

                                Operations

                                           Insert

                                           Update

                                           Get Min/Max



                                • Lecture 9 (Heap Extended)

                                  Extract Min/Max Operation

                                  Delete Operation

                                  HeapSort

                                  Priority Queue

                                              Implementation

                                              Application



                                  • Lecture 10 (Graph)

                                    Graph Properties

                                    Graph Representation

                                    Adjacency Matrix

                                    Adjacency List



                                    • Lecture 11 (Graph Extended)

                                      Breadth First Search

                                      Depth First Search



                                      • Lecture 12 (Contest Problem Solving)

                                        Solve Techniques for Programming Final Contest