DSA in C++

Master Data structures & Algorithms using C++ with System Design

This course is ideal for students stepping into the world of coding or for those who have intermediate expertise and want to become a Pro Coder.
Choose Batch

350+ problems

6 Live projects

4/6 months Duration

Classroom | Live | Online Mode of Delivery

Why should you do this course?

Enquire at - 9999579111
Check out CAST - our Scholarship test for Performance based fee waivers.
Click here

Starting from ₹ 1500/-

Choose Batch

Key Highlights

350+ Problems and 6 Live Projects

Covers Foundation, Basic and Advanced modules

4/6 Months Course

Certificate of Completion/Excellence

Progress tracking & Feedback

Placement assistance

Doubt support

Curriculum designed for beginners. No Coding experience required

  • Welcome aboard
    Welcome to the course
  • Flowcharts and Psuedocode
    This helps you to understand how to convert logic and write it in the form of diagrammatic and textual way.
  • Basics of Programming
    For any language the first and the most important thing to learn is the syntax, variables, loops, and conditionals. In this section, we will cover how to convert our logic to C++ Code.
  • Operators in C++
    To help you understand different types of operators such as Arithmetic, Compund assignment, Bitwise, and Logical operators.
  • Functions
    In this section, you will learn to write code in a modular way to help you reuse the code in different C++ files and make it more readable and organized.
  • Arrays
    This is the one of most important data structure that is generally easy to understand but algorithms and concepts of this topic can be very tricky and it is asked in almost every tech company. Algorithms such as Binary Search, Sorting, Maximum Subarrays, and Searching are must to do in order to get a good grasp of this topic.
  • Character Arrays
    This is another type of an array, just that you need to understand how to handle strings using character arrays, It will help you understand how the variation of data type in array change the way we handle this data structure.
  • Pointers
    This most important topic to understand in order to move towards the advanced data structures, it is just like another datatype to help store address of memory we create to store data.
  • Algorithms STL
    STL is one of the most useful thing that to write codes in a faster way, this is something comes very handy in competitive programming and online coding practise sites.
  • Bitmasking
    In this section, we will understand how Bitwise operators like AND, OR, XOR, and NOT to work on machine code to help write the programs that works faster, since computer understands machine code.
    This concept is also very useful in Recursion as well as Dynamic programming advanced concepts.
  • Strings
    It's an alternative to Character Array, Strings data type helps in handling string easier and faster. In depth understanding of this concept becomes easier after understanding OOPs concepts.
  • Recursion Introduction
    Inorder to understand Recursion we must understand Recursion, so this is what is focussed here i.e. write codes using Recursion.
    It is used in Dynamic Programming and as well as in data structure such as Trees, Graphs, and Heap etc.
  • Deep Diving into recursion
    In this section, we will start exploring how to form recurrence relations using problem statements and mainly discussing recursion on arrays and strings.
  • Recursion on Subsets
    In this section, we will understand how to solve algorithms such as phone search and advanced concept of Knapsack that is mostly asked in Interviews.
  • Backtracking
    It is the most important concept to understand in Recursion and it is thoroughly checked in Interviews and Technical Rounds. If one has to master recursion they need to master backtracking.
  • Time and Space Complexity
    It helps us to compare the algorithms on the basis of Time and Space it takes to run the code and help us to master how to write codes by considering constraints of the problem.
  • Object Oriented Programming
    One of the most important topic to build data structures, this is not only used in every data structure but also help us to understand how to associate the real world with programming language.
  • Linked List
    In this topic we learn how to store data in a non-contiguous manner and we understand how the Linked List can work in a better time complexity that other data structures in some operations.
  • Stack
    It follows the principle of Last In and First Out, although this data structure can be easily understood but the concept of LIFO can be used to solve some typical problems such as Histogram Area, Stock Span, and Balanced Parantheses etc.
  • Queues
    This data structure works just like a normal queue does and it is mainly used as a helping data structure in Trees and Graphs.
  • Binary Trees and Binary Search Trees
    In this data structure, we learn how to store data in a hierarchical format. It is one of the most important topic from Interview point of view and questions from this topic is frequently asked in companies such as Amazon, Microsoft, Flipkart and Google etc.
  • Heap
    This data structures helps you to understand how the infinite stream of data coming can be accessed to fetch the useful information, for example, find the most sold products on any website?
  • Hashmap
    It helps us to understand how we can store, update and delete the data in constant time. It is majorly used in Dynamic Programming and Graphs to help us make the time complexities of the algorithms better.
  • Graphs
    The most popular data structures in companies like Direct-i, Google, and Arcesium etc.
    It is usually considered tough because of the dependency on other data strucutres such as queue, hashmaps, sets, and heap etc. but once you get a taste of how to apply these things together it will make you a better programmer.
  • Tries
    It helps us to search in constant time and incase you want to use auto suggestions features of Amazon, Flipkart or other sites search bar this is the solution.
    Many problems such as Maximum-Xor, and Maximum Sum etc. uses tries to help improve complexity of the problem.
  • One Dimensional Dynamic Programming
    We learn how we can improve the time complexities of Recursive algorithms drastically using concepts like Top Down approach. Also we convert out Top down approach to bottom up approach using the recurrence relation and DP concept, it's exactly what is required for the master DP.
  • Two Dimensional Dynamic Programming
    The most important concepts of DP are Knapsack, Optimal Game strategy, and solving string problems using 2D storage there by improving their complexities multiple folds.
  • Greedy Algorithms
    This is where you learn how being greedy can benefit you to solve certain problems in a faster way. The main point of focus here is to understand where we can apply Greedy over Dynamic Programming.
  • Top Tech Company Questions
    Practise from the most asked questions in companies such as Amazon, Facebook, Microsoft, LinkedIn, and Google etc. Become the programmer to crack any of your dream company.
  • Google, Amazon, GoJek, Flipkart, Uber, Amex Interview mantras
    This will give you an idea of how you should prepare yourself for the final interviews and prepare yourself for everything that you may face during the placement process of any company.
  • Browser
    What happens when you hit the url on your browser ?What is system Design? Types of System Design HLD intro
  • Types of Design && Design Basics
    LLD intro & SDLC Web App VS Website What is architecture
  • System types
    Monoliths Distributed System LatencyThroughput
  • Android Components
    Availability TIme Consistency
  • Characteristics
    Availability Time Consistency
  • Storing Hot Data
    Websockets & SSE Scaling Techniques Horizontal Scaling
  • Theorams
    Redundancy && Replication Cap theorem Databases
  • Division of Data
    DataBase optimization Partitioning Communication
  • Communication
    Message Based communication Web Apps Rest Apis
  • Microservices
    Microservices & architecture Web Servers && Protocols & App security Service
  • Design Problem
    URL Shortener/ Pastebin Api Rate Limiter
  • Design Problem
    Youtube Design Web Crawler
  • Design Problem
    Drop Box Uber Backend Design
  • Design Problem
    Twitter Instagram
  • Design Problem
    Ticketmaster design
  • Basic Of LLD
  • OOPS
    OOD && OOP Objects && CLASSES
  • Design Principles
    OOP CONCEPTS Solid Principle
  • Design Principles
    SRP Princripal O-C Principal
  • Design Principles
    Livosik Principal
  • Design Principles
    Integration Principal
  • Design Principles
    Dependency Principal Problems
  • Patterns
    Design Patterns
  • Design Problems
    Case Studies
  • Coding using OOPs
    Machine Coding

