#### Basics of Programming 9 hrs

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

#### Loops and Functions 12.5 hrs

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

#### Arrays 7.5 hrs

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 and 2D Arrays 7 hrs

Strings

Introduction to strings, storage of strings and their inbuilt functions

2D Arrays

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

#### Problem Solving Techniques 18 hrs

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

#### Object Oriented Programming 12 hrs

Basics of OOPS

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

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

#### Linear Data Structures 16 hrs

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

#### Trees 18.5 hrs

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

#### Advanced Data Structures 32 hrs

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

#### Dynamic Programming 14 hrs

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

#### Basics of Competitive Programming 8.5 hrs

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

#### Applications of Recursion 2.5 hrs

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 and Modulo Arithmetic 1.5 hrs

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 6.5 hrs

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 With Bitmasking, What is Bit Masking?, Minimum Cost for Jobs, Mehta and Bank Robbery

#### Range Queries 4 hrs

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

#### Graphs 5 hrs

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

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

#### Strings and Tries 2.5 hrs

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

#### Mathematics for Competitive Programming 8 hrs

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

#### Special Features

Mock interview/Industry mentor guidance sessions - 10