← Programming & Computer Science Foundations
Competitive Programming
Sharpen your competitive programming edge with STL, graphs, and dynamic programming
Go beyond basic DSA into contest-ready problem solving with the Standard Template Library, bit manipulation, and modulo arithmetic. You'll work through graphs, segment trees, backtracking, greedy algorithms, and dynamic programming, all in C++, building toward the advanced concepts that separate strong coders from the rest.
per level · 3 levels · complete programme ₹18,500
- Duration
- 5 mo
Fees by level
Start at any level, or take the complete programme. The fee you pay for a level is locked for you.
| Level | What it covers | Duration | Fee |
|---|---|---|---|
| Beginner | Start from zero | 1 mo | ₹4,500 |
| Intermediate | Build working projects | 2 mo | ₹6,000 |
| Advanced | Get job-ready | 2 mo | ₹8,000 |
| Complete programme (all levels) | ₹18,500 | ||
All fees are in Indian Rupees and include applicable taxes. See our pricing & payment terms.
The complete curriculum
This is the entire syllabus — all 9 modules and 126 lessons, in the order you'll learn them. Nothing hidden.
↓ Download full curriculum (PDF)01 Introduction to Competitive Programming 13 lessons ▶
- 1.1Introduction to the Course
- 1.2What is Competitive Programming
- 1.3Competitive Programming Competitions
- 1.4Websites for Competitive Programming
- 1.5Terminologies in Competitive Programming
- 1.6Choosing a Programming Language
- 1.7Taking Input & Output in Competitive Programming Contests
- 1.8Cout vs Printf
- 1.9Endl vs Back n
- 1.10Fast cin cout Methods _ Conclusion
- 1.11Time Complexity in Competitive Programming
- 1.12Calculating Time Complexity of Code
- 1.13Importance of English in Competitive Programming
02 Standard Template Library (STL) 17 lessons ▶
- 2.1Introduction to STL in C++
- 2.2Standard Array
- 2.3Standard Vector
- 2.4Standard Set
- 2.5Standard Multiset
- 2.6Standard Map
- 2.7Standard Multimap
- 2.8Standard Pair
- 2.9Standard Forward List
- 2.10Standard List
- 2.11Standard Unordered Set
- 2.12Standard Unordered Multiset
- 2.13Unordered Map and Unordered Multimap
- 2.14Standard Stack
- 2.15Standard Queue
- 2.16Standard Priority Queue
- 2.17Standard Deque
03 Bit Manipulation and Modulo Arithmetic 12 lessons ▶
- 3.1Importance of Bit Manipulation Techniques
- 3.2Basic Binary Operations
- 3.3Bit Operations in C++
- 3.4Check ith bit is SET or NOT SET
- 3.5Toggle ith bit
- 3.6Check odd or even using bits
- 3.7Check if Number is Power of 2
- 3.8Need for Modulo 10^9 + 7
- 3.9Modulo Arithmetic
- 3.10[A3.1] Problem XOR ORED
- 3.11[A3.2] Solution - XOR-ORED
- 3.12[A3.3] Solution with Code - XOR-ORED
04 Graphs 17 lessons ▶
- 4.1Introduction to Graphs
- 4.2Weights in Graphs
- 4.3Why Study Graphs
- 4.4Edge List
- 4.5Adjacenty Matrix
- 4.6Adjacenty List
- 4.7DFS Traversal
- 4.8Implementing DFS Traversal
- 4.9BFS Traversal
- 4.10Implementing BFS Traversal
- 4.11Minimum Spanning Tree
- 4.12Concept of Kruskal_s Algorithm
- 4.13Concept of Prim_s Algorithm
- 4.14Concept of Dijkstra Algorithm
- 4.15[A4.1] Problem - CHFPLN
- 4.16[A4.2] Solution - CHFPLN
- 4.17[A4.3] Solution with Code - CHFPLN
05 Segment Trees 19 lessons ▶
- 5.1Sum of Updated Range Problem
- 5.2Solving Sum of Range Problem with Segment Trees
- 5.3Segment Trees - Update Queries
- 5.4Segment Trees - Calculate Sum
- 5.5Implementing Segment Tree - Part 1
- 5.6Implementing Segment Tree - Part 2
- 5.7Problem - Range Minimum Query
- 5.8Implementing Range Minimum Query
- 5.9Implementing Segment Tree - Tricks
- 5.10Lazy Propagation in Segment Trees - Part 1
- 5.11Lazy Propagation in Segment Trees - Part 2
- 5.12Implementing Lazy Propagation in Segment Trees - Part 1
- 5.13Implementing Lazy Propagation in Segment Trees - Part 2
- 5.14Problem - Xenia and Bit Operations
- 5.15Solution - Xenia and Bit Operations
- 5.16Solution with Code - Xenia and Bit Operations
- 5.17Problem - Circular RMQ
- 5.18Solution with Code - Circular RMQ - Part 1
- 5.19Solution with Code - Circular RMQ - Part 2
06 Backtracking 11 lessons ▶
- 6.1Introduction to Backtracking
- 6.2N Queens Problem Explained
- 6.3N Queens Solved
- 6.4Knights Tour Problem Explained
- 6.5Knight's Tour Solved
- 6.6Rat in Maze Problem Explained
- 6.7Rat in Maze Solved
- 6.8Problem Richie Rich
- 6.9Solving Richie Rich
- 6.10Problem False Number
- 6.11Solving False Number
07 Greedy Algorithms 12 lessons ▶
- 7.1Introduction to Greedy Algorithms
- 7.2Understanding Greedy with Fractional Knapsack Problem
- 7.3Solving Fractional Knapsack Problem
- 7.4Tasks and Deadlines Problem
- 7.5Solving Tasks and Deadlines Problem
- 7.6Optimal File Merging Problem
- 7.7Solving Optimal File Merge Patterns Problem
- 7.8Huffman Coding
- 7.9[A7.1] Problem - Dragons
- 7.10[A7.2] Solution with Code - Dragons
- 7.11[A7.3] Problem - Little Elephant and Bits
- 7.12[A7.4] Solution with Code - Little Elephant and Bits
08 Dynamic Programming 14 lessons ▶
- 8.1Introduction to Dynamic Programming
- 8.2Top down vs Bottom Up
- 8.3Fibbonacci Problem Top Down
- 8.4Implementing Fibonnaci with DP
- 8.52D Grid Traversal Problem
- 8.6Implementing 2D Grid Traversal Problem
- 8.7Understanding Memoization
- 8.8Fibbonacci with Tabulation
- 8.9Implementing Fibbonacci with Tabulation
- 8.102D Grid Traversal Problem with Tabulation
- 8.11Implementing 2D Grid Traversal Problem with Tabulation
- 8.12Understanding Tabulation
- 8.13[A8.1] Problem - Subset Sum Problem
- 8.14[A8.2] Solving - Subset Sum Problem
09 Advanced Concepts 11 lessons ▶
- 9.1Binary Lifting (Kth Ancestor of a Tree Node)
- 9.2LCA (Lowest Common Ancestor) Problem
- 9.3Fenwick Trees - Introduction
- 9.4Fenwick Trees - Sum of Range (Range Find Query)
- 9.5Fenwick Trees - Update (Point Update Query)
- 9.6Problem - Distance between nodes in Trees
- 9.7Solution - Distance between nodes in Trees
- 9.8Implementing Fenwick Trees
- 9.9Implementing Binary Uplifting
- 9.10Implementing LCA
- 9.11Solution with Code - Distance between nodes in Trees
Tools you'll use
Every course includes
Related courses
C++
Master C++ fundamentals — OOP, STL, and file streams — with hands-on practice
DBMS
Database fundamentals through Oracle SQL, PL/SQL, and transaction management
DSA with C++
Data structures and algorithms in C++ — from arrays and linked lists to AVL trees