00 — Books and Learning Sources (সব শেখার legal উৎস এক জায়গায়)¶
এই folder পুরো repo-র "কোথা থেকে শিখব" map। DSA শিখতে গিয়ে প্রায় সবাই একটা সমস্যায় পড়ে — "এত বই, এত website, এত YouTube, শুরু করব কোনটা দিয়ে?" এই folder সেই প্রশ্নের একটা curated, legal উত্তর। এখানে প্রতিটা resource হয় open-access, নাহয় official platform; কোনো pirated PDF বা চুরি করা link এখানে নেই।
এই section-টা আসলে কী¶
এটা তিনটা জিনিস একসাথে:
- একটা সাজানো তালিকা — কোন free বই, কোন online judge, কোন university course আর কোন interview resource ঠিক কোন কাজে লাগে।
- একটা legal boundary — কী ব্যবহার করা যাবে আর কীভাবে credit দিতে হবে, তার পুরো নিয়ম legal-resource-policy.md-তে।
- তোমার decision-saver — "এখন কী পড়ব" প্রতিবার ভাবতে হবে না; phase ধরে আগেই বলে দেওয়া আছে।
জরুরি: যেকোনো resource পড়া বা ব্যবহার করার আগে একবার legal-resource-policy.md পড়ে নাও। ওটাই এই repo-র copyright আর sourcing-এর মূল নিয়ম, আর বাকি সব file ওটার উপর দাঁড়িয়ে আছে।
তুমি কীভাবে resource বাছবে (ডুবে না গিয়ে)¶
তোমার profile মাথায় রেখে: basics একটু rusty, দিনে 2-3 ঘন্টা, লক্ষ্য ~4 মাসে Amazon/Google-style interview-ready হওয়া, ভাষা Python। এই profile-এ নিয়মগুলো সোজা:
- একসাথে একটার বেশি "main" বই ধরবে না। একটা topic = একটাই primary source; বাকিগুলো শুধু আটকে গেলে উঁকি দেওয়ার জন্য।
- Interview-first ভাবো। সময় কম, তাই pattern আর problem-solving আগে; CP depth (segment tree, flows, string algorithms) পরে — offer পাওয়ার পরে।
- প্রতিটা resource-এর পাশে নিচের file-গুলোতে লেখা আছে কতটুকু পড়বে আর কী skip করবে। সেই skip-list মেনে চললেই অকারণে ডুববে না।
- হাতে যেটা আছে সেটা শেষ করো, নতুন "better" resource খোঁজা বন্ধ করো — resource hopping-ই সবচেয়ে বড় সময় নষ্ট।
দিনের 2-3 ঘন্টা মোটামুটি যেভাবে ভাগ হবে¶
- ~40 মিনিট theory — একটা topic, এই folder-এর recommend করা primary source থেকে।
- ~80-110 মিনিট solving — বেশিরভাগ দিন LeetCode/CSES, সপ্তাহে একটা Codeforces Div 3/4 শুধু speed-এর জন্য।
- পুরো 17-সপ্তাহের sequence চাইলে দেখো STUDY-PLAN.md আর এই folder-এর book-reading-order.md।
তোমার জন্য top 5 free resource¶
পুরো তালিকায় ডোবার আগে — এই 5টা ধরলেই কাজের 80% হয়ে যায়:
- Competitive Programmer's Handbook (Antti Laaksonen) — https://cses.fi/book/book.pdf — একটাই free বইয়ে algorithm আর দরকারি math, পরিষ্কার ভাষায়; license CC BY-NC-SA।
- NeetCode — https://neetcode.io/roadmap — interview pattern শেখার সবচেয়ে সাজানো free roadmap + video; এটাই তোমার দৈনিক practice-এর মেরুদণ্ড।
- USACO Guide — https://usaco.guide/ — Bronze → Platinum structured path; কোন topic কোন order-এ আসবে সেটা পরিষ্কার করে দেয়।
- CP-Algorithms — https://cp-algorithms.com/ — algorithm-এর free encyclopedia; কোনো technique-এর exact form দরকার হলে এখানে আসবে।
- Algorithms (Jeff Erickson) — https://jeffe.cs.illinois.edu/teaching/algorithms/ — recursion, DP আর graph-এর গভীর, intuition-গড়া free বই।
পুরো verified free তালিকা (reference)¶
Top 5-এর বাইরেও এই repo যেগুলো ব্যবহার করে, সবই free / legal:
- Open Data Structures (Pat Morin) — https://opendatastructures.org/ — data structure, implementation সহ।
- MIT 6.006 Introduction to Algorithms (2020) — https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/ — core algorithm lecture + note।
- Mathematics for Computer Science (MIT 6.042J) — https://ocw.mit.edu/courses/6-042j-mathematics-for-computer-science-spring-2015/ — DSA-র math ভিত।
- Discrete Mathematics: An Open Introduction (Levin) — https://discrete.openmathbooks.org/ — gentle discrete math।
- Runestone pythonds3 — https://runestone.academy/ns/books/published/pythonds3/index.html — interactive Python DS / algo।
- Hello Algo (English) — https://www.hello-algo.com/en/ — animated illustration।
- VisuAlgo — https://visualgo.net/en — algorithm visualization।
- Tech Interview Handbook — https://www.techinterviewhandbook.org/ — interview + behavioral prep।
- Python official docs — https://docs.python.org/3/ — ভাষার reference।
প্রতিটার পুরো ব্যবহার-নির্দেশ (কতটুকু পড়বে, কী skip করবে) পরের file-গুলোতে আছে।
এই folder-এর বাকি file-গুলো¶
- legal-resource-policy.md — copyright আর sourcing-এর নিয়ম। সবার আগে এটা।
- book-reading-order.md — beginner → advanced, phase ধরে কোন বই কখন।
- online-judge-sources.md — Codeforces, LeetCode, CSES ইত্যাদি কোনটা কীসের জন্য, আর সাপ্তাহিক practice mix।
- interview-problem-sources.md — NeetCode, Tech Interview Handbook আর pattern → repo chapter map।
- university-course-sources.md — MIT, UIUC-র free course material।
- source-map-template.md — প্রতিটা folder-এর source-map.md যে template মেনে চলবে।
এই source-গুলো repo-তে কীভাবে ব্যবহার হয়¶
এই repo-র সব লেখা নিজের ভাষায়, scratch থেকে তৈরি। বাইরের কোনো source থেকে idea নিলে সেটার official link প্রতিটা folder-এর source-map.md-তে লেখা থাকে, সাথে কীভাবে ব্যবহার হয়েছে তাও। মানে — তুমি নিশ্চিন্তে শিখতে পারো, কারণ এখানে copyright-এর কোনো গোলমাল নেই, আর প্রতিটা দাবি যাচাই করার মতো link দেওয়া আছে।
যে ভুলগুলো এড়াবে¶
- Resource hopping — তিন দিন পরপর নতুন course ধরা। একটা শেষ করো, তারপর পরেরটা।
- শুধু পড়া, solve না করা — video দেখা সহজ, কিন্তু শেখা হয় হাতে problem solve করলে; 70% সময় solving-এ।
- সব একসাথে শেখা — segment tree আর string hashing এখন তোমার দরকার নেই; 4-মাসের skip-list মানো।
- Pirated PDF খোঁজা — দরকার নেই; উপরের সব free resource-ই যথেষ্ট, আর legal।
শুরুটা ঠিক এভাবে করো¶
- legal-resource-policy.md একবার পড়ে নাও — 5 মিনিট লাগবে।
- book-reading-order.md খুলে দেখো তুমি এখন কোন phase-এ।
- উপরের top 5 থেকে তোমার phase-এর primary resource-টা ঠিক করো।
- একটা online judge-এ account খোলো (online-judge-sources.md দেখে), আর আজই প্রথম problem-টা solve করো।
এক লাইনে মনে রাখার কথা¶
Free resource-এর অভাব নেই — অভাব হলো নিয়ম করে শেষ করার। কম resource, বেশি practice, আর সব কিছু নিজের ভাষায় লিখে রাখা — এটাই এই repo-র পুরো দর্শন।