| Type | Use | Code |
|---|---|---|
| String | Text / yes/no | name = input("Name: ") |
| Integer | বয়স / marks | age = int(input("Age: ")) |
| Float | CGPA / bill | cgpa = float(input("CGPA: ")) |
⚠️ input()সবসময় string দেয় — সংখ্যার জন্যint()বাfloat()দিয়ে convert করো।
✅.lower()যোগ করো — "YES" / "yes" / "Yes" সব একসাথে handle হবে।
if শর্ত১:
# শর্ত১ True হলে
elif শর্ত২:
# শর্ত২ True হলে
else:
# কোনোটাই না হলেGrade System উদাহরণ:
marks = float(input("Marks: "))
if marks >= 90:
print("A+")
elif marks >= 80:
print("A")
elif marks >= 70:
print("B")
elif marks >= 60:
print("C")
else:
print("F")
⚠️ শর্তের পরে:দিতে হবে।
⚠️ ভেতরে 4 space (indentation) দিতে হবে।
⚠️ else-এ কোনো condition লেখা যায় না!
value = "A" if শর্ত else "B"উদাহরণ:
age = int(input("Age: "))
status = "Eligible" if age >= 18 else "Not Eligible"
print(status)| পরিস্থিতি | কোনটি ব্যবহার করবো |
|---|---|
| ২টি option (if/else) | ✅ Ternary |
| ৩+ option (elif আছে) | ✅ if/elif/else |
| Operator | বাংলা | কখন True |
|---|---|---|
and |
এবং | দুটো শর্তই True হলে |
or |
অথবা | যেকোনো একটি True হলে |
not |
না/উল্টো | False → True, True → False |
# and — দুটোই লাগবে
if age >= 18 and has_id:
print("Entry ✅")
# or — যেকোনো একটি হলেই চলবে
if is_student or is_senior:
print("Discount ✅")
# not — উল্টো করে
if not is_raining:
print("Go outside ☀️")Truth Table:
True AND True = True ✅
True AND False = False ❌
False OR True = True ✅
False OR False = False ❌
not True = False ❌
not False = True ✅
Meaning: Add item at the end of list.
fruits = ["Apple"]
fruits.append("Orange")Meaning: Add item at specific position.
numbers = [1, 3]
numbers.insert(1, 2)Meaning: Remove specific item.
colors = ["Red", "Blue"]
colors.remove("Blue")Meaning: Remove item using index.
names = ["Rin", "Sam"]
names.pop(0)Meaning: Delete item from list.
numbers = [10, 20, 30]
del numbers[1]Meaning: Add multiple items.
a = [1, 2]
a.extend([3, 4])Meaning: Count total same values.
numbers = [1, 2, 2]
numbers.count(2)Meaning: Find item position.
fruits = ["Apple", "Banana"]
fruits.index("Banana")Meaning: Sort low to high.
numbers = [3, 1, 2]
numbers.sort()Meaning: Sort high to low.
numbers = [3, 1, 2]
numbers.sort(reverse=True)Meaning: Get specific part of list.
numbers = [10, 20, 30, 40]
print(numbers[1:3])Meaning: Find highest value.
numbers = [5, 8, 2]
max(numbers)Meaning: Find lowest value.
numbers = [5, 8, 2]
min(numbers)| Method | কাজ | উদাহরণ | Result |
|---|---|---|---|
len(x) |
কতটি character | len("Shahid") |
6 |
x.isalpha() |
শুধু অক্ষর কিনা | "hello".isalpha() |
True |
x.lower() |
ছোট হাতে | "YES".lower() |
"yes" |
x.capitalize() |
প্রথম অক্ষর বড় | "japan".capitalize() |
"Japan" |
x.endswith(".com") |
শেষে .com কিনা | "a@b.com".endswith(".com") |
True |
x.startswith("260") |
260 দিয়ে শুরু কিনা | "2601".startswith("260") |
True |
"@" in x |
@ আছে কিনা | "@" in "a@b.com" |
True |
round(x, 2) |
দশমিক ঠিক করা | round(4500.001, 2) |
4500.0 |
% ÷ 100 = decimal
90% = 0.90 | 10% = 0.10 | 30% = 0.30
bill = 5000
final = bill * 0.90 # 10% ছাড় → 4500.0
tax = bill * 0.10 # 10% tax → 500.0
# Homework-এ common uses:
bill * 0.90 # 10% discount
salary * 0.30 # 30% tax
amount * 0.97 # 3% discount
amount * 0.98 # 2% discount৩টি Core Concept:
- File System কী? — OS যেভাবে disk-এ file store, organize, retrieve করে। Library catalog-এর মতো।
- Tree Structure — উল্টো গাছের মতো। সবার উপরে
Root। নিচে folder → subfolder → file। - Paths — প্রতিটি file-এর "ঠিকানা"। Root থেকে destination পর্যন্ত। File Tree:
/ (Root)
└── Users/
└── YourName/
├── Documents/
├── Downloads/
└── Projects/ ← তুমি এটা তৈরি করো
└── my_first_app/
├── main.py
├── helper.py
└── README.md
Absolute Path — Root থেকে পুরো ঠিকানা:
Windows: C:\Users\YourName\Projects\main.py
Mac/Linux: /home/yourname/projects/main.py
Relative Path — এখন যেখানে আছো সেখান থেকে:
main.py ← same folder
./main.py ← explicitly here
../other/f.py ← go up, then in
⚠️ Python বলেFileNotFoundError→ প্রায় সবসময় ভুল path! Absolute vs Relative double-check করো।
| কাজ | Mac/Linux | Windows CMD | কী করে |
|---|---|---|---|
| কোথায় আছি? | pwd |
cd |
current location |
| File list | ls |
dir |
সব file/folder |
| Folder-এ ঢোকো | cd Documents |
cd Documents |
navigate |
| পিছে যাও | cd .. |
cd .. |
এক ধাপ উপরে |
| নতুন folder | mkdir myapp |
mkdir myapp |
folder তৈরি |
| নতুন file | touch main.py |
type nul > main.py |
file তৈরি |
| VS Code খোলো | code . |
code . |
editor open |
| Python চালাও | python main.py |
python main.py |
script run |
rm file.txt |
del file.txt |
permanent! | |
rm -rf folder/ |
rmdir /s /q |
সব মুছে যাবে! |
🚀 Pro Workflow — মুখস্থ করো!
cd Desktop → mkdir new_project → cd new_project → touch main.py → code .
৪টি Shape:
| Shape | নাম | মানে |
|---|---|---|
| ⬭ | Oval / Terminator | START / END — প্রতিটিতে ঠিক একটি |
| ▭ | Rectangle | Process / Action — যেমন: count = count + 1 |
| ◇ | Diamond | Decision (Yes/No) — if/else-এ map হয় |
| ▱ | Parallelogram | Input / Output — input() / print() |
Number Guessing Game — Flowchart:
START
↓
User types a guess
↓
count = count + 1
↓
guess == secret?
YES ✅ NO ❌
↓ ↓
'Correct!' Too high/low
↓ ↓
END ← Loop Back
Game Trace — secret = 42:
| Turn | Guess | Result |
|---|---|---|
| 1 | 75 | Too high! 🔴 |
| 2 | 20 | Too low! 🔵 |
| 3 | 42 | Correct! ✅ |
💡 Code লেখার আগে flowchart আঁকো। Bug ধরতেও flowchart সাহায্য করে!
Algorithm কী?
Ordered, finite instructions যা একটি নির্দিষ্ট সমস্যা solve করে। শুরু, স্পষ্ট ধাপ ও শেষ থাকতে হবে।
ভালো Algorithm-এর ৫ গুণ:
- Correct — সঠিক উত্তর দেয়
- Efficient — দ্রুত কাজ করে
- Clear — পড়তে সহজ
- Finite — শেষ হয়
- General — সব input-এ কাজ করে Real World: Google search · Spotify · GPS routing · Instagram feed
Full Python Code:
import random
secret = random.randint(1, 100)
count = 0
while True:
guess = int(input("Guess 1-100: "))
count += 1
if guess == secret:
print(f"Correct! Got it in {count} guesses!")
break
elif guess > secret:
print(f"{guess} too high! Try lower.")
else:
print(f"{guess} too low! Try higher.")🏆 Golden Rule: প্রতিটি complex program = simple algorithm-এর সমষ্টি। বড় problem → ছোট ছোট ধাপে ভাগ করো!
Software কীভাবে plan, create, test ও maintain করা হয় তার structured process।
৭টি Phase (ক্রমানুসারে):
🔍 Planning → 📋 Requirements → 🏛️ Design → 💻 Implementation
→ ✅ Testing → 🚀 Deployment → 🔧 Maintenance
| Phase | কাজ |
|---|---|
| Planning | Scope & feasibility নির্ধারণ |
| Requirements | কী build করবো সেটা define করা |
| Design | Architecture & UX plan করা |
| Implementation | Code লেখা |
| Testing | Verify & validate করা |
| Deployment | Production-এ ship করা |
| Maintenance | Sustain & improve করা |
Waterfall vs Agile vs Scrum vs Kanban:
| Model | Approach | Best For |
|---|---|---|
| Waterfall | Linear, no going back | Gov/regulatory projects |
| Agile | Iterative, flexible | Modern software products |
| Scrum | Agile + defined roles | Cross-functional teams |
| Kanban | Visual, continuous | Maintenance & ops |
Scrum Artifacts:
- Product Backlog — সব features-এর prioritized list (Product Owner-এর)
- Sprint Backlog — ১-২ সপ্তাহের sprint-এ কী করবো
- Increment — Sprint শেষে potentially shippable product
- Daily Stand-up — ১৫ মিনিট: কী করলাম? কী করবো? কোনো blocker?
- Retrospective — কী ভালো হলো? কী improve করবো?
⚠️ Important Shift: GitHub Copilot, Cursor, Claude — engineers-দের replace করে না, amplify করে! AI code তোমাকেই বুঝতে, review করতে ও own করতে হবে।
AI-র ৪টি দিক:
🤝 AI as Coding Partner
- Copilot/Cursor: autocomplete & code generation
- Claude/ChatGPT: debugging, explaining, reviewing
- AI boilerplate লেখে, তুমি architect করো
- Prompt করতে শেখো — এটা নতুন skill! 🧠 LLM-Powered Apps
- Modern apps language models কে feature হিসেবে integrate করে
- RAG systems: নিজের data থেকে AI answer দেয়
- Streaming APIs, function calling, agentic workflows
- 2025-এ এটা optional নয়! 👁️ Computer Vision
- AI "দেখে" — image classification, object detection
- Medical imaging: X-rays, MRIs diagnose করে
- Classical CV ও deep learning-এর সেতু
⚠️ Risks to Watch - AI hallucinations — plausible কিন্তু ভুল code
- Security vulnerabilities in AI-generated code
- Fundamentals না বুঝে over-reliance
- Prompt injection attacks in AI apps
৬টি Core Responsibility:
📋 Requirements Analysis
- Business needs → technical specs-এ রূপান্তর
- Clients, PMs, stakeholders-এর সাথে যোগাযোগ
- Code লেখার আগে ambiguity চিহ্নিত করা
- Functional & non-functional requirements document করা 🏛️ System Design & Architecture
- Problem-এর জন্য সঠিক tech stack বেছে নেওয়া
- Databases, APIs, service boundaries design করা
- Scalability, availability, security-র plan
- ERDs, sequence, class diagrams তৈরি 💻 Implementation (Coding)
- Clean, readable, well-documented code লেখা
- Coding standards & conventions follow করা
- Algorithms & data structures implement করা
- Git দিয়ে version control, clear commits 🧪 Testing & QA
- Unit, integration, end-to-end tests লেখা
- Debug & resolve defects systematically
- Code reviews-এ participate করা
- Edge cases & failure scenarios validate করা 🚀 Deployment & DevOps
- CI/CD pipelines build করা
- Docker দিয়ে applications containerize করা
- AWS, GCP, Azure-এ cloud deploy
- Production monitor, incidents respond 🔧 Maintenance & Iteration
- Existing codebase refactor & improve করা
- Bug reports & production issues-এ respond
- Performance bottlenecks optimize করা
- Dependencies upgrade, technical debt handle
🌏 Japan — Bridge SE Perspective: Japanese client team ও development team-এর মধ্যে communication code-এর মতোই গুরুত্বপূর্ণ। English ও Japanese-এ clearly requirements document করা এই market-এ unique ও valuable skill!
int/float/str— input typesif/elif/else— শর্ত- Ternary — এক লাইনে if/else
and/or/not— logical operatorslen/isalpha/endswith/startswith— string methodsround(x, 2)— টাকার হিসাবx * 0.90— 10% ছাড়
- Tree structure — Root থেকে শাখা
- Absolute path = পুরো ঠিকানা
- Relative path = এখান থেকে
pwd/ls— where/whatmkdir/cd— create/movecode .— VS Code খোলোrm— সাবধান! permanent delete
- ⬭ Oval = START/END
- ▭ Rectangle = Process
- ◇ Diamond = Decision (if/else)
- ▱ Parallelogram = Input/Output
- Code লেখার আগে Flowchart আঁকো!
- Algorithm = ordered steps
- বড় problem → ছোট ছোট ধাপে ভাগ করো
- SDLC = 7 phases
- Waterfall / Agile / Scrum / Kanban
Complete Study Notes — Python · Developer's Toolkit · Software Engineering