ABCL TECH · Free Technical Course

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++-এ লাইভ চালিয়ে দেখা যাবে এবং প্রতিটি প্রশ্নের উত্তর সরাসরি ব্রাউজারেই রান হবে।

40 modules · Beginner → ICPC Live C++ runner Visual diagrams Bangla + English
binary_search.cpp
#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.

বেশিরভাগ DSA টিউটোরিয়াল কেবল কিছু টেমপ্লেট মুখস্থ করিয়ে দেয়। এই কোর্সে আপনি শিখবেন — অ্যালগরিদম কীভাবে নিজে আবিষ্কার করতে হয়, এর শুদ্ধতা (correctness) কীভাবে প্রমাণ করতে হয়, এবং চলার সময় (running time) কীভাবে যাচাই করতে হয়। DSA আসলে শুধু একটি কোর্স নয় — এটি ইঞ্জিনিয়ারিং চিন্তা ও বাস্তব সফটওয়্যার পারফরম্যান্সের ভিত্তি।

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)
একদম প্রোগ্রামিং না জানলে আগে আমাদের C Programming কোর্সটি করে নিন। মৌলিক loop, array এবং function বুঝলেই এই কোর্সে আরাম করে এগোতে পারবেন।

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
40
Modules
7
Phases
600+
Problems
100%
Free

Full Syllabus (সম্পূর্ণ সিলেবাস)