# Book Reading Order (একদম beginner → advanced, phase ধরে)

এই file বলে দেয় কোন free বই কখন পড়বে, কোন repo chapter-এর সাথে যায়, দিনে 2-3 ঘন্টায় কীভাবে গুঁজবে, আর 4-মাসের interview timeline-এ কতটুকু skip করবে। নিয়ম একটাই: এক সময়ে একটা phase, এক topic-এ একটা primary বই।

**মনে রেখো:** এই sequence-টা interview-first। CP depth (Phase 4) optional — 4 মাসে offer-ই মূল লক্ষ্য হলে ওটা পরের জন্য তুলে রাখো।

## Phase 1 — Foundations (Weeks 1-3)

গোড়ার জিনিস: Python স্বাচ্ছন্দ্য, complexity intuition, আর দরকারি basic math।

**Problem Solving with Algorithms and Data Structures using Python — Runestone (3rd ed)**

- Link: <https://runestone.academy/ns/books/published/pythonds3/index.html>
- কী পড়বে: analysis (Big-O) chapter, basic data structures, recursion-এর শুরু। interactive, তাই code চালিয়ে চালিয়ে পড়ো।
- Repo chapters: `02-arrays-and-strings/`, `04-stack-and-queue/`, আর `06-recursion-and-backtracking/`-এর গোড়া।
- কীভাবে fit করবে: দিনে ~40 মিনিট theory, একটা chapter মোটামুটি 2-3 দিনে।
- কী skip করবে: advanced trees / graphs এখন না — ওগুলো Phase 2-তে অন্য source থেকে আসবে।

**Mathematics for Computer Science — Lehman, Leighton, Meyer (MIT 6.042J)**

- Link: <https://ocw.mit.edu/courses/6-042j-mathematics-for-computer-science-spring-2015/>
- কী পড়বে: proof basics, induction, একটু counting / probability — যতটুকু DSA-তে লাগে।
- Repo chapters: `01-math-based-programming-fundamentals/` (পুরোটা)।
- কীভাবে fit করবে: পুরো বই নয়; দরকারমতো chapter — induction, sums, basic counting।
- কী skip করবে: heavy proof, advanced probability, number theory depth — interview-তে লাগে না।

**Discrete Mathematics: An Open Introduction — Oscar Levin**

- Link: <https://discrete.openmathbooks.org/>
- কী পড়বে: math একটু কঠিন লাগলে এটাই gentle শুরু — counting, logic, induction সহজ ভাষায়।
- Repo chapters: `01-math-based-programming-fundamentals/`।
- কীভাবে fit করবে: 6.042J-র বদলে বা পাশাপাশি, যেটা সহজ লাগে সেটাই ধরো।
- কী skip করবে: graph theory-র formal অংশ এখন না।

## Phase 2 — Core DS / algo (Weeks 4-10)

আসল data structure আর algorithm — interview-র মূল জমি।

**Open Data Structures — Pat Morin**

- Link: <https://opendatastructures.org/>
- কী পড়বে: list, stack / queue, hash table, binary tree, heap — implementation সহ।
- Repo chapters: `03-linked-list/`, `04-stack-and-queue/`, `05-hashing/`, `07-trees/`, `08-heap-priority-queue/`।
- কীভাবে fit করবে: প্রতিটা structure পড়ে repo-র concept.md মিলিয়ে নাও, তারপর solve।
- কী skip করবে: Java / C++-specific খুঁটিনাটি; তুমি Python-এ ভেবে নাও।

**MIT 6.006 Introduction to Algorithms (Spring 2020)**

- Link: <https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/>
- কী পড়বে: lecture + notes — sorting, hashing, BFS / DFS, shortest path, DP-র শুরু।
- Repo chapters: `09-graphs/`, `12-dynamic-programming/`-র গোড়া, sorting / searching।
- কীভাবে fit করবে: সপ্তাহে 2-3টা lecture note; video optional, note-ই যথেষ্ট।
- কী skip করবে: number theory lecture আর advanced আলোচনা — 4 মাসে দরকার নেই।

**Hello Algo (English)**

- Link: <https://www.hello-algo.com/en/>
- কী পড়বে: animated illustration সহ প্রতিটা DS / algo; ছবিতে বুঝতে সবচেয়ে ভালো।
- Repo chapters: প্রায় সব core chapter-এর visual সঙ্গী।
- কীভাবে fit করবে: কোনো topic আটকে গেলে আগে এর ছবিগুলো দেখো, তারপর গভীরে যাও।
- কী skip করবে: কিছুই বাদ দিতে হবে না; এটা hard বই নয়, একটা সহজ reference।

