# University Course Sources (free university course material)

অনেক বড় বিশ্ববিদ্যালয় তাদের algorithm course-এর lecture, note আর assignment খুলে রেখেছে — একদম free। এগুলো structured, peer-reviewed আর গভীর। নিচে তোমার এই 4-মাসের লক্ষ্যের জন্য সবচেয়ে কাজের তিনটা, আর কীভাবে ব্যবহার করবে।

## এক নজরে

| Course | Institution | Best for | Link |
| --- | --- | --- | --- |
| 6.006 Introduction to Algorithms (Spring 2020) | MIT (OCW) | Core algorithms — sorting, hashing, graphs, DP-র শুরু | <https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/> |
| 6.042J Mathematics for Computer Science (Spring 2015) | MIT (OCW) | DSA-র math ভিত — proof, induction, counting | <https://ocw.mit.edu/courses/6-042j-mathematics-for-computer-science-spring-2015/> |
| Algorithms | Jeff Erickson (UIUC) | recursion, DP, graph-এর গভীর intuition | <https://jeffe.cs.illinois.edu/teaching/algorithms/> |

## প্রতিটা course একটু বিস্তারিত

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

- Link: <https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/>
- কী আছে: lecture video, lecture note আর problem set — sorting, hashing, BFS / DFS, shortest path, DP-র গোড়া।
- Repo chapters: `09-graphs/`, `12-dynamic-programming/`, আর sorting / searching।
- কীভাবে ব্যবহার করবে: note-গুলো primary; সপ্তাহে 2-3টা পড়ো আর repo concept মিলাও। video optional।
- 4 মাসে skip: number theory lecture আর খুব theory-ভারী অংশ।

**MIT 6.042J — Mathematics for Computer Science (Spring 2015)**

- Link: <https://ocw.mit.edu/courses/6-042j-mathematics-for-computer-science-spring-2015/>
- কী আছে: পুরো course + free বই (Lehman, Leighton, Meyer) — proof, induction, counting, একটু probability ও graph theory।
- Repo chapters: `01-math-based-programming-fundamentals/`।
- কীভাবে ব্যবহার করবে: পুরোটা নয়; induction, summation আর basic counting-টুকু নাও।
- 4 মাসে skip: heavy proof আর advanced probability।

**Jeff Erickson — Algorithms (UIUC)**

- Link: <https://jeffe.cs.illinois.edu/teaching/algorithms/>
- কী আছে: free বই + lecture note — recursion, backtracking, DP, graph খুব পরিষ্কার, intuition-গড়া ভঙ্গিতে।
- Repo chapters: `06-recursion-and-backtracking/`, `12-dynamic-programming/`, `09-graphs/`।
- কীভাবে ব্যবহার করবে: DP বা recursion আটকালে এই chapter-গুলো সোনার খনি; ধীরে, হাতে কলম নিয়ে পড়ো।
- 4 মাসে skip: advanced / starred section আর খুব কঠিন exercise।

## অন্য university material নিয়ে কথা

- অনেক university (Stanford, Princeton, CMU ইত্যাদি) free lecture note আর slide দেয় — শেখা আর idea-inspiration-এর জন্য দারুণ।
- এগুলো পড়ে শেখো, কিন্তু যা লিখবে **নিজের ভাষায়** লিখবে; note বা slide হুবহু copy কোরো না।
- কোনো নির্দিষ্ট প্রতিষ্ঠানের **graded assignment-এর solution** এখানে post কোরো না — সেটা academic integrity-র সমস্যা। উদ্দেশ্য concept শেখা, তাদের homework জমা দেওয়া নয়।
- প্রতিটা course material-এর official link ওই folder-এর `source-map.md`-তে রাখবে (দেখো [legal-resource-policy.md](./legal-resource-policy.md))।

## একটা course কীভাবে কাজে লাগাবে (drowning ছাড়া)

- পুরো course শেষ করার চাপ নিও না — তোমার চলতি topic-এর lecture / note-টুকু নাও।
- OCW-তে প্রতিটা course-এ "Lecture Notes" আর "Assignments" tab আছে; note আগে, video পরে।
- একটা lecture পড়ার সাথে সাথে 2-3টা problem solve করো — না হলে ভুলে যাবে।
- কোনো topic দুই source-এ ঠেকলে একটাকে primary ধরো, অন্যটা শুধু আটকালে দেখো।

## OCW-তে কী কী পাবে

- **Lecture Notes** — পড়ার জন্য সবচেয়ে দ্রুত; এটাই তোমার primary।
- **Assignments / Problem Sets** — practice-এর জন্য, কিন্তু কারো graded version জমা দিও না।
- **Exams / Recitations** — extra practice চাইলে।

## Course নাকি বই — কোনটা কখন

- **বই** (Erickson, Open Data Structures) — গভীরে বুঝতে, নিজের গতিতে পড়তে।
- **Course note** (MIT OCW) — structured order আর problem set চাইলে।
- **Video** — কোনো topic একদম মাথায় না ঢুকলে; তবে video-র পর নিজে না লিখলে কাজ হবে না।
- 4-মাসের তাড়ায়: note + targeted reading > পুরো course দেখা।
- এই repo-র note = সব মিলিয়ে নিজের ভাষায় লেখা version; revision-এ ওটাই পড়বে।

## কোন phase-এ কোন course

- Phase 1 (Wk 1-3): 6.042J বা Levin — math ভিত।
- Phase 2-3 (Wk 4-10): 6.006 — core algorithm।
- DP বা recursion যেকোনো সময় আটকালে: Erickson।

## এক লাইনে

University course = free, গভীর, structured শেখা। interview-র জন্য note আর core lecture-টুকুই যথেষ্ট; বাকিটা পরে। আর সব কিছু নিজের ভাষায় লিখে রাখো।
