Home › Lectures › Foundations

🐍 পাইথন প্রোগ্রামিং · Python Programming

ডেটা সায়েন্সের প্রধান ভাষা পাইথন—সহজ সিনট্যাক্স, বিশাল লাইব্রেরি।

Python is the core language of data science: simple syntax, huge ecosystem.

📅 ১. ভিত্তি⏳ ~4 সপ্তাহ📘 12 টপিক🧩 36 সাব-টপিক🎬 0 ভিডিও💻 রানযোগ্য কোড

🎯 যা শিখবেন / Outcomes

Write clean scripts, functions, classes; manage packages

🧰 টুলস / Tools

Python, VS Code, Jupyter

🏁 প্রজেক্ট / Capstone

CLI expense tracker with CSV storage

📌 পূর্বশর্ত / Prerequisites

💻 Computer Foundations

📅

সাপ্তাহিক পরিকল্পনা · Weekly plan

~২ ঘণ্টা/দিন ধরে
1

Python Installation & Setup

Install Python, VS Code or Anaconda.
Beginner
📘 বাংলা: পাইথন, VS Code ও Anaconda ইনস্টল করে পরিবেশ তৈরি।
🌐 English: Install Python, VS Code or Anaconda.

💡 সঠিক সেটআপ ছাড়া প্যাকেজ কনফ্লিক্ট ও "module not found" সমস্যায় সময় নষ্ট হয়।

  1. 1
    python.org থেকে Python 3.11+ ইনস্টল করুন; Windows-এ "Add Python to PATH" টিক দিন
  2. 2
    অথবা Anaconda/Miniconda—ডেটা সায়েন্স প্যাকেজসহ আসে
  3. 3
    VS Code ইনস্টল করে Python ও Jupyter এক্সটেনশন যোগ করুন
  4. 4
    টার্মিনালে python --version চালিয়ে যাচাই, তারপর print("Hello") লিখে প্রথম প্রোগ্রাম
ইনস্টলpython.org বা Anaconda
এডিটরVS Code, Jupyter, Colab
যাচাইpython --version, প্রথম print("Hello")
2

Variables & Data Types

int, float, str, bool — basic data units.
Beginner
📘 বাংলা: int, float, str, bool—ডেটা রাখার মৌলিক একক।
🌐 English: int, float, str, bool — basic data units.

💡 প্রতিটি ডেটার ধরন আলাদা আচরণ করে—টাইপ না বুঝলে "5"+5 ধরনের এরর আসে।

  1. 1
    ভেরিয়েবল = মানের নাম: age = 25
  2. 2
    মূল টাইপ: int (25), float (3.5), str ("ঢাকা"), bool (True/False), None
  3. 3
    type(x) দিয়ে টাইপ দেখুন; int(), float(), str() দিয়ে রূপান্তর
  4. 4
    f-string দিয়ে সুন্দর আউটপুট: f"{name} এর বয়স {age}"
ডেটা টাইপint, float, str, bool, None
টাইপ রূপান্তরint("5"), str(3.2)
f-stringf"নাম: {name}"
3

Conditionals

Decide with if / elif / else.
Beginner
📘 বাংলা: if/elif/else দিয়ে সিদ্ধান্ত নেওয়া।
🌐 English: Decide with if / elif / else.

💡 প্রোগ্রামকে সিদ্ধান্ত নিতে শেখায়—গ্রেড, ঝুঁকি স্তর, ডেটা ক্যাটাগরি নির্ধারণ।

  1. 1
    if শর্ত: ইনডেন্টেড ব্লক চলে যদি শর্ত সত্য
  2. 2
    elif দিয়ে একাধিক শর্ত ক্রমানুসারে যাচাই
  3. 3
    else: কোনোটিই সত্য না হলে
  4. 4
    তুলনা (==, !=, <, >=), সদস্যপদ (in) ও and/or/not মিলিয়ে শর্ত
if/elif/elseশর্তভিত্তিক শাখা
তুলনা অপারেটর==, !=, >, <, in
সংক্ষিপ্ত রূপx if cond else y
4

Loops

Repeat with for and while.
Beginner
📘 বাংলা: for ও while লুপ দিয়ে পুনরাবৃত্তি।
🌐 English: Repeat with for and while.

💡 একই কাজ হাজারবার—প্রতিটি ফাইল, প্রতিটি সারি, প্রতিটি এপক—লুপ দিয়ে হয়।

  1. 1
    for item in collection: প্রতিটি উপাদানে একবার
  2. 2
    range(start, stop, step) দিয়ে সংখ্যার ক্রম
  3. 3
    enumerate() দিয়ে ইনডেক্স ও মান একসাথে, zip() দিয়ে দুই তালিকা পাশাপাশি
  4. 4
    while শর্ত সত্য থাকা পর্যন্ত; break থামায়, continue পরের ধাপে যায়
