**Flowcharts**

Introduction to flowcharts, Decision making using flowcharts, Loops, Example problems

**Variables and Data types**

First program, Variables and data types, Taking input, How data is stored in memory, Arithmetic Operators

**Conditional statements**

Introduction to If else, Relational and logical operators, Nested conditionals

**While loops**

While loops, Flow of execution of statements in while loop, Example problems using while loop

**Patterns**

Introduction to patterns, Basic Patterns, Square Patterns, Triangular Patterns, Character Patterns, Reverse Triangle, Inverted patterns, Isosceles triangles

**For loops**

For loops, Break and Continue, increment - decrement operators

**Functions**

Introduction to functions, Working of function calling, Variables and its scope, Pass by value

**Introduction to Arrays**

Introduction to arrays, How arrays are stored in memory, Passing arrays to functions

**Searching and Sorting**

Understanding Binary Search, Selection sort, Bubble sort, Insertion sort, Merging two sorted arrays

**Strings**

Introduction to strings, storage of strings and their inbuilt functions

**2D Arrays**

2D arrays, Storage of 2D arrays, Example problems using 2D Arrays

**Recursion**

Introduction to recursion, Principle of mathematical induction, Fibonacci numbers, Recursion using arrays, Recursion using strings, Recursion using 2D arrays

**Time and space complexity**

Order complexity analysis, Theoretical complexity analysis, Time complexity analysis of searching and recursive algorithms, Theoretical space complexity, Space complexity analysis of merge sort

**Basics of OOPS**

Introduction to OOPS, Creating objects, Getters and setters, Constructors and related concepts, Inbuilt constructor and destructor, Example classes

**Advance concepts of OOPS**

Static members, Function overloading and related concepts, Abstraction, Encapsulation, Inheritance, Polymorphism, Virtual functions, Abstract classes, Exception handling

**Linked Lists**

Introduction to linked list, Inserting node in linked list, Deleting node from linked list, Midpoint of linked list, Merge two sorted linked lists, merge sort of a linked list, Reversing a linked list

**Stacks and Queues**

Introduction to stacks, Stack using arrays, Dynamic Stack class,Stack using linked list, Inbuilt stack, Queue using arrays, Dynamic queue class, Queue using linked list, Inbuilt queue

**Generic Trees**

Introduction to Trees, Making a tree node class, Taking a tree as input and printing, Tree traversals, Destructor for tree node class

**Binary Trees**

Introduction to Binary Trees, Taking a binary tree as input and printing, Binary Tree traversals, Diameter of binary tree

**Binary Search Trees**

Introduction to Binary Search Trees, Searching a node in BST, BST class, Inserting and Deleting nodes in BST, Types of balanced BSTs

**Priority Queues**

Introduction to Priority Queues, Ways to implement priority queues, Introduction to heaps, Introduction to Complete Binary Trees and its implementation, Insert and Delete operations in heaps, Implementing priority queues, Heap sort, Inbuilt Priority Queue

**Hashmaps**

Introduction to Hashmaps, Inbuilt Hashmap, Hash functions, Collision handling, Insert and Delete operation implementation in hashmap, Load factor, Rehashing

**Tries**

Introduction to Tries, Making a Trie Node class, Insert, Search and Remove operation implementation in Tries, Types of Tries, Huffman Coding

**Graphs**

Introduction to Graphs, Graph Terminology, Graph implementation, Graph Traversals (DFS and BFS), Weighted and Directed Graphs, Minimum Spanning Trees, Cycle Detection in Graphs, Kruskal's algorithm, Prim's Algorithm, Dijkstra's algorithm

**Introduction to Dynamic Programming**

Introduction to Memoization, Introduction to Dynamic Programming, Fibonacci numbers using recursion, memoization and dynamic programming

**Applications of Dynamic Programming**

Longest Common Subsequence (LCS) using recursion, memoization and dynamic programming, Edit distance using recursion, memoization and dynamic programming, Knapsack problem using recursion, memoization and dynamic programming

**Introduction to Competitive Programming**

Why Competitive Programming?, How To Approach A Problem In Contest, Various Types Of Errors

**Basics Of Recursion**

Introduction to Recursion, Recursion and PMI, Fibonacci Number, Recursion and Arrays

**Time and Space Complexity Analysis**

