Conquer DSA to master logic and elevate problem-solving


Start learning DSA today.Sharpen your coding skills and land top opportunities in top tech companies

Join Free Demo Class


Start Date

05-01-2026

Duration

2 months

Timings

Timings Will Be Updated

Session

Mon – Fri

Mode

Online Live Class

Language

Tamil


Why DSA & System Design?

✔️ Core of Problem-Solving
DSA builds logical thinking and problem-solving skills essential for every programmer.


✔️ Crack Top Tech Interviews
Almost all major tech companies test candidates with DSA and System Design questions.


✔️ Design Scalable Systems
System Design helps you build applications that can handle millions of users reliably


✔️ Excellent Career Opportunities
Mastering DSA and System Design opens doors to roles at Google, Amazon, Microsoft, and other top firms.

Course Structure

Introduction to Data Structures and Algorithm

➤ Definition of Data Structures
➤ Definition of Algorithms
➤ Importance of Data Structures and Algorithms in Problem Solving
➤ Relationship between Data Structures and Algorithms
➤ Characteristics of a Good Algorithm

Time Complexity And Space Complexity

➤ Introduction To Time Complexity
➤ Introduction To Space Complexity
➤ Big O Notation (Worst Case)
➤ Best Case, Worst Case, Average Case
➤ O(1), O(log n), O(n), O(n log n), O(n²), O(2ⁿ), O(n!).

Strings

➤ Definition of Strings ➤ String Manipulation Problems ➤ Time and Space Complexity in String Operations ➤ Applications of Strings in Computer Science ➤ String Matching in Real Life

Arrays

➤ Introduction to Arrays
➤ Types of Arrays
➤ Array Representation in Memory
➤ Basic Array Operations
➤ Problems in Arrays

Linked List

➤ Definition of Linked List
➤ Structure of a Node
➤ Types of Linked Lists
➤ Representation in Memory
➤ Basic Operations on Linked List

Searching

➤ Definition of Searching
➤ Types of Searching Techniques
➤ Linear Search
➤ Binary Search
➤ Comparison of Linear vs Binary Search

Recursion

➤ Definition of Recursion
➤ Working of Recursion (Function Call Stack)
➤ Examples of Recursion
➤ Advantages of Recursion

Sorting

➤ Definition of Sorting
➤ Types of Sorting
➤ Bubble Sort
➤ Selection Sort
➤ Insertion Sort
➤ Merge Sort
➤ Quick Sort
➤ Heap Sort
➤ Time Complexity of Sorting Algorithms
➤ Space Complexity of Sorting Algorithms

Stack

➤ What is a Stack?
➤ Characteristics (LIFO principle)
➤ Applications of Stack
➤ Push,Pop,Peek/Top,isEmpty & isFull
➤ Stack-based problem-solving patterns

Hashing

➤ What is Hashing?
➤ Need for Hashing
➤ Applications of Stack
➤ Hash Functions
➤ Division method
➤ Multiplication method
➤ Concept of a Hash Table
➤ Load Factor
➤ Collisions in Hashing

Queue

➤ What is a Queue?
➤ Characteristics (FIFO principle)
➤ Applications of Queue
➤ Queue Operations
➤ Enqueue (Insert)
➤ Dequeue (Delete)
➤ Peek/Front/Rear
➤ isEmpty & isFull
➤ Types of Queues

Greedy Algorithms

➤ What is the Greedy Approach?
➤ Characteristics of Greedy Algorithms
➤ When to use Greedy
➤ Comparison: Greedy vs Dynamic Programming
➤ Kruskal’s Algorithm
➤ Prim’s Algorithm
➤ Dijkstra’s Shortest Path Algorithm
➤ Limitations of Greedy approach

Sliding Window Algorithm

➤ What is Sliding Window Technique?
➤ Need for Sliding Window
➤ Types of Sliding Window
➤ Fixed-Size Sliding Window Problems
➤ Variable-Size Sliding Window Problems

Trees

➤ What is a Tree?
➤ Properties of Trees
➤ Applications of Trees in real life

Binary Trees

➤ What is a Binary Tree
➤ Properties of Binary Tree
➤ Types of Binary Trees
➤ Depth First Search (DFS)
➤ Breadth First Search (BFS)

Binary Search Tree

➤ What is a Binary Search Tree
➤ Properties of Binary Search Tree
➤ Difference between Binary Tree and Binary Search Tree
➤ Operations on BST
➤ Find kth smallest / kth largest element in BST
➤ Red-Black Tree
➤ AVL Tree

Graphs

➤ What is a Graph
➤ Basic Terminologies
➤ Adjacency Matrix
➤ Adjacency List
➤ Directed & Undirected Graphs
➤ Weighted & Unweighted Graphs

Graph Algorithm

➤ Depth First Search (DFS)
➤ Breadth First Search (BFS)

Shortest Path Algorithm

➤ What is the Shortest Path problem
➤ Applications of shortest paths

Floyd-Warshall Algorithm

➤ What is the Floyd-Warshall Algorithm
➤ Applications of Floyd-Warshall Algorithm
➤ Problems on Floyd-Warshall Algorithm

Dijkstra’s Algorithm

➤ What is the Dijkstra’s Algorithm
➤ Applications of Dijkstra’s Algorithm
➤ Problems on Dijkstra’s Algorithm

Bit Manipulation

➤ What is Bit Manipulation?
➤ Why use Bit Manipulation?
➤ Bitwise Operators
➤ Count number of set bits (Brian Kernighan’s Algorithm)
➤ Bitwise Operators
➤ Why use Bit Manipulation?
➤ Bitwise Operators

Dynamic Programming

➤ What is Dynamic Programming?
➤ Fibonacci Numbers
➤ Factorial using DP
➤ Climbing Stairs Problem
➤ Minimum Steps to 1
➤ Longest Common Subsequence (LCS)
➤ Minimum Path Sum

  • Live interactive classes
  • Weekly Learning Roadmap
  • Hands-on coding practice
  • Career guidance & counseling
  • Doubt-clearing sessions
  • One Payment, Unlimited Rejoins

Requirements

  • Basic knowledge of Java programming
  • No Prior Experience Needed
  • Computer skills and internet access
  • Eager to Learn & Solve

Contact Us

  • 6383948565,8610616385
  • info@thatoneprogrammer.in