LEVEL 0
গাণিতিক ভিত্তি
Mathematical Foundations
এই মডিউল যে প্রশ্নের উত্তর দেয়একটা claim সত্য কি না, সেটা আমি কীভাবে প্রমাণ করব — অনুমান নয়, প্রমাণ?
এই module পুরো গণিত শেখায় না। শুধু সেই গণিতটুকু শেখায় যেটা ছাড়া Computer Science-এর পরের কোনো layer বোঝা সম্ভব না। প্রতিটা concept-এর সাথে বলা থাকবে — এটা CS-এর কোথায়, কেন লাগে।
লেসন
- 01কেন Computer Science-এ গণিত লাগেগণিতের কোন অংশটা CS-এ আসলেই কাজে লাগে, কোনটা লাগে না — আর কেন এই কারিকুলাম logic দিয়ে শুরু হয়, calculus দিয়ে নয়।
- 02Propositional Logic — সত্য-মিথ্যার বীজগণিতProposition, connective আর truth table — যে ভাষায় একটা `if` statement, একটা SQL WHERE clause আর CPU-র ভেতরের একটা AND gate সবাই একই জিনিস।
- 03Logical Equivalence — expression সরল করার বীজগণিতDe Morgan, distribution, absorption — যে নিয়মগুলো দিয়ে truth table না বানিয়েই expression সরল করা যায়, আর যেগুলো compiler ও query planner প্রতিদিন প্রয়োগ করে।
- 04Predicate Logic — ∀ আর ∃, বা 'সব' ও 'কোনো একটা'Propositional logic দিয়ে 'array-এর সব element ধনাত্মক' লেখাই যায় না। Quantifier সেই ফাঁক পূরণ করে — এবং এটাই loop invariant, database query আর type system-এর ভাষা।
- 05Proof Techniques — 'কাজ করে' থেকে 'কাজ করতে বাধ্য'Direct, contrapositive, contradiction, cases, counterexample — পাঁচটা হাতিয়ার যা দিয়ে একটা দাবি সব ক্ষেত্রে সত্য প্রমাণ করা যায়, শুধু যেসব ক্ষেত্রে টেস্ট করেছেন সেগুলোতে নয়।
- 06Mathematical Induction — অসীমকে সসীম যুক্তিতে ধরাWeak, strong আর structural induction — একমাত্র হাতিয়ার যা অসীম সংখ্যক ক্ষেত্র সসীম যুক্তিতে প্রমাণ করে। আর কেন recursion আর induction আসলে একই জিনিস।
- 07Sets — সব data structure-এর পূর্বপুরুষSet operation, power set, Cartesian product — আর কেন union/intersection-এর গাণিতিক নিয়ম হুবহু SQL, hash set আর bitmask-এ ফিরে আসে।
- 08Relations — নির্ভরতা, সমতুল্যতা আর ক্রমEquivalence relation জিনিসকে শ্রেণিতে ভাগ করে, partial order নির্ভরতা সাজায়, আর transitive closure বলে কোথা থেকে কোথায় পৌঁছানো যায় — তিনটাই প্রতিদিনের সফটওয়্যারে।
- 09Functions — injection, surjection আর তথ্য হারানোর গণিতএকটা function কখন উল্টানো যায় আর কখন যায় না — এই একটা প্রশ্নের উত্তর ব্যাখ্যা করে hash collision, compression-এর সীমা, encoding আর lossy/lossless-এর পার্থক্য।
- 10Combinatorics — গোনার শিল্পProduct rule থেকে binomial coefficient — যে হাতিয়ারগুলো দিয়ে password space, hash collision, algorithm-এর step সংখ্যা আর state space explosion হিসাব করা হয়।
- 11Probability — অনিশ্চয়তা নিয়ে হিসাব করাSample space থেকে expectation — যে গণিত দিয়ে hash table-এর গড় probe সংখ্যা, quicksort-এর গড় সময়, load balancer-এর ভারসাম্য আর system-এর uptime হিসাব করা হয়।
- 12Graph Theory — সংযোগের গণিতVertex, edge, path, tree, connectivity — যে একটামাত্র কাঠামো দিয়ে network, dependency, compiler-এর control flow, filesystem আর distributed system সবই মডেল করা হয়।
- 13Boolean Algebra — logic থেকে circuit-এএকই logic, কিন্তু এবার circuit-এর ভাষায় — K-map, minimization, don't-care, আর কেন gate সংখ্যা কমানো মানে সিলিকন, বিদ্যুৎ আর সময় বাঁচানো।
- 14Number Systems ও Modular Arithmetic — ঘড়ির গণিতBase conversion, GCD, congruence আর modular inverse — যে গণিতটা hex dump, hash table, checksum, two's complement আর RSA-কে একসাথে ব্যাখ্যা করে।
- 15Linear Algebra — রূপান্তরের ভাষাএকটা matrix আসলে একটা function, আর matrix গুণ হলো composition — এই একটা দৃষ্টিভঙ্গি থেকেই determinant, inverse, rank আর eigenvector সব বেরিয়ে আসে।
- 16Asymptotic Notation — বৃদ্ধির হারের ভাষাO, Θ, Ω আনুষ্ঠানিকভাবে, Master Theorem, amortised analysis — আর সবচেয়ে গুরুত্বপূর্ণ, কখন এই বিমূর্তকরণটা মিথ্যা বলে।
যা যা থাকছে
- Propositional logic ও truth tables
- Predicate logic, quantifiers
- Sets, relations, functions
- Proof techniques — direct, contradiction, contrapositive
- Mathematical induction ও strong induction
- Combinatorics ও counting
- Discrete probability
- Graph theory
- Boolean algebra
- Number systems ও modular arithmetic
- Linear algebra basics
- Asymptotic notation — O, Θ, Ω
প্রজেক্ট
Truth Table Generator
●●○○○যেকোনো boolean expression parse করে truth table বানানো — parsing-এর প্রথম স্বাদ।
Proof Checker (toy)
●●●●○Propositional logic-এর natural deduction proof verify করা।
Graph Playground
●●●○○BFS/DFS/topological sort visualise করা, adjacency representation নিজে লেখা।