Order Complexity Analysis, Theoretical Analysis, Linear Search time complexity, Insertion Sort time complexity, Selection Sort time complexity, Theoretical Analysis - Recursive Algorithms, Merge Sort Time complexity, Fibonacci Time Complexity Analysis, Space Complexity Analysis, Merge Sort Space Complexity Analysis, Fibonacci Space Complexity Analysis, Kadane's Algorithm

**Language Tools**

STL - Data Structures, STL - Functions, Hussain Set, Voters List, Permutation & Palindrome

**Searching & Sorting Applications**

Aggressive Cows, Inversion Count

**Advanced Recursion**

Recursion and Strings, Merge Sort Algorithm, Quick Sort Algorithm, Strings, Return Subsequences of a String, Return Keypad Approach

**Backtracking**

Backtracking ( N-Queen), N-Queen Code, Rat In A Maze code

**Bit Manipulation**

Flip ith bit, Check Odd-Even, Introduction & Shift Operators, Clear All Bits From LSB, Remaining Bitwise Operators, Check Power of 2, Check nth bit

**Modulo Arithmetic**

Modulo Operations, Modulo Properties, Modulo Operations - Continue, Number Of Balanced Binary Trees

**Dynamic Programming**

Basics Of Dynamic programming: Fibonacci Numbers, AlphaCode, Longest Increasing Subsequence, Coin Change And StairCase, Minimum Cost, Magic Grid, Maximum Sum Rectangle, Longest Common Subsequence, Knapsnack - Iterative, Subset Sum

**Greedy Problems**

Introduction To Greedy Techniques, Minimum Absolute Difference In Array, Nikunj And Donuts, Fractional Knapsack, Weighted Job Scheduling

**DP & Bitmasking**

DP With Bitmasking, What is Bit Masking?, Minimum Cost for Jobs, Mehta and Bank Robbery

**Segment Tree**

Introduction to Segment Tree, Update On A Segment Tree, Size Of Segment Tree, Sum Of Squares Video, Maximum Sum in Subarray, Lazy Propagation, How To Build A Segment Tree, Query On A Segment Tree, Segment Tree Max Pair Sum

**Fenwick Tree**

Introduction to Fenwick Tree, Coordinate Compression, OrderSet Problem, Distinct Query

**Graph Implementation**

Return all connected components, Get Path - BFS, Get Path - DFS, Has path, Solution: BFS Traversal, DFS - Adjacency Matrix, Graphs Terminology, Graphs Introduction, Graphs Implementation, BFS Traversal, BFS & DFS for disconnected graph, Weighted & Directed Graphs

**Graph Algorithms**

Dijkstra’s Algorithm, Prim's Algorithm, Kruskal's Algorithm, Minimum Spanning Trees, Detect Cycle, Union Find Algorithm

**Advanced Graphs**

Permutation Swaps, Connected Components, Fill Matrix Question, Connected Horses, Strongly Connected Components, Bipartite Graph

**String Algorithms**

Longest Prefix Suffix, Z-Algorithm Pattern Matching, Longest Palindromic Substring Basics, KMP Algorithm, Pattern Matching Basics, Longest Prefix Suffix

**Tries**

Search Engine, SUBXOR, Maximum XOR Subarra, XOR Maximum Pair, Tries & XOR

**Number Theory**

GCD(Euclid Algorithm), Diophantine Equations, Multiplicative Modulo Inverse, Find Prime Numbers From 1 To N, Sieve Of Eratosthenes, Divisors Of Factorial, Advanced GCD, Euler's Totient Function, Segmented Sieve,Wilson's Theorem, Modular Exponentiation, Nth Fibonacci Number - Log(n), Fermat’s Little Theorem, Matrix Exponentiation, Optimized Power Function, Recurrence Relations

**Game Theory**

Othello, Othello Evaluation Function, MinMax Algorithm, Sprague Grundy Theorem, Grundy Numbers, Game Of Nim, Intro To Game Theory, Proof Of Nim Formula, Evaluation Function In MinMax Algorithm

**Computational Geometry**

Convex Hull, Area Of A Polygon, Distance Of A Point, Intro To Computational Geometry, Intersection Of Two Lines

Mock interview/Industry mentor guidance sessions - 10

Workshops for building your resume and Linkedin/Github profiles

Curated interview problems - 100

DSA based product companies Mock Test Series

2 months Free Course Extension