for লুপrange, enumerate, zip
while লুপশর্ত সত্য থাকা পর্যন্ত
break/continueলুপ নিয়ন্ত্রণ
5

Functions

Reusable code with parameters and returns.
Intermediate
📘 বাংলা: কোড পুনঃব্যবহারযোগ্য করতে ফাংশন ও প্যারামিটার।
🌐 English: Reusable code with parameters and returns.

💡 কোড পুনঃব্যবহার, পরীক্ষা ও পাঠযোগ্যতার মূল হাতিয়ার।

  1. 1
    def name(params): দিয়ে সংজ্ঞা, return দিয়ে ফল ফেরত
  2. 2
    ডিফল্ট মান: def bmi(w, h=1.6)
  3. 3
    *args (যত খুশি অবস্থানগত), **kwargs (যত খুশি নামযুক্ত) আর্গুমেন্ট
  4. 4
    ডকস্ট্রিং লিখুন ও একটি ফাংশন = একটি কাজ নীতি মানুন
def ও returnফাংশন সংজ্ঞা
ডিফল্ট ও কীওয়ার্ড আর্গুমেন্ট*args, **kwargs
স্কোপলোকাল বনাম গ্লোবাল
6

Lists Tuples Dictionaries

Python's core data structures.
Intermediate
📘 বাংলা: পাইথনের প্রধান ডেটা স্ট্রাকচার।
🌐 English: Python's core data structures.

💡 ডেটা সংরক্ষণ ও সংগঠনের প্রধান চারটি কাঠামো—সঠিকটি বাছলে কোড সহজ হয়।

  1. 1
    list [ ]: ক্রমযুক্ত, পরিবর্তনযোগ্য; append, sort, slice
  2. 2
    tuple ( ): অপরিবর্তনীয়—স্থির রেকর্ড (lat, lon)
  3. 3
    dict {key: value}: নাম দিয়ে দ্রুত খোঁজ; get(), items()
  4. 4
    set { }: অনন্য মান, দ্রুত সদস্যপদ যাচাই ও সেট অপারেশন
Listপরিবর্তনযোগ্য ক্রম [1,2,3]
Tupleঅপরিবর্তনীয় (1,2)
Dict ও Setkey:value ও অনন্য মান
7

List Comprehension

Build lists in one expressive line.
Intermediate
📘 বাংলা: এক লাইনে লিস্ট তৈরির শক্তিশালী কৌশল।
🌐 English: Build lists in one expressive line.

💡 ছোট, দ্রুত ও পাইথনিক উপায়ে নতুন সংগ্রহ তৈরি।

  1. 1
    মূল কাঠামো: [expression for item in iterable]
  2. 2
    শর্ত যোগ: [x for x in data if x > 0]
  3. 3
    if-else সহ: ["pass" if m >= 40 else "fail" for m in marks]
  4. 4
    dict ও set comprehension: {k: v*2 for k, v in d.items()}
সিনট্যাক্স[x*2 for x in data]
শর্তসহ[x for x in data if x>0]
Dict/Set comprehension{k:v for ...}
8

File Handling

Read and write txt, csv, json files.
Intermediate
📘 বাংলা: ফাইল পড়া-লেখা: txt, csv, json।
🌐 English: Read and write txt, csv, json files.

💡 বাস্তব ডেটা ফাইলে থাকে—CSV, JSON, টেক্সট লগ।

  1. 1
    with open("file.txt", encoding="utf-8") as f: — ফাইল নিজে থেকে বন্ধ হয়
  2. 2
    মোড: "r" পড়া, "w" লেখা (মুছে), "a" শেষে যোগ
  3. 3
    csv.reader/DictReader দিয়ে CSV সারি
  4. 4
    json.load() / json.dump(ensure_ascii=False) দিয়ে JSON (বাংলা ঠিক রাখে)
open() ও withনিরাপদে ফাইল খোলা
csv মডিউলসারি পড়া-লেখা
jsonjson.load / json.dump
9

Error Handling

Handle failures with try / except.
Advanced
📘 বাংলা: try/except দিয়ে এরর সামলানো।
🌐 English: Handle failures with try / except.

💡 বাস্তব ডেটায় ভুল থাকবেই—এরর সামলালে প্রোগ্রাম মাঝপথে বন্ধ হয় না।

  1. 1
    try: ঝুঁকিপূর্ণ কোড
  2. 2
    except ValueError: নির্দিষ্ট এরর ধরুন (সব এরর একসাথে নয়)
  3. 3
    else: এরর না হলে চলে; finally: সবসময় চলে (ফাইল বন্ধ করা)
  4. 4
    raise ValueError("বার্তা") দিয়ে নিজে এরর তুলুন
try/exceptএরর ধরা
finally/elseসবসময় চলা কোড
raiseনিজের এরর তৈরি
10

OOP in Python

