Data Structures & Algorithms
First Principles → ICPC Mastery
A rigorous, modern, Bengali-friendly DSA course for technical students in Bangladesh. Built around mathematical proofs, complexity reasoning, and real contest practice.
🇧🇩 একদম শূন্য থেকে শুরু — কোর্স শেষে আপনি ICPC, Codeforces এবং বড় টেক কোম্পানির ইন্টারভিউ — সব জায়গায় DSA সমস্যাগুলো নিজেই বিশ্লেষণ ও সমাধান করতে পারবেন। প্রতিটি অ্যালগরিদম C++-এ লাইভ চালিয়ে দেখা যাবে এবং প্রতিটি প্রশ্নের উত্তর সরাসরি ব্রাউজারেই রান হবে।
#include <bits/stdc++.h>
using namespace std;
int bsearch(vector<int>& a, int x) {
int lo = 0, hi = a.size() - 1;
while (lo <= hi) {
int mid = lo + (hi - lo) / 2;
if (a[mid] == x) return mid;
if (a[mid] < x) lo = mid + 1;
else hi = mid - 1;
}
return -1;
}
int main() {
vector<int> a = {1, 3, 5, 7, 9, 11, 13};
cout << "Index of 7: " << bsearch(a, 7) << "\n";
cout << "হ্যালো বাংলাদেশ! O(log n) এ পেয়ে গেছি।\n";
}
Why This Course Exists (কেন এই কোর্স?)
Most "DSA tutorials" teach you to memorize templates. This one teaches how to invent the algorithm, how to prove it correct, and how to reason about its running time. Data structures and algorithms are not just an academic subject — they are the difference between a program that finishes in milliseconds and one that takes a year, or never finishes at all.
Mathematical Proof
Invariants, induction, exchange arguments, Master Theorem.
গাণিতিক প্রমাণ ছাড়া কোনো অ্যালগরিদম আসলে শেখা হয় না।
Complexity Reasoning
Big-O, Θ, Ω, amortized — predict speed before you run.
কোড লেখার আগেই complexity বুঝে নেওয়াই আসল দক্ষতা।
Build From Scratch
Every structure implemented by hand — no STL black boxes.
প্রতিটি data structure নিজে হাতে বানালেই বোঝা যায়।
Contest-Ready
ICPC-style problems, DP, graphs, network flow, geometry.
ICPC ও বড় ইন্টারভিউয়ের জন্য সম্পূর্ণ প্রস্তুতি।
Prerequisites (যা জানা থাকলেই চলবে)
- Basic C or C++ syntax (variables, loops, functions)
- High-school algebra and basic discrete math
- Comfort with arrays and simple recursion (or take our C course first)
- A laptop/PC (or use online compilers)
By The End You Will (কোর্স শেষে পারবে)
- Analyse any algorithm's time and space complexity
- Implement every standard data structure from scratch
- Solve graph, DP, and string problems on Codeforces / LeetCode
- Compete confidently in ICPC regionals
- Crack DSA rounds at FAANG-level interviews