Competitive Problem-Solving using C++ with DSA & System Design

Duration – 20 Days

Program Structure

  • Problem-Solving using C++
    • C++ fundamentals: pointers, dynamic memory, functions, templates
    • STL algorithms and iterators
    • STL containers: vector, list, stack, queue, set, map
    • Lambda expressions, callbacks, function pointers
  • Object-Oriented Programming & Data Structures using C++
    • OOP Principles
    • Stacks
    • Queues
    • Linked Lists
    • Trees
  • Design and Analysis of Algorithms
    • Searching and Sorting (Linear, Binary, Bubble, Insertion, Merge, Quick)
    • Recursion and Backtracking
    • Divide and Conquer
    • Greedy Algorithms
    • Dynamic Programming
  • System Design Concepts
    • Introduction to Low-Level and High-Level Design
    • SOLID Principles and real-world design problems
  • Problem Solving Practice
    • Hands-on coding with visible and hidden test cases
    • Debugging edge cases and optimizing solutions

Project Stream

  • Machine Learning and Deep Learning Deploy using Streamlit or Hugging Face

Program Outcomes

By the end of the program, learners will:

  • Confidently solve complex coding problems using C++
  • Apply STL and OOP principles to optimize solutions
  • Analyze algorithmic performance using Big O
  • Build modular, reusable, and efficient codebases
  • Demonstrate readiness for campus drives and technical interviews

Tools / Platform:

  • Code Blocks / VS Code / Linux
Problem Solving using C++
Introduction to C++ References & Pointers in C++ Dynamic Allocation in C++
Functions Function Overloading, Default Value Function Template
STL Algorithms Max, min, swap Algorithms Count Algorithm
Sort Iterators STL Algo with Iterators
Max_element, min_element Linear Search using find Algorithm Binary Search : binary_search, lower_bound, upper_bound
Function Pointers Callback Lambda
STL Algorithms with Callback find_if, count_if for_each
STL Container Classes Vector List
Container Adapters Stack, Queue, Priority Queue Forward_list
Associative Containers Set, map Unordered_set, unordered_map
Debugging Skills Code Optimization Code Profiling
Competitive Problem-Solving using C++: Sample Program List
Remove Consecutive Characters Percentage of Letter in String Transform Array by Parity
Frequency of Elements Union of Arrays with Duplicates Sales by Match
Divide Array into Equal Pairs Winner of an Election  
Object Oriented Programming & Data Structures using C++
Object Oriented Programming Class in C++ Encapsulation
Stacks Implementation using Class Queue Implementation using Class Application of Stack
Singly Linked List Implementation using Class Operator Overloading Compare Two Lists using Overloaded Relational Operators
Doubly Linked List Circular Linked List Inheritance
Polymorphism Create Hierarchy of Data Casting Operators
Trees Binary Search Tree Tree Traversal
Competitive Problem-Solving using Data Structure: Sample Program List
Parenthesis Matching using Stack Super Reduced String using Stack Max Element in Stack with O(1)
Insert node at Front / Rear Delete node at Front / Rear Reverse a Linked List
Compare two Linked List Merge two Sorted Linked List Delete duplicate value nodes
Cycle Detection Tree Traversals: InOrder, PreOrder, PostOrder, LevelOrder Height of Tree
Search in BST Expression Tree Graph Traversal
Topological Sequencing Prims Algorithm Kruskals Algorithm
Design and Analysis of Algorithm
Introduction to Algorithms Time and Space Complexity Asymptotic notations: Big-O
Brute Force Divide and Conquer Greedy Algorithm
Recursion Dynamic Programming Backtracking
Introduction to Graph Graph Representation Graph Traversal
Breadth First Search (BFS) Depth First Search (DFS) Minimum Spanning Tree
Prims Algorithm Kruskals Algorithm Single Source Shortest Path
Dijkstra's Algorithm Floyd Algorithm Warshall Algorithm
N-Queens Problem 0/1 Knapsack Topological Sequencing
System Design and Project
Introduction to System Design in C++ Difference between algorithmic problem-solving and system level thinking System Design Process
Modular Programming Project Structuring Designing reusable modules
Designing robust exception handling frameworks Designing Libraries Creating Static Libraries
Creating Dynamic Libraries Makefile Targets and Rules
Version Control using Git and Github Branching and Merging History Tracking

Enquire Now

Enquire Now

Enquire Now

Please Sign Up to Download

Please Sign Up to Download

Enquire Now

Please Sign Up to Download




    Enquiry Form