Classes, objects and inheritance.
Advanced
📘 বাংলা: ক্লাস, অবজেক্ট, ইনহেরিট্যান্স।
🌐 English: Classes, objects and inheritance.

💡 বড় প্রজেক্ট সংগঠিত করা ও scikit-learn/PyTorch-এর মতো লাইব্রেরি বোঝার জন্য অপরিহার্য।

  1. 1
    class = ব্লুপ্রিন্ট, object = বাস্তব উদাহরণ
  2. 2
    __init__(self, ...) দিয়ে অ্যাট্রিবিউট সেট, self মানে বর্তমান অবজেক্ট
  3. 3
    মেথড = ক্লাসের ফাংশন; এনক্যাপসুলেশন: ডেটা ও আচরণ একসাথে
  4. 4
    ইনহেরিট্যান্স: class Student(Person) — পুনঃব্যবহার; পলিমরফিজম: একই মেথড ভিন্ন আচরণ
class ও objectব্লুপ্রিন্ট ও ইনস্ট্যান্স
__init__ ও selfকনস্ট্রাক্টর
ইনহেরিট্যান্স ও পলিমরফিজমকোড পুনঃব্যবহার
11

Modules & pip

Import libraries and install packages.
Advanced
📘 বাংলা: লাইব্রেরি ইমপোর্ট ও প্যাকেজ ইনস্টল।
🌐 English: Import libraries and install packages.

💡 কেউ আগে লিখে রাখা লক্ষ লক্ষ লাইন কোড এক লাইনে ব্যবহার।

  1. 1
    import math, from math import sqrt, import numpy as np—তিনভাবে ইমপোর্ট
  2. 2
    pip install pandas দিয়ে PyPI থেকে প্যাকেজ
  3. 3
    pip list / pip show দিয়ে ইনস্টলড প্যাকেজ দেখা
  4. 4
    নিজের utils.py বানিয়ে from utils import clean_data
importimport numpy as np
pip installপ্যাকেজ ইনস্টল
নিজের মডিউল.py ফাইল ইমপোর্ট
12

Virtual Environments

Isolated per-project environments with venv.
Advanced
📘 বাংলা: venv দিয়ে প্রজেক্টভিত্তিক আলাদা পরিবেশ।
🌐 English: Isolated per-project environments with venv.

💡 প্রতিটি প্রজেক্টের নিজস্ব প্যাকেজ ভার্সন—একটি প্রজেক্ট আপডেট করলে অন্যটি ভাঙবে না।

  1. 1
    python -m venv env দিয়ে তৈরি
  2. 2
    অ্যাক্টিভেট: Windows env\Scripts\activate, Mac/Linux source env/bin/activate
  3. 3
    প্যাকেজ ইনস্টল করে pip freeze > requirements.txt
  4. 4
    অন্য কম্পিউটারে pip install -r requirements.txt দিয়ে হুবহু পরিবেশ
venv তৈরিpython -m venv env
অ্যাক্টিভেটenv\Scripts\activate
requirements.txtpip freeze
💻

হাতে-কলমে কোড · Hands-on code

Run চাপুন — পাইথন আপনার ব্রাউজারেই চলবে (Ctrl+Enter)
students={"Rafi":[78,85,90],"Mim":[92,88,95],"Tanvir":[60,72,68]}
def grade(avg): return "A+" if avg>=80 else "A" if avg>=70 else "B"
for name,marks in students.items():
    avg=sum(marks)/len(marks); print(f"{name:7s} avg={avg:5.1f} grade={grade(avg)}")
class Account:
    def __init__(self,owner,bal=0): self.owner,self.bal=owner,bal
    def deposit(self,x): self.bal+=x; return self
print(Account("Jubaer").deposit(500).deposit(250).bal)
📝

অনুশীলন · Practice tasks

  1. একটি সংখ্যা মৌলিক কিনা যাচাইয়ের ফাংশন লিখুন
  2. CSV থেকে পড়ে গড় নম্বর হিসাব করুন
  3. Student ক্লাস তৈরি করুন method সহ
  4. ক্যাপস্টোন: CLI expense tracker with CSV storage
❓

কুইজ · Quick quiz

1. Python-এ অপরিবর্তনীয় (immutable) কোনটি?

2. [x*x for x in range(3)] এর ফল?

🎬

ভিডিও লাইব্রেরি · Videos

সাইটের ভেতরে ফ্লোটিং প্লেয়ারে চলবে
এই শাখার ভিডিও এখনো সংরক্ষিত হয়নি। যেকোনো টপিক পেজ খুললে ভিডিও স্বয়ংক্রিয়ভাবে খুঁজে MySQL-এ সংরক্ষিত হবে (API key থাকলে)।

📺 Reference channels

🔗

সংযুক্ত বিষয় · Connected

← আগের শাখা📐 Mathematics for AIপরের শাখা →📊 Statistics
🎬 Video