## Phase 3 — Patterns & interviews (Weeks 11-17, Phase 2-র সাথে overlap)

এখন pattern চেনা আর interview-র মতো করে practice করা।

**NeetCode roadmap**

- Link: <https://neetcode.io/roadmap>
- কী করবে: roadmap-এর order ধরে pattern শেখো; প্রতিটা pattern-এর video দেখে নিজে solve করো।
- Repo chapters: `13-interview-master-problems/` + সব core chapter।
- কীভাবে fit করবে: এটাই তোমার দৈনিক solving-এর backbone; দিনে 2-3টা problem।
- কী skip করবে: কিছু না — কিন্তু video দেখার পর নিজে না লিখলে কাজ হবে না।

**Tech Interview Handbook**

- Link: <https://www.techinterviewhandbook.org/>
- কী পড়বে: study plan, behavioral prep, আর interview cheat sheet।
- Repo chapters: `13-interview-master-problems/`; behavioral STUDY-PLAN-র Phase 5-র সাথে মেলে।
- কীভাবে fit করবে: সপ্তাহে একটু একটু; behavioral Week 15-এর দিকে জোর দাও।
- কী skip করবে: এখনই system design depth নয় — phone-screen level যথেষ্ট।

## Phase 4 — CP depth (optional, offer-র পরে)

4-মাসের interview লক্ষ্যে এটা bonus। সময় থাকলে বা CP ভালো লাগলে।

**Competitive Programmer's Handbook — Antti Laaksonen**

- Link: <https://cses.fi/book/book.pdf> (license CC BY-NC-SA)
- কী পড়বে: একটাই free বইয়ে CP-র algorithm + math, পরিষ্কার ভাষায়।
- Repo chapters: `01-math-based-programming-fundamentals/`, `11-segment-tree-and-fenwick-tree/`, graph depth।
- কীভাবে fit করবে: CSES Problem Set-এর সাথে মিলিয়ে পড়ো — বই + problem একসাথে।
- কী skip করবে (4 মাসে): segment tree, flows, advanced number theory — পরে।

**CP-Algorithms**

- Link: <https://cp-algorithms.com/>
- কী পড়বে: কোনো নির্দিষ্ট technique-এর exact form দরকার হলে এখানে আসবে।
- Repo chapters: যেকোনো advanced chapter-এর reference।
- কীভাবে fit করবে: lookup হিসেবে — শুরু থেকে শেষ পড়ার বই নয়।
- কী skip করবে: এখন বেশিরভাগই; শুধু যেটা দরকার সেটুকু পড়ো।

**USACO Guide**

- Link: <https://usaco.guide/>
- কী পড়বে: Bronze → Silver level structured path।
- Repo chapters: fundamentals + greedy + basic graph।
- কীভাবে fit করবে: CP route নিলে এটাই সবচেয়ে সাজানো order।
- কী skip করবে (4 মাসে): Gold / Platinum — offer-র পরে।

## Recommended reading shelf (paid / copyrighted)

এগুলো **free নয়,** তাই এখানে শুধু নাম আর কখন কাজে লাগে সেটা বলা হলো। কোনো PDF link নেই, "free" দাবি নেই।

- **CLRS — Introduction to Algorithms (Cormen, Leiserson, Rivest, Stein)** — algorithm-এর reference bible; proof আর গভীরতা দরকার হলে, সাধারণত offer-র পরে।
- **The Algorithm Design Manual — Steven Skiena** — "কোন problem-এ কোন algorithm" — এই intuition গড়তে দারুণ; interview-র পরেও কাজে লাগে।
- **Competitive Programming 3 — Steven & Felix Halim** — serious CP-তে নামলে topic-by-topic guide; 4-মাসের interview লক্ষ্যে দরকার নেই।

## 4 মাসে এক নজরে যা skip করবে

- Segment tree / Fenwick tree depth, flows, advanced string algorithm (KMP / Z / suffix), heavy number theory, geometry, game theory।
- CP rating chase — Codeforces শুধু সপ্তাহে একবার speed-এর জন্য।
- System design depth — phone-screen level যথেষ্ট।

পুরো week-by-week ভাগ চাইলে দেখো repo-র [STUDY-PLAN.md](../STUDY-PLAN.md)।