You can learn DSA using these popular options

You can learn Data structures and algorithms using either of these two popular options


Typically the first language of many and most commonly used language in first year of college, C++ is easy to start with and its code requires less time.


Java is platform independent and incomparable to any other Programming language in terms of widespread use.

Check this course


Python is one of the easiest languages to start coding. Choose this if you are just about to start and look forward to quicker Web dev options using Django or want to excel in Data science or ML.

Check this course
Snakes Game

This project uses Arrays to build a very interesting Snake game

Splitwise App

This project uses concepts of DSA to build Splitwise App


Make your very own Sudoku solver with Backtracking

Travel Planner

Plan your travel when you build your own application by using Graphs


Use DP optimisation to build this all time favourite game and be a leader in your pack

Jump Froggy

Design your very own Frog game while using Greedy optimisation in DSA

Choose Batch

Classroom Batch

3-4 months duration, 350+ questions and 6 live projects
Priority Placement assistance & Doubt support
Personal mentoring, progress tracking and feedback
Certificate of Excellence/Completion
Free Wildcraft bag, Swags and access to Online course
Developer CV and In-class Hackathons


Live Batch

60+ live classes, 5-6 months duration, 350+ questions and 6 live projects
Priority Placement assistance & Doubt support
Personal mentoring, progress tracking and feedback
Certificate of Excellence/Completion
Developer CV and In-class Hackathons


