DSA in C++

Introducing Summer Fast-Track Program

Our Summer Fast-Track Program is specially designed for college students looking forward to up-skill themselves this summer season and crack MAANG companies.
Industry mentors

2 Months Course Duration

Resuming building

Topics covered from scratch

Hands-on real time learning

No Coding experience required

Certified Program

Hackathons to master placements / Internships

Mock interviews

SDE Sheet - For top 150+ Companies

Quick doubt resolution

Internship and Placement Opportunities

Choose Batch

Your application has been received!

Need Counselling ?
Full Name
Email address
Contact Number
Course

350+ problems

6 Live projects

2 Months Duration

Classroom | Live Mode of Delivery

Why should you do this course?

Key Highlights

350+ Problems and System Design module covering LLD in details

6 Live Projects of DSA and Advanced DSA

Covers Foundation, Basic and Advanced modules

2 Months Course

Certificate of Completion/Excellence

Progress tracking & Feedback

Mock Interviews & Placement assistance

Doubt support

Curriculum designed for beginners. No Coding experience required

Syllabus
  • 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
    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
    What is LLD? LLD INTERVIEWS
  • 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
  • Welcome aboard
    Welcome to the course
  • Vector
    In this section we will learn about the container vectors which are same as the dynamic arrays with the ability to resize itself automatically.Since its a container it contains various functions which come quite handy while solving the problems.
  • Strings
    In this section we will learn about strings which is an alternative to character array, String data type helps in handling string easier and faster.With proper understanding of OOPs this concept becomes more clear.
  • List
    In this section we learn about the STL Lists which is based on the data structure Linked List which store data in a non-contiguous manner.
  • Stacks
    In this section we learn about the STL stacks which is based on the data structure Stacks which follows the principle of Last In and First Out.
  • Queues
    In this section we learn about the STL queue which is based on the data structure Queue which follows the principle of First In and First Out. This data structure works just like a normal queue does and it is mainly used as a helping data structure in Trees and Graphs.
  • Maps
    In this section we will learn about Maps which stores the data in the mapped form of key->value which is implement on the basis of Red Black Trees.
  • Priority Queue
    In this section we will learn about the STL priority queue which is primarily based on heaps which helps us 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?
  • Set
    In this section we will learn about Sets which are internally implemented through BST which store unique elements following a specific order.
  • Functions
    In this section we will learn about various functions that are there in the STL which help us in solving various problems easily like find, sort etc.
  • Policy based Data Structures
    In this section we will learn about the some data structures that are not part of the STL but are supported by the GCC. These data structures can be designed for high-performance, flexibility, semantic safety, and conformance to the corresponding containers in std.
  • 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.
  • Persistent Tries
    In this section we will understand the concept of persistency in tries.
  • Binary Search
    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.
  • Greedy Algorithms
    In this section, we will understand how Bitwise operators like AND, OR, XOR, and NOT work on machine code to help and write programs that works faster. This concept is also very useful in Recursion as well as in Dynamic programming and Advanced DSA.
  • Bit Manipulation

    In this section we will understand about geometry and problems related to them and about convex hull.
  • Geometry And Convex Hull
    TIn this section we will understand about geometry and problems related to them and about convex hull.
  • Hashing
    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.
  • Square Root Decomposition/Mo's Algorithm
    In this section we will learn about Sqrt Decomposition which is a method (or a data structure) that allows you to perform some common operations (finding sum of the elements of the sub-array, finding the minimal/maximal element, etc.) in optimal time.
  • String Matching Algorithm
    In this section we will learn about various string matching algorithm such as KMP Algorithm, Z-Algorithm etc.
  • Heavy Light Decomposition
    In this section we will learn about Heavy-light decomposition which allows us to effectively solve many problems that come down to queries on a tree.
  • Fast Fourier Transform
    IIn this section we will learn about Fast Fourier Transform and its application in using problem solving.
  • Game Theory
    In this section we will understand a new approach to deal with sequential game problems.
  • Interactive Problems
    In this section we will learn about interactive problems and how to approach them and how they are different.
  • Theorems
    In this section we will learn various theorams such as Totient,Fermat Little Theoram, Miller Theoram, Wilson Theoram etc.
  • Basics
    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.
  • Implementation Based
    This section will be more focussed on the implemention of various problems using recursion.
  • Quick Thinking
    In this section we will learn we will combine what we have learned up until now and try to solve other difficult problems.
  • Subset Based
    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.
  • Advanced Backtracking
    In this section we will try to solve much more difficult problems based on backtracting and implementation.
  • Segment Trees
    In this section we will learn about segment trees which are the used to store information about intervals/segments which in turn help us querying which of the stored segments contain a given point.
  • Lazy Propagation
    In this section we will learn to optimise our segment trees problems using lazy propagation.
  • Persistent Segment Trees
    In this section we will understand the concept of persistency in segment trees.
  • Fenwick Trees
    In this section we will learn about the binary indexed tree/fenwick trees which predominantly is used to efficiently update elements and calculate prefix sums in a table of numbers.
  • Basics
    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.
  • One Dimentional DP
    In this section we will go through the DP problems dealing in One Dimention.
  • Grid Based DP and Two Dimentional DP
    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.
  • Multidimentional DP
    In this section we will go through the DP problems involving Multi-Dimention.
  • Atcoder DP Set
    In this section we will go through all the problems of the famous atcoder dp contest.
  • Longest Increasing Subsequence(Many Ways)
    In this section will will understand the famous DP problem using different technique.
  • Introduction
    In this section we will learn about graphs as a non linear data structure and learn about its basic implementations and definitions.
  • Traversals(BFS and DFS)
    In this section we will learn the various ways of traversal across graphs through algorithm like bfs and dfs.
  • Undirected Graph
    In this section we will learn about undirected graphs and various algorithms regarding them.
  • Directed Graph
    In this section we will learn about directed graphs and various algorithms regarding them.
  • Disjoint Set Union
    In this section we will learn about Disjoin set and Union as a powerful tool in solving various graph related problems.
  • Minimum Spanning Trees
    In this section we will get a brief idea about mst and various algorithms regarding them such as Prism's and Krushkal.
  • Shortest Path Algorithms (Dijkstras, Bellman Ford etc)
    In this section we will learn about shortest path algorithms on a weighted graphs such as Dijkstras, Bellman Ford and also Floyd Warshall Algorithm.
  • Implicit Graphs/ Splitwise Algorithm
    In this section we will learn about splitwise app implementation and Algorithm.
  • Network Flow
    In this section we will learn about various network flow and various advance algorithms such as Ford Fulkerson Algorithm, Minimum cut in a network flow.
  • LCA
    In this section we will learn about LCA, Articulation Points and Bridges.
  • Problem Set
    In this section we will go through all the concepts we have learned so far and use them in advance problems related to them.
  • 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.
Projects
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

Sudoku

Make your very own Sudoku solver with Backtracking

Travel Planner

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

Mario

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

350+ Problems and System Design module covering LLD in details
6 Live Projects of DSA and Advanced DSA
2 months duration
Mock Interviews & Placement assistance
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
24/7 Doubt support

Courses

Live Batch

350+ Problems and System Design module covering LLD in details
6 Live Projects of DSA and Advanced DSA
2 months duration
Mock Interviews & Placement assistance
Personal mentoring, progress tracking and feedback
Certificate of Excellence/Completion
Developer CV and In-class Hackathons
24/7 Doubt support

Courses

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.

Placements

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 are placed at

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 Preparation

Developer CV and Dev profile Preparation

Interview Preparation

Interview Preparation

Referrals for Placements and internships

150+ Partner companies for Placements and internships

Mock interviews

Mock interviews

See what students have to say