Online Batch

Highly Economical model to learn
200+ hours Exhaustive content and Tech enabled Guided learning
6 months duration, 350+ questions and 6 live projects
Live interactive booster classes of difficult topics
Certificate of Excellence/Completion
Progress tracking and feedback
Optional Priority Placement assistance & Doubt support


Why choose Coding Blocks

Learn and grow as a developer with our project based courses.

Industry-focused curriculum

Superb mentors

Best in class mentors from top Tech schools and Industry favourite Techies are here to teach you.

Career-focused pedagogy

Industry-vetted curriculum

Best in class content, aligned to the Tech industry is delivered to you to ensure you are a darling of the Tech industry.

Best in class mentor

Project based learning

Hands on learning pedagogy with live projects to cover practical knowledge over theoretical one.


Superb placements

Result oriented courses with placement across all genres, students as well as Working professionals.

Inspirational Success stories of CB Alumni

where hard work and determination meets victory!

Still in doubt? We are here to help you out!

Top placements from these programs

Our students can be found in

45x - 200x

Return on Investment

After the completion of the course you will get a ROI of 45 - 200x

Choose Batch

Placement assistance

A dedicated Placement team along with Hiring Blocks, the placement portal of Coding Blocks work round the clock to ensure the best of opportunities in the Tech arena are available to you.

Developer CV and profile Preperation

Developer CV and Dev profile Preperation

Interview Preperation

Interview Preperation

Referrals for Placements and internships

150+ Partner companies for Placements and internships

Mock interviews

Mock interviews

Learning cycle

What an inspiration to all!

Best in class mentors

Coding Blocks has some of the best mentors in the Industry who will remain by your side during your Preperation for teaching, guidance and assistance.

Kartik MathurAcademics head and Founding member

Mosina AshrafSenior Instructor and Product engineer

Mayank JhaInstructor and Product engineer

Abhishek S.Instructor and Product engineer

Your Code Buddies!

A wide network of TAs aka Teaching assistants, who are typical ex-students of Coding Blocks helps in Doubt resolution along with Mentors, through Video, Audio, Screen share and other media to ensure all your queries are addressed timely

Industry Coaches

Industry experts are guides currently working in Top companies like Google, Amazon, Microsoft and the like and they helps students with invaluable tips on the Industry, Hiring process, Mock interviews and other necessities required for paving the way into the Top Tech companies around the globe.

Tech Established Learning!

The e-learning portal is an in-house developed, state of the art application which uses the best of technology and resources to ensure all learners gain the maximum from their program. It provides immersive learning with suggestions and guidance to ensure even self learning is effective and fruitful. This portal allows learning through ebooks, videos, notes while allowing learners to attempt coding problems, MCQ assignments with attending live classes and asking doubts through chat and live video calling feature with mentors and TAs.

See what students have to say

See a class in action!

Frequently Asked Questions

Learn and grow as a developer with our project based courses.