C প্রোগ্রামিং শব্দকোষ — ১০২৭টি শব্দের সহজ বাংলা মানে

C Programming Glossary in Bangla — every technical term from the course, with pronunciation and a plain Bangla explanation.

কোর্সের প্রতিটি পর্বে যে ইংরেজি শব্দগুলো এসেছে — pointer, malloc, struct, stack, thread — সবগুলো এখানে এক জায়গায়। প্রতিটির পাশে বাংলা উচ্চারণ, সহজ মানে আর কোন পর্বে বিস্তারিত শিখবেন, তার লিংক।

মোট ১০২৭টি শব্দ

#

স্টড-আর্গ হেডার
Variadic ফাংশন লেখার standard header. এতে আছে va_list টাইপ আর va_start, va_arg, va_end, va_copy macro.যেখানে শিখবেন: পর্ব ২৫
0/1 Knapsackন্যাপস্যাক
ওজনের সীমাওয়ালা একটি ব্যাগে কোন কোন জিনিস (প্রতিটি পুরো নিতে হবে বা একদম না) নিলে মোট মূল্য সবচেয়ে বেশি হয়, তা বের করার সমস্যা।যেখানে শিখবেন: পর্ব ৪২
2D arrayটু-ডি অ্যারে
দুটি index-এর অ্যারে — সারি আর কলামের একটি টেবিল, যেমন int t[2][3]. মেমরিতে এটি আসলে একটি লম্বা একটানা সারি।যেখানে শিখবেন: পর্ব ১৬পর্ব ২১পর্ব ৩৮
3D arrayথ্রি-ডি অ্যারে
তিনটি index-এর অ্যারে, যেমন int p[2][6][20] — ভবন × তলা × কক্ষ, বা ছবির সারি × কলাম × রঙ।যেখানে শিখবেন: পর্ব ২১
[[nodiscard]]নো-ডিসকার্ড
ফাংশনের ফেরত মান ব্যবহার না করলে compiler যেন warning দেয় — এমন নির্দেশ। ভুলের কোড ফেরত দেওয়া ফাংশনের জন্য খুব কাজের।

A

ABI (Application Binary Interface)এবিআই
Compile হয়ে যাওয়া দুটি অংশ মেশিন-স্তরে কীভাবে মিলবে তার চুক্তি — struct-এর আকার ও সাজানো, ফাংশন ডাকার নিয়ম, symbol-এর নাম। এটি ভাঙলে পুরোনো প্রোগ্রাম নতুন library-র সাথে ভুল চলে।যেখানে শিখবেন: পর্ব ২৬পর্ব ২৯পর্ব ৪৬
Abstract data type (ADT)অ্যাবস্ট্রাক্ট ডেটা টাইপ
ডেটা রাখার একটি কাঠামোকে শুধু তার নিয়ম দিয়ে চেনা — কোন কোন কাজ করা যায় আর প্রতিটি কাজের ফল কী হবে। ভেতরে array দিয়ে বানানো, না linked list দিয়ে, সেটি ব্যবহারকারীর জানার দরকার নেই।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৩৬
Abstractionঅ্যাবস্ট্রাকশন
দরকারি তথ্যটুকু রেখে অপ্রয়োজনীয় খুঁটিনাটি বাদ দেওয়া — যেমন মেট্রো রেলের ম্যাপে শুধু স্টেশনের ক্রম থাকে, রাস্তার বাঁক থাকে না।যেখানে শিখবেন: পর্ব ০২পর্ব ১৩পর্ব ২২
accept()অ্যাকসেপ্ট
অপেক্ষার সারি থেকে একটি তৈরি সংযোগ তুলে নিয়ে শুধু ওই client-এর জন্য একটি নতুন socket (file descriptor) ফেরত দেয়।যেখানে শিখবেন: পর্ব ৫০
Acceptance criteriaঅ্যাকসেপ্ট্যান্স ক্রাইটেরিয়া
একটি চাহিদা কখন “পূরণ হয়েছে” বলা যাবে, তার যাচাইযোগ্য শর্তের তালিকা। এগুলো থেকেই সরাসরি টেস্ট লেখা যায়।যেখানে শিখবেন: পর্ব ২৩
Accepted (AC)অ্যাকসেপ্টেড
সব গোপন টেস্টে সময় ও মেমরির সীমার মধ্যে সঠিক উত্তর এসেছে — সমাধান গৃহীত হয়েছে।যেখানে শিখবেন: পর্ব ৪৪
Accumulatorঅ্যাকুমুলেটর
যে ভ্যারিয়েবলে লুপের প্রতিটি ঘোরায় একটু একটু করে ফল জমা হয়, যেমন যোগফল বা সর্বোচ্চ মান।যেখানে শিখবেন: পর্ব ১২পর্ব ১৬
Activity selectionঅ্যাক্টিভিটি সিলেকশন
একটি রুম বা যন্ত্রে সময় না মিশিয়ে সবচেয়ে বেশি সংখ্যক কাজ রাখার সমস্যা। যে কাজ আগে শেষ হয় তাকে আগে নিলে সবসময় সেরা উত্তর মেলে।যেখানে শিখবেন: পর্ব ৪৩
ADC (Analog-to-Digital Converter)এডিসি
যে অংশ বাইরের ভোল্টেজ মেপে একটি পূর্ণসংখ্যায় বদলায়। ১০ বিটের ADC ০ থেকে ১০২৩ পর্যন্ত মান দেয়।যেখানে শিখবেন: পর্ব ৫১
Address-of operator (&)অ্যাড্রেস-অফ অপারেটর
& চিহ্ন, যা কোনো ভ্যারিয়েবলের মেমরির ঠিকানা দেয়। &x পড়ুন “x-এর ঠিকানা”.যেখানে শিখবেন: পর্ব ১৭পর্ব ৫৫
Adjacency listঅ্যাডজেসেন্সি লিস্ট
প্রতিটি vertex-এর জন্য শুধু তার প্রতিবেশীদের একটি তালিকা, যা linked list বা dynamic array দিয়ে বানানো হয়। মেমরি লাগে মোটামুটি V + E, তাই বড় কিন্তু পাতলা গ্রাফে এটিই চলে।যেখানে শিখবেন: পর্ব ৩৮
Adjacency matrixঅ্যাডজেসেন্সি ম্যাট্রিক্স
V × V মাপের একটি 2D array, যেখানে adj[i][j] = 1 মানে i আর j যুক্ত। দুটি vertex যুক্ত কি না এক ধাপেই জানা যায়, কিন্তু মেমরি লাগে V² ঘর।যেখানে শিখবেন: পর্ব ২১পর্ব ৩৮
Adversarial inputঅ্যাডভারসারিয়াল ইনপুট
ইচ্ছে করে বানানো এমন ইনপুট, যা কোনো পদ্ধতির সবচেয়ে খারাপ অবস্থা টেনে আনে — যেমন সাধারণ quicksort-কে n²-এ নামিয়ে সার্ভার ধীর করে দেওয়া।যেখানে শিখবেন: পর্ব ৪০
Algorithmঅ্যালগরিদম
কোনো সমস্যা সমাধানের নির্দিষ্ট, ধাপে ধাপে সাজানো নির্দেশের তালিকা — যা সীমিত সময়ে শেষ হয় এবং সঠিক উত্তর দেয়।যেখানে শিখবেন: পর্ব ০২
Aliasingঅ্যালিয়াসিং
একই মেমরিতে দুই বা তার বেশি নামে (দুটি আলাদা পয়েন্টার দিয়ে) পৌঁছানো যায় এমন অবস্থা। একটি দিয়ে লিখলে অন্যটি দিয়ে পড়া মানও বদলে যায়।যেখানে শিখবেন: পর্ব ৪৫
_Alignas / alignasঅ্যালাইন-অ্যাজ
কোনো ভ্যারিয়েবল মেমরিতে কত byte-এর গুণিতক ঠিকানায় বসবে তা নির্দিষ্ট করার নির্দেশ। _Alignof দিয়ে কোনো টাইপের alignment জানা যায়।যেখানে শিখবেন: পর্ব ৪৭
Alignmentঅ্যালাইনমেন্ট
কোনো টাইপের মান মেমরির এমন ঠিকানায় রাখার নিয়ম, যা তার মাপের (যেমন ৪ বা ৮) গুণিতক। এতে CPU এক চেষ্টায় পুরো মানটি পড়তে পারে।যেখানে শিখবেন: পর্ব ২২পর্ব ৪৬পর্ব ৫৬
Allocatorঅ্যালোকেটর
যে কোড heap-এর হিসাব রাখে — কোন জায়গা খালি, কোনটি কার — এবং malloc ও free-র অনুরোধ সামলায়।যেখানে শিখবেন: পর্ব ২০পর্ব ৩৩পর্ব ৫৬
Amdahl's lawঅ্যামডালস ল
প্রোগ্রামের যে অংশ ভাগ করা যায় না, সেটিই সর্বোচ্চ গতি-বৃদ্ধির সীমা ঠিক করে দেয় — এই নিয়ম। Gene Amdahl ১৯৬৭ সালে এটি দেখান।যেখানে শিখবেন: পর্ব ৪৯
Amortized costঅ্যামর্টাইজড কস্ট
মাঝে মাঝে একটি কাজ খুব ব্যয়বহুল হলেও অনেকগুলো কাজের মোট খরচ ভাগ করলে প্রতিটির গড় খরচ কত দাঁড়ায় — সেই হিসাব।যেখানে শিখবেন: পর্ব ২০পর্ব ৩৭পর্ব ৩৯
Annex K (bounds-checked functions)অ্যানেক্স কে
C11-এর ঐচ্ছিক অংশ, যেখানে strcpy_s, gets_s-এর মতো সীমা যাচাই করা ফাংশন আছে। বাস্তবে খুব কম library এটি পুরোপুরি বানিয়েছে।যেখানে শিখবেন: পর্ব ৪৭
Anonymous struct / unionঅ্যানোনিমাস স্ট্রাক্ট
নাম ছাড়া struct বা union, যা অন্য struct-এর ভেতরে বসে। এর member-গুলো বাইরের struct-এর member-এর মতোই সরাসরি ব্যবহার করা যায়। C11 থেকে স্ট্যান্ডার্ড।যেখানে শিখবেন: পর্ব ৪৭
ANSI C (C89/C90)অ্যানসি সি
C-এর প্রথম আনুষ্ঠানিক স্ট্যান্ডার্ড। ১৯৮৯ সালে আমেরিকার ANSI প্রকাশ করে, ১৯৯০ সালে ISO একই নিয়ম গ্রহণ করে। Function prototype এখান থেকেই চালু।যেখানে শিখবেন: পর্ব ৪৭
argc (argument count)আর্গ-সি
main-এর প্রথম parameter — কমান্ড-লাইনে মোট কয়টি শব্দ এসেছে, প্রোগ্রামের নিজের নামসহ। ./marks a b চালালে এর মান হয় ৩।যেখানে শিখবেন: পর্ব ২৫পর্ব ৫৪পর্ব ৫৫
Argumentআর্গুমেন্ট
ফাংশন ডাকার সময় যে আসল মান পাঠানো হয়। যেমন apply_vat(500) লিখলে 500 হলো argument.যেখানে শিখবেন: পর্ব ১৩পর্ব ১৮
argv (argument vector)আর্গ-ভি
main-এর দ্বিতীয় parameter — char pointer-এর একটি অ্যারে, যার প্রতিটি ঘর একটি শব্দের (স্ট্রিং) দিকে তাক করে থাকে। শেষ ঘর argv[argc] সবসময় NULL.যেখানে শিখবেন: পর্ব ২৫পর্ব ৫৫
Armstrong numberআর্মস্ট্রং নাম্বার
যে সংখ্যার প্রতিটি অঙ্ককে মোট অঙ্কসংখ্যার ঘাতে তুলে যোগ করলে সংখ্যাটিই ফিরে আসে, যেমন 153 = 1³ + 5³ + 3³.যেখানে শিখবেন: পর্ব ৫৫
Arrange-Act-Assertঅ্যারেঞ্জ-অ্যাক্ট-অ্যাসার্ট
একটি test-কে তিন ভাগে সাজানোর রীতি: আগে পরিস্থিতি তৈরি, তারপর একটি কাজ, শেষে ফল যাচাই।যেখানে শিখবেন: পর্ব ৩২
Arrayঅ্যারে
একই ধরনের অনেকগুলো মান পাশাপাশি সাজিয়ে রাখার ব্যবস্থা — প্রতিটি ঘরের একটি ক্রমিক নম্বর থাকে, যা শূন্য থেকে শুরু হয়।যেখানে শিখবেন: পর্ব ০২পর্ব ১৬পর্ব ১৮
Array decayঅ্যারে ডিকে
বেশিরভাগ expression-এ array-র নাম নিজে থেকেই তার প্রথম ঘরের ঠিকানায় বদলে যাওয়া। ব্যতিক্রম: sizeof arr আর &arr.যেখানে শিখবেন: পর্ব ১৮পর্ব ১৯পর্ব ২১
Array of stringsঅ্যারে অব স্ট্রিংস
অনেকগুলো স্ট্রিং একসাথে রাখা — char names[5][20] (স্থির মাপের 2D অ্যারে) অথবা char *names[5] (৫টি pointer, প্রতিটি একটি স্ট্রিং দেখায়)।যেখানে শিখবেন: পর্ব ২১
Arrow operator (->)অ্যারো অপারেটর
struct-এর ঠিকানা হাতে থাকলে member পড়ার চিহ্ন। p->roll আর (*p).roll একই কথা, শুধু লেখা সহজ।যেখানে শিখবেন: পর্ব ২২পর্ব ৩৩
ASCIIঅ্যাসকি
ইংরেজি অক্ষর, অঙ্ক আর সাধারণ চিহ্নের জন্য ১২৮টি সংখ্যার একটি পুরোনো তালিকা। C-এর কোড লেখার চিহ্নগুলো (যেমন ", ;) সব এর ভেতরেই পড়ে।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৫পর্ব ৩৭
ASLR (Address Space Layout Randomization)এএসএলআর
নিরাপত্তার একটি কৌশল, যাতে অপারেটিং সিস্টেম প্রতিবার প্রোগ্রামের মেমরি এলোমেলো ঠিকানায় বসায়। এজন্যই %p দিয়ে ছাপা ঠিকানা প্রতিবার বদলায়.যেখানে শিখবেন: পর্ব ১৭পর্ব ১৯পর্ব ২৮
Assemblerঅ্যাসেম্বলার
Assembly ভাষাকে আসল মেশিন কোডে (0/1) বদলে দেয় এমন প্রোগ্রাম।যেখানে শিখবেন: পর্ব ০৩
Assemblyঅ্যাসেম্বলি
মেশিন কোডের ঠিক এক ধাপ ওপরের ভাষা। mov, add-এর মতো ছোট ছোট CPU নির্দেশ, মানুষ কষ্ট করে পড়তে পারে।যেখানে শিখবেন: পর্ব ০৩
assertঅ্যাসার্ট
assert.h-এর একটি macro, যা চলার সময় একটি শর্ত যাচাই করে; মিথ্যা হলে ফাইল, লাইন ও শর্ত ছেপে প্রোগ্রাম থামায়। প্রোগ্রামারের ভুল ধরার জন্য।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩০পর্ব ৩১
Assignmentঅ্যাসাইনমেন্ট
আগে থেকে থাকা একটি ভ্যারিয়েবলে = চিহ্ন দিয়ে নতুন মান বসানো। আগের মানটি মুছে যায়।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৭
Associativityঅ্যাসোসিয়েটিভিটি
একই অগ্রাধিকারের অপারেটর পাশাপাশি থাকলে বাঁ থেকে ডানে না ডান থেকে বাঁয়ে জোড়া বাঁধা হবে, সেই নিয়ম।যেখানে শিখবেন: পর্ব ০৭
Asymptotic analysisঅ্যাসিম্পটোটিক অ্যানালাইসিস
ইনপুট খুব বড় হতে থাকলে অ্যালগরিদমের খরচ কেমন আচরণ করে, শুধু সেটি দেখা। ছোট ইনপুটের খুঁটিনাটি আর ধ্রুবক গুণ এখানে বাদ পড়ে।যেখানে শিখবেন: পর্ব ৩৯
atexitএট-এক্সিট
stdlib.h-এর ফাংশন, যা দিয়ে এমন একটি ফাংশন রেজিস্টার করা যায় যেটা প্রোগ্রাম স্বাভাবিকভাবে শেষ হওয়ার ঠিক আগে চলবে।যেখানে শিখবেন: পর্ব ২৬
atoiএ-টু-আই
লেখাকে int-এ বদলানোর পুরোনো ফাংশন। ভুল ইনপুটে চুপচাপ 0 দেয়, আর overflow-তে undefined behavior — তাই এর বদলে strtol ভালো।যেখানে শিখবেন: পর্ব ২৫পর্ব ২৬পর্ব ৫৬
Atomic operationঅ্যাটমিক অপারেশন
যে কাজ এক ধাক্কায় পুরোটা হয়, মাঝপথে অন্য কোনো thread দেখতে বা ঢুকতে পারে না। C11-এ stdatomic.h দিয়ে পাওয়া যায়, যেমন atomic_fetch_add.যেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৭পর্ব ৪৯
Atomic renameঅ্যাটমিক রিনেম
নাম বদল এক ধাক্কায় ঘটে — বাইরে থেকে হয় পুরোনো ফাইল দেখা যায়, নয় নতুন, মাঝামাঝি কিছু নয়। POSIX-এ একই file system-এর ভেতরে rename এভাবেই কাজ করে।যেখানে শিখবেন: পর্ব ২৪পর্ব ৫২
Atomic set/reset registerসেট-রিসেট রেজিস্টার
এমন রেজিস্টার, যেখানে 1 লিখলে শুধু সেই বিটের পিন চালু বা বন্ধ হয়, আর 0 লেখা বিটগুলো কিছুই বদলায় না। ফলে পড়া ছাড়াই একটি লেখায় কাজ শেষ, মাঝখানে interrupt ঢোকার সুযোগ নেই। STM32-র BSRR এর উদাহরণ।যেখানে শিখবেন: পর্ব ৫১
Attribute [[...]]অ্যাট্রিবিউট
দুই জোড়া বর্গবন্ধনীর ভেতরে compiler-কে বাড়তি তথ্য দেওয়া, যেমন [[nodiscard]] বা [[deprecated]]. C23-এ C++-এর মতো এই লেখারীতি স্ট্যান্ডার্ড হয়েছে।যেখানে শিখবেন: পর্ব ৪৭
Automatic variableঅটোমেটিক ভ্যারিয়েবল
সাধারণ local ভ্যারিয়েবল — ফাংশন ঢোকার সময় নিজে থেকে তৈরি হয়, বের হওয়ার সময় নিজে থেকে মুছে যায়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৪
Average caseঅ্যাভারেজ কেস
সাধারণ বা এলোমেলো ইনপুটে একটি অ্যালগরিদম গড়ে কত সময় নেয় তার হিসাব। প্রতিটি নির্দিষ্ট ক্ষেত্রে এর চেয়ে বেশি লাগতে পারে।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৩৯পর্ব ৪০
AVL treeএভিএল ট্রি
প্রথম self-balancing BST, ১৯৬২ সালে Adelson-Velsky ও Landis প্রকাশ করেন। প্রতিটি নোডের দুই দিকের উচ্চতার পার্থক্য এক-এর বেশি হতে দেয় না।যেখানে শিখবেন: পর্ব ৩৫

B

B-treeবি-ট্রি
এমন search tree যার প্রতিটি নোডে অনেকগুলো key আর অনেকগুলো child থাকে — চওড়া কিন্তু খুব কম উঁচু। ডিস্ক থেকে কম বার পড়তে হয় বলে ডেটাবেস আর file system এটি ব্যবহার করে।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৪১পর্ব ৫২
Backpressureব্যাকপ্রেশার
Queue ভরে আসতে থাকলে পেছনের উৎসকে “ধীরে পাঠাও” বা “এখন নয়” সংকেত পাঠানোর কৌশল। এতে queue অসীমভাবে বেড়ে মেমরি শেষ হয়ে যায় না।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৪৯পর্ব ৫০
Backtrace (stack trace)ব্যাকট্রেস
এই মুহূর্তে কোন ফাংশন কোন ফাংশনকে ডেকে এখানে পৌঁছেছে, তার তালিকা — সবচেয়ে ভেতরেরটি #0, তাকে যে ডেকেছে সে #1, এভাবে main পর্যন্ত। Crash-এর জায়গা আর পথ দুটোই বোঝায়।যেখানে শিখবেন: পর্ব ৩১পর্ব ৫৬
Backtrackingব্যাকট্র্যাকিং
একটি পথে এগিয়ে আটকে গেলে শেষ মোড় পর্যন্ত পিছিয়ে এসে অন্য পথ চেষ্টা করা। DFS আর গোলকধাঁধা সমাধানের মূল কৌশল।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৪৪
Backward compatibilityব্যাকওয়ার্ড কম্প্যাটিবিলিটি
নতুন সংস্করণেও পুরোনো কোড আগের মতো চলার নিশ্চয়তা। C কমিটি এটিকে সবচেয়ে বেশি গুরুত্ব দেয়।যেখানে শিখবেন: পর্ব ৪৭
Balanced treeব্যালান্সড ট্রি
যে ট্রির বাঁ আর ডান দিকের উচ্চতা প্রায় সমান থাকে, ফলে height মোট নোডের log-এর কাছাকাছি থাকে আর খোঁজা দ্রুত হয়।যেখানে শিখবেন: পর্ব ৩৫
Bare metalবেয়ার মেটাল
কোনো অপারেটিং সিস্টেম ছাড়া সরাসরি হার্ডওয়্যারের ওপর চলা প্রোগ্রাম। সব কাজ আপনার নিজের কোডকেই সামলাতে হয়।যেখানে শিখবেন: পর্ব ৫১
Barrel shifterব্যারেল শিফটার
CPU-র ভেতরের একটি সার্কিট, যা কয়েকটি স্তরে ১, ২, ৪, ৮… ঘর সরিয়ে যেকোনো পরিমাণ শিফট একটি ধাপেই শেষ করে।যেখানে শিখবেন: পর্ব ০৯
Base addressবেস অ্যাড্রেস
অ্যারের প্রথম ঘরের (index 0) ঠিকানা। বাকি সব ঘরের ঠিকানা এখান থেকে হিসাব হয়: base + i × ঘরের মাপ।যেখানে শিখবেন: পর্ব ১৬পর্ব ২১
Base caseবেস কেস
রিকার্শনের সেই সবচেয়ে ছোট অবস্থা, যার উত্তর সরাসরি জানা — এখানে ফাংশন আর নিজেকে ডাকে না, ফলে ডাকাডাকি থামে।যেখানে শিখবেন: পর্ব ১৫পর্ব ৪১পর্ব ৪২
Behavioural interviewবিহেভিওরাল ইন্টারভিউ
দলে কাজ, মতবিরোধ, ব্যর্থতা বা দায়িত্ব নেওয়ার বাস্তব অভিজ্ঞতা নিয়ে প্রশ্নের ইন্টারভিউ। অতীতের আচরণ দেখে ভবিষ্যতের কাজ বোঝার চেষ্টা।যেখানে শিখবেন: পর্ব ৫৬
Bellman equationবেলম্যান ইকুয়েশন
একটি অবস্থার মূল্য = এখনই পাওয়া পুরস্কার + পরের অবস্থার মূল্য (একটু কমিয়ে ধরা) — এই DP সূত্র; reinforcement learning-এর কেন্দ্রীয় সমীকরণ।যেখানে শিখবেন: পর্ব ৪২
Bellman-Ford algorithmবেলম্যান-ফোর্ড
গ্রাফে একটি vertex থেকে সব vertex-এ সবচেয়ে ছোট পথ বের করার DP অ্যালগরিদম, যা ঋণাত্মক ওজনের edge-ও সামলাতে পারে।যেখানে শিখবেন: পর্ব ৪২
Benchmarkবেঞ্চমার্ক
একটি প্রোগ্রাম বা অ্যালগরিদম আসলে কত সময় বা মেমরি নেয়, তা নিয়ন্ত্রিত পরিবেশে চালিয়ে মেপে দেখা। তত্ত্বের হিসাব বাস্তবে মেলে কি না, তা এভাবেই যাচাই হয়।যেখানে শিখবেন: পর্ব ৩৯পর্ব ৫২
Best caseবেস্ট কেস
সবচেয়ে অনুকূল ইনপুটে একটি অ্যালগরিদম কত সময় নেয় তার হিসাব — যেমন খোঁজা জিনিসটি প্রথম ঘরেই পাওয়া। একা এটি দেখে সিদ্ধান্ত নেওয়া বিপজ্জনক।যেখানে শিখবেন: পর্ব ৩৯
BFS (Breadth-First Search)বিএফএস / ব্রেডথ-ফার্স্ট সার্চ
শুরুর vertex থেকে স্তরে স্তরে খোঁজা — আগে ১ ধাপ দূরের সবাই, তারপর ২ ধাপ দূরের সবাই। একটি queue ব্যবহার করে। ওজনহীন গ্রাফে সবচেয়ে কম edge-এর পথ দেয়।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৩৮পর্ব ৫৪
Big-O notationবিগ-ও নোটেশন
ইনপুট বড় হলে কাজ সর্বোচ্চ কোন হারে বাড়ে, তা লেখার চিহ্ন — যেমন O(n) বা O(n²). ধ্রুবক গুণ আর ছোট পদ বাদ দিয়ে শুধু বৃদ্ধির ধরনটি দেখায়।যেখানে শিখবেন: পর্ব ২১পর্ব ৩৯পর্ব ৪০
Big-Omega (Ω)বিগ-ওমেগা
কাজ অন্তত কোন হারে বাড়বেই, তার নিচের সীমা। যেমন যেকোনো তুলনা-ভিত্তিক সর্টিংয়ের সবচেয়ে খারাপ ক্ষেত্র Ω(n log n).যেখানে শিখবেন: পর্ব ৩৯
Big-Theta (Θ)বিগ-থিটা
যখন ওপরের সীমা আর নিচের সীমা একই হারে — অর্থাৎ কাজ ঠিক ওই হারেই বাড়ে। দৈনন্দিন কথায় মানুষ যখন “O(n)” বলে, প্রায়ই আসলে Θ(n) বোঝায়।যেখানে শিখবেন: পর্ব ৩৯
Binaryবাইনারি
দুই-ভিত্তিক সংখ্যা পদ্ধতি — শুধু ০ আর ১ অঙ্ক দিয়ে সব সংখ্যা লেখা হয়। কম্পিউটার ভেতরে এভাবেই সব রাখে।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৯
Binary fileবাইনারি ফাইল
যে ফাইলে ডেটা মেমরির byte-রূপেই রাখা হয়, অক্ষরে অনুবাদ না করে। দ্রুত ও ছোট, কিন্তু মানুষ পড়তে পারে না, আর ফরম্যাট নির্দিষ্ট না থাকলে মেশিনভেদে ভুল পড়া হয়।যেখানে শিখবেন: পর্ব ২৪পর্ব ৫৫
Binary heapবাইনারি হিপ
একটি complete binary tree, যেখানে প্রতিটি parent তার সন্তানদের চেয়ে বড় (বা ছোট)। সাধারণত একটি অ্যারেতে রাখা হয়, আর সবচেয়ে বড় (বা ছোট) মান সবসময় root-এ থাকে।যেখানে শিখবেন: পর্ব ৩৬
Binary literal (0b…)বাইনারি লিটারাল
সংখ্যা সরাসরি বাইনারিতে লেখা, যেমন 0b1010 মানে 10. বহু বছর GCC-র extension ছিল, C23-এ স্ট্যান্ডার্ড হয়েছে।যেখানে শিখবেন: পর্ব ৪৭
Binary search on the answerবাইনারি সার্চ অন দ্য আনসার
কোনো array-তে নয়, সম্ভাব্য উত্তরের পরিসরে binary search করা। একটি monotonic হ্যাঁ/না প্রশ্ন দিয়ে সবচেয়ে ছোট বা সবচেয়ে বড় চলার মতো উত্তর খোঁজা হয়।যেখানে শিখবেন: পর্ব ৪১পর্ব ৫৬
Binary Search Tree (BST)বাইনারি সার্চ ট্রি
এমন binary tree যেখানে প্রতিটি নোডের বাঁ দিকের পুরো subtree-তে ছোট মান আর ডান দিকের পুরো subtree-তে বড় মান থাকে। ফলে প্রতিটি তুলনায় অর্ধেক অংশ বাদ দেওয়া যায়।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৭পর্ব ৪১
Binary treeবাইনারি ট্রি
যে ট্রিতে প্রতিটি নোডের সর্বোচ্চ দুটি child থাকে — একটি left, একটি right.যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৬
bind()বাইন্ড
একটি socket-কে নির্দিষ্ট IP address ও port-এর সাথে জুড়ে দেওয়ার ফাংশন — server সাধারণত এভাবে নিজের port নেয়।যেখানে শিখবেন: পর্ব ৫০
Birthday paradoxবার্থডে প্যারাডক্স
মাত্র ২৩ জনের মধ্যেই দুজনের জন্মদিন মেলার সম্ভাবনা প্রায় ৫০% — অর্থাৎ টেবিল খুব কম ভরা অবস্থাতেই প্রথম collision ঘটে যায়।যেখানে শিখবেন: পর্ব ৩৭
Bitবিট
তথ্যের সবচেয়ে ছোট একক — যার মান হয় ০, নয়তো ১। নামটি এসেছে binary digit থেকে।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৭পর্ব ০৯
Bit fieldবিট ফিল্ড
struct-এর এমন member, যার মাপ বিট গুনে ঠিক করা হয়, যেমন : 1 বা : 3. ছোট ছোট হ্যাঁ/না তথ্য অল্প জায়গায় রাখতে কাজে লাগে।যেখানে শিখবেন: পর্ব ২২
Bit flagবিট ফ্ল্যাগ
একটি সংখ্যার একেকটি বিটকে একেকটি হ্যাঁ/না সুইচ হিসেবে ব্যবহার করা — যেমন ফাইলের পড়া, লেখা, চালানোর অনুমতি।যেখানে শিখবেন: পর্ব ০৭পর্ব ০৯পর্ব ২২
Bit maskবিট মাস্ক
নির্দিষ্ট কয়েকটি বিট বেছে নেওয়ার জন্য বানানো একটি সংখ্যা। & দিয়ে বিট পরীক্ষা, | দিয়ে চালু, & ~ দিয়ে বন্ধ করা হয়।যেখানে শিখবেন: পর্ব ০৭পর্ব ০৯পর্ব ২২
Bit packingবিট প্যাকিং
কয়েকটি ছোট মান শিফট আর OR দিয়ে একটি সংখ্যার আলাদা আলাদা বিট-অংশে পাশাপাশি বসানো — যেমন একটি রঙের লাল, সবুজ, নীল।যেখানে শিখবেন: পর্ব ০৯
Bit shift (<< >>)বিট শিফট
সব বিটকে বাঁয়ে বা ডানে সরিয়ে দেওয়া। ধনাত্মক সংখ্যায় এক ঘর বাঁয়ে সরানো মানে ২ দিয়ে গুণ, ডানে সরানো মানে ২ দিয়ে ভাগ।যেখানে শিখবেন: পর্ব ০৭পর্ব ০৯পর্ব ৪৩
Bit-bandingবিট-ব্যান্ডিং
ARM Cortex-M3 ও M4-এর কিছু চিপের সুবিধা, যেখানে একটি বিশেষ ঠিকানা-অঞ্চলের প্রতিটি word একটি একক বিটের সাথে যুক্ত। সেখানে লিখলে একটি বিট একবারেই বদলায়।যেখানে শিখবেন: পর্ব ৫১
Bitboardবিটবোর্ড
দাবার ৬৪টি ঘরকে একটি ৬৪ বিটের সংখ্যার ৬৪টি বিট হিসেবে রাখার কৌশল। এক অপারেশনেই পুরো বোর্ডের হিসাব হয়।যেখানে শিখবেন: পর্ব ০৯
_BitInt(N)বিট-ইন্ট
C23-এর টাইপ, যেখানে পূর্ণসংখ্যার বিট-সংখ্যা নিজে ঠিক করা যায়, যেমন _BitInt(12). FPGA ও বিশেষ হার্ডওয়্যারের কাজে উপকারী।যেখানে শিখবেন: পর্ব ৪৭
Bitsetবিটসেট
অনেকগুলো হ্যাঁ/না মান পাশাপাশি বিটে রাখার ডেটা স্ট্রাকচার — প্রতিটি মানের জন্য মাত্র এক বিট, তাই খুব কম মেমরি লাগে।যেখানে শিখবেন: পর্ব ০৯
Bitwise operatorবিটওয়াইজ অপারেটর
সংখ্যার প্রতিটি বিটের ওপর আলাদা আলাদা কাজ করে এমন অপারেটর — & | ^ ~ << >>.যেখানে শিখবেন: পর্ব ০৭পর্ব ০৯
Blockব্লক
দুটি বাঁকা বন্ধনী { }-এর ভেতরে রাখা কয়েকটি statement-এর দল। পুরো দলটি একসাথে একটি ইউনিট হিসেবে কাজ করে।যেখানে শিখবেন: পর্ব ০৪পর্ব ১১পর্ব ১৩
Block scopeব্লক স্কোপ
দুটি বাঁকা বন্ধনীর ভেতরে ঘোষণা করা নামের এলাকা — ঘোষণার লাইন থেকে সেই block শেষ হওয়া পর্যন্ত নামটি দেখা যায়।যেখানে শিখবেন: পর্ব ১৪
Bloom filterব্লুম ফিল্টার
একটি bitset আর কয়েকটি hash function দিয়ে তৈরি ছোট ডেটা স্ট্রাকচার, যা বলে কোনো জিনিস “নিশ্চিতভাবে নেই” অথবা “সম্ভবত আছে”। ১৯৭০ সালে Burton Bloom প্রস্তাব করেন।যেখানে শিখবেন: পর্ব ০৯
Boolean (bool)বুলিয়ান
শুধু দুটি মান নিতে পারে এমন টাইপ — সত্য (true) বা মিথ্যা (false). C-তে <stdbool.h> থেকে পাওয়া যায়; ভেতরে এগুলো 1 আর 0.যেখানে শিখবেন: পর্ব ১১
Bootloaderবুটলোডার
চিপ চালু হলে সবার আগে চলা ছোট একটি প্রোগ্রাম, যা USB বা serial লাইন দিয়ে নতুন firmware নিয়ে flash-এ লিখে দিতে পারে, আলাদা programmer যন্ত্র ছাড়াই।যেখানে শিখবেন: পর্ব ৫১
Botnetবটনেট
হ্যাকারের নিয়ন্ত্রণে চলে যাওয়া হাজার হাজার যন্ত্রের একটি দল, যাদের একসাথে কোনো সার্ভারে আক্রমণ চালাতে বা স্প্যাম পাঠাতে ব্যবহার করা হয়।যেখানে শিখবেন: পর্ব ৫১
Bottom-up DPবটম-আপ
সবচেয়ে ছোট উপ-সমস্যা থেকে শুরু করে লুপ দিয়ে ক্রমানুসারে টেবিল ভরা, যাতে প্রতিটি ঘর ভরার সময় দরকারি ঘরগুলো আগেই তৈরি থাকে।যেখানে শিখবেন: পর্ব ৪২
Boundary valueবাউন্ডারি ভ্যালু
নিয়মের সীমানার ঠিক ওপরের বা নিচের মান, যেমন ৮০ আর ৭৯. এসব মানেই সবচেয়ে বেশি বাগ লুকিয়ে থাকে।যেখানে শিখবেন: পর্ব ১১পর্ব ২৩পর্ব ৩২
Bounds checkingবাউন্ডস চেকিং
প্রতিবার অ্যারের ঘর ছোঁয়ার আগে index বৈধ সীমার ভেতরে কি না যাচাই করা। Java, Python, Rust এটি করে; C নিজে থেকে করে না।যেখানে শিখবেন: পর্ব ১৬পর্ব ২৮পর্ব ৪৬
Branch coverageব্রাঞ্চ কভারেজ
পরীক্ষার সময় কোডের প্রতিটি সিদ্ধান্তের প্রতিটি পথ অন্তত একবার চলেছে কি না, তার হিসাব।যেখানে শিখবেন: পর্ব ১১পর্ব ৩২পর্ব ৫২
Branch predictionব্রাঞ্চ প্রেডিকশন
শর্তের ফল জানার আগেই CPU-র অনুমান করা যে কোন পথে যেতে হবে, যাতে কাজ না থামে। অনুমান ভুল হলে কিছু সময় নষ্ট হয়।যেখানে শিখবেন: পর্ব ১১
breakব্রেক
লুপকে সঙ্গে সঙ্গে থামিয়ে লুপের পরের লাইনে নিয়ে যাওয়ার নির্দেশ।যেখানে শিখবেন: পর্ব ১২পর্ব ৫৫
Breakpointব্রেকপয়েন্ট
কোডের যে লাইনে debugger-কে “এখানে থামো” বলে দেওয়া হয়।যেখানে শিখবেন: পর্ব ০৩পর্ব ৩১
Brute forceব্রুট ফোর্স
কোনো চালাকি ছাড়া সব সম্ভাবনা একে একে পরীক্ষা করে উত্তর বের করা। ধীর, কিন্তু সহজ আর নির্ভরযোগ্য — তাই দ্রুত অ্যালগরিদম যাচাইয়ে কাজে লাগে।যেখানে শিখবেন: পর্ব ৩২পর্ব ৪২পর্ব ৪৩
bsearchবি-সার্চ
C standard library-র (stdlib.h) binary search ফাংশন। comparator ব্যবহার করে যেকোনো টাইপের সাজানো array-তে খোঁজে, পেলে সেই ঘরের pointer দেয়, না পেলে NULL.যেখানে শিখবেন: পর্ব ৪১
BSS segmentবি-এস-এস
যে global ও static ভ্যারিয়েবলকে শুরুতে কোনো মান দেওয়া হয়নি (বা শূন্য দেওয়া হয়েছে), সেগুলোর জায়গা। প্রোগ্রাম শুরুর সময় পুরো অংশটি শূন্য দিয়ে ভরা হয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ২০
Bubble sortবাবল সর্ট
পাশাপাশি দুটি উপাদান উল্টো ক্রমে থাকলে জায়গা বদলানো, বারবার — বড় মানগুলো বুদবুদের মতো শেষে চলে যায়। সহজ, কিন্তু ধীর।যেখানে শিখবেন: পর্ব ৪০পর্ব ৫৫
Bucketবাকেট
Hash table-এর array-র একটি ঘর। Hash function যে নম্বর দেয়, চাবিটি সেই bucket-এ যায়; chaining-এ প্রতিটি bucket একটি linked list-এর মাথা।যেখানে শিখবেন: পর্ব ৩৭
Bufferবাফার
লেখা বা ডেটা একবারে পাঠানোর আগে জমিয়ে রাখার অস্থায়ী জায়গা। বারবার অল্প অল্প না পাঠিয়ে একসাথে পাঠালে কাজ দ্রুত হয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ১০পর্ব ২৪
Buffer over-readবাফার ওভার-রিড
নির্দিষ্ট জায়গার শেষ পেরিয়ে পাশের মেমরি থেকে পড়া। এতে গোপন তথ্য বাইরে ফাঁস হতে পারে — Heartbleed এমনই একটি ত্রুটি ছিল।যেখানে শিখবেন: পর্ব ১৬পর্ব ১৯পর্ব ৪৬
Buffer overflowবাফার ওভারফ্লো
নির্দিষ্ট মাপের জায়গায় তার চেয়ে বেশি ডেটা লিখে পাশের মেমরি নষ্ট করে ফেলা। হ্যাকারদের পুরোনো ও প্রিয় একটি পথ।যেখানে শিখবেন: পর্ব ০১পর্ব ১০পর্ব ১২
Bufferingবাফারিং
লেখা সাথে সাথে না পাঠিয়ে কিছুক্ষণ buffer-এ জমিয়ে একবারে পাঠানোর কৌশল। এতে কাজ দ্রুত হয়, কিন্তু লেখা কিছুটা দেরিতে দেখা যেতে পারে।যেখানে শিখবেন: পর্ব ১০পর্ব ৩১পর্ব ৪৪
Bugবাগ
প্রোগ্রামের ভুল — যার কারণে প্রোগ্রাম ভুল ফল দেয় বা হঠাৎ বন্ধ হয়ে যায়।যেখানে শিখবেন: পর্ব ০২পর্ব ৩০পর্ব ৩১
Build systemবিল্ড সিস্টেম
যে টুল হিসাব রাখে কোন ফাইল থেকে কোনটি তৈরি হয়, আর কোন কমান্ড কোন ক্রমে চালাতে হবে — যেমন Make, CMake, Ninja.যেখানে শিখবেন: পর্ব ২৯পর্ব ৫২
Busy-waitবিজি-ওয়েট
কিছু না করে শুধু একটি লুপ ঘুরিয়ে সময় নষ্ট করে অপেক্ষা করা। সহজ, কিন্তু অপেক্ষার পুরো সময় CPU আর কোনো কাজ করতে পারে না।যেখানে শিখবেন: পর্ব ৫১
Byteবাইট
পাশাপাশি ৮টি বিটের একটি দল। মেমরি ও ফাইলের আকার সাধারণত বাইটেই মাপা হয়।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৯পর্ব ১৬
Byte streamবাইট স্ট্রিম
একটানা byte-এর স্রোত, যেখানে বার্তার শুরু-শেষের কোনো চিহ্ন থাকে না। TCP ঠিক এমন স্রোত দেয়।যেখানে শিখবেন: পর্ব ৫০
Bytecodeবাইটকোড
মানুষের লেখা কোড আর মেশিন কোডের মাঝামাঝি একটি সরল নির্দেশের রূপ। Python ও Java প্রথমে কোডকে এই রূপে আনে, তারপর চালায়।যেখানে শিখবেন: পর্ব ০১

C

C runtime startup codeস্টার্টআপ কোড
main-এর আগে নিজে থেকে চলা ছোট একটি কোড, যা linker আপনার প্রোগ্রামে জুড়ে দেয়। প্রস্তুতি শেষ করে এটি main-কে ডাকে। Linux-এ এর শুরুর নাম সাধারণত _start.যেখানে শিখবেন: পর্ব ০৪পর্ব ৫১
C standard (C89 … C23)সি স্ট্যান্ডার্ড
C ভাষার আনুষ্ঠানিক নিয়মের বই, যা আন্তর্জাতিক কমিটি প্রকাশ করে। নামের সংখ্যাটি প্রকাশের বছর বোঝায় — যেমন C99 মানে ১৯৯৯ সালের সংস্করণ।যেখানে শিখবেন: পর্ব ০১পর্ব ২৬পর্ব ৪৬
C standard libraryস্ট্যান্ডার্ড লাইব্রেরি
সব C compiler-এর সাথে আসা রেডিমেড ফাংশনের সংগ্রহ, যেমন printf, strlen. ভাষার নিয়ম-বইয়েই (standard) এর তালিকা দেওয়া আছে।যেখানে শিখবেন: পর্ব ০৪পর্ব ১৯পর্ব ২৬
C10K problemসি-টেন-কে প্রবলেম
একটি server কীভাবে একসাথে দশ হাজার client সামলাবে — ১৯৯৯ সালের দিকে তোলা এই প্রশ্ন event-driven server নকশার জন্ম দেয়।যেখানে শিখবেন: পর্ব ৫০
C11সি ইলেভেন
২০১১ সালের C স্ট্যান্ডার্ড। _Static_assert, _Generic, thread ও atomic যোগ হয়, আর বিপজ্জনক gets() পুরোপুরি বাদ পড়ে।যেখানে শিখবেন: পর্ব ৪৭
C17 (C18)সি সেভেনটিন
C11-এর ভুল সংশোধনের সংস্করণ, প্রকাশ ২০১৮ সালে। নতুন বৈশিষ্ট্য প্রায় নেই, তাই একে কখনো C18-ও বলা হয়।যেখানে শিখবেন: পর্ব ৪৭
C23সি টোয়েন্টি-থ্রি
সর্বশেষ প্রকাশিত C স্ট্যান্ডার্ড (ISO/IEC 9899:2024, প্রকাশ ২০২৪ সালে)। bool ও nullptr শব্দ, constexpr, typeof, [[attribute]], 0b লিটারাল ইত্যাদি এনেছে।যেখানে শিখবেন: পর্ব ৪৭
C2yসি টু-ওয়াই
C23-এর পরের স্ট্যান্ডার্ডের অস্থায়ী নাম। বছর এখনো ঠিক হয়নি বলে শেষ অঙ্কের জায়গায় y লেখা হয়।যেখানে শিখবেন: পর্ব ৪৭
C99সি নাইনটি-নাইন
১৯৯৯ সালের C স্ট্যান্ডার্ড। // মন্তব্য, যেকোনো জায়গায় ঘোষণা, stdint.h, stdbool.h, designated initializer, VLA, inline, restrict — আধুনিক C-এর আসল শুরু।যেখানে শিখবেন: পর্ব ৪৭
Cache (CPU cache)ক্যাশ
CPU-র খুব কাছে থাকা ছোট কিন্তু খুব দ্রুত মেমরি, যেখানে সম্প্রতি ব্যবহৃত ডেটার কপি রাখা হয়, যাতে বারবার ধীর RAM-এ যেতে না হয়।যেখানে শিখবেন: পর্ব ১৬পর্ব ৩৭পর্ব ৩৯
Cache (software)ক্যাশ
একবার হিসাব করা বা আনা ফল মনে রেখে দেওয়ার জায়গা, যাতে একই প্রশ্ন আবার এলে নতুন করে কাজ না করে সরাসরি উত্তর দেওয়া যায়।যেখানে শিখবেন: পর্ব ৩৭
Cache lineক্যাশ লাইন
CPU মেমরি থেকে একবারে যত বাইটের একটি টুকরো cache-এ আনে (সাধারণত ৬৪ বাইট)। কাছাকাছি রাখা ডেটা তাই একসাথে দ্রুত পাওয়া যায়।যেখানে শিখবেন: পর্ব ১৬পর্ব ২১পর্ব ২২
Cache missক্যাশ মিস
CPU যে ডেটা চাইল তা cache-এ নেই, তাই অনেক ধীর মূল মেমরি (RAM) থেকে আনতে হলো। এ সময় CPU-কে বহু cycle অপেক্ষা করতে হয়।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৬পর্ব ৩৭
Call stackকল স্ট্যাক
ফাংশন ডাকার হিসাব রাখার স্তূপ। প্রতিটি ডাকের জন্য একটি stack frame ওপরে যোগ হয়, ফাংশন ফিরলে সেটি সরে যায় — যে ফাংশন সবশেষে ডাকা হয়েছে, সেটিই সবার আগে শেষ হয়।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৩পর্ব ১৫
Call treeকল ট্রি
কোন ডাক কোন কোন ডাক তৈরি করল, তা গাছের ডালপালার মতো এঁকে দেখানো ছবি। এতে বোঝা যায় মোট কতগুলো ডাক হলো আর কোন কাজ বারবার হলো।যেখানে শিখবেন: পর্ব ১৫পর্ব ৩৯পর্ব ৪২
Callbackকলব্যাক
যে ফাংশনের ঠিকানা আপনি অন্য কোনো কোড বা library-কে দেন, যাতে সে প্রয়োজনমতো বা কোনো ঘটনা ঘটলে পরে সেটি ডাকে।যেখানে শিখবেন: পর্ব ২৮পর্ব ৩২পর্ব ৫৫
calloc()ক্যালক
malloc-এর মতোই, তবে কয়টি জিনিস আর প্রতিটির আকার আলাদা করে নেয় এবং পুরো block শূন্য দিয়ে ভরে দেয়। গুণফল overflow হলে ব্যর্থ হয়ে NULL ফেরত দেয়।যেখানে শিখবেন: পর্ব ২০পর্ব ৫৫পর্ব ৫৬
CAN busক্যান বাস
গাড়ির ECU-গুলো যে দুই তারের নেটওয়ার্কে একে অপরকে বার্তা পাঠায়। Bosch ১৯৮০-এর দশকে এটি তৈরি করে।যেখানে শিখবেন: পর্ব ৫১
Capacityক্যাপাসিটি
dynamic array-র জন্য মোট কতগুলো ঘরের জায়গা নেওয়া আছে। আর size হলো তার মধ্যে কতগুলো ঘর এখন সত্যিই ভরা।যেখানে শিখবেন: পর্ব ২০পর্ব ৩৯
Capstone projectক্যাপস্টোন প্রজেক্ট
কোর্সের শেষে করা বড় প্রজেক্ট, যেখানে আলাদা আলাদা শেখা জিনিস একসাথে জুড়ে একটি পূর্ণ সিস্টেম বানাতে হয়।যেখানে শিখবেন: পর্ব ৫২
case labelকেস লেবেল
switch-এর ভেতরে একটি ধ্রুবক মানের চিহ্ন, যেমন case 2:. মান মিললে কাজ এখান থেকে শুরু হয়।যেখানে শিখবেন: পর্ব ১১
Case-sensitiveকেস-সেনসিটিভ
বড় হাতের আর ছোট হাতের অক্ষরকে আলাদা ধরা। C-তে main আর Main সম্পূর্ণ দুটি আলাদা নাম।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৬
Castকাস্ট
প্রোগ্রামারের লিখে দেওয়া টাইপ বদল — মানের সামনে বন্ধনীতে টাইপের নাম, যেমন (double)total.যেখানে শিখবেন: পর্ব ০৬পর্ব ০৮পর্ব ২৮
cdeclসি-ডিক্লেয়ার
একটি ছোট টুল (cdecl.org ওয়েবসাইটেও আছে), যা জটিল C ঘোষণাকে সাধারণ ইংরেজি বাক্যে অনুবাদ করে দেয়, আবার উল্টোটাও করতে পারে।যেখানে শিখবেন: পর্ব ৪৫
Checked arithmeticচেকড অ্যারিথমেটিক
এমন যোগ-বিয়োগ-গুণ, যা ফল জায়গায় না আঁটলে (overflow হলে) সেটি জানিয়ে দেয়। যেমন GCC-র __builtin_mul_overflow বা C23-এর ckd_mul.যেখানে শিখবেন: পর্ব ৪৬
Checksumচেকসাম
ডেটা থেকে হিসাব করে বসানো একটি ছোট যাচাই-মান। ডেটার কোনো অঙ্ক বা byte ভুলবশত বদলালে হিসাব আর মেলে না, ফলে ভুল ধরা পড়ে।যেখানে শিখবেন: পর্ব ০৯পর্ব ৪৩
Child nodeচাইল্ড নোড
কোনো নোডের ঠিক নিচে শাখা দিয়ে জোড়া নোড। Binary tree-তে একটি নোডের সর্বোচ্চ দুটি child থাকে — left আর right.যেখানে শিখবেন: পর্ব ৩৫
Child processচাইল্ড প্রসেস
অন্য একটি প্রসেসের fork() থেকে জন্ম নেওয়া প্রসেস। জন্মের মুহূর্তে এটি parent-এর প্রায় হুবহু কপি, কিন্তু নিজস্ব PID ও নিজস্ব মেমরি নিয়ে চলে।যেখানে শিখবেন: পর্ব ৪৮
CI (Continuous Integration)সিআই
প্রতিবার কোড জমা দিলেই একটি সার্ভার নিজে থেকে build ও test চালায়। কোনো ধাপের exit status শূন্য না হলেই কাজটি “ব্যর্থ” দেখায়।যেখানে শিখবেন: পর্ব ০৪পর্ব ২৩পর্ব ২৫
Circular buffer (ring buffer)সার্কুলার বাফার
নির্দিষ্ট মাপের একটি array, যার শেষ ঘরের পরে আবার প্রথম ঘর আসে — যেন ঘরগুলো একটি গোল আংটিতে সাজানো। ভাগশেষ (%) দিয়ে index ঘুরিয়ে আনা হয়, তাই কোনো মান সরাতে হয় না।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৪৯
Circular linked listসার্কুলার লিংকড লিস্ট
যে লিংকড লিস্টের শেষ node-এর next আবার প্রথম node-কে দেখায় — শেষ বলে কিছু নেই, ঘুরে ঘুরে চলে।যেখানে শিখবেন: পর্ব ৩৩
Clangক্ল্যাং
আরেকটা জনপ্রিয় C compiler, Mac-এ ডিফল্ট। এর error message সাধারণত বেশি পরিষ্কার।যেখানে শিখবেন: পর্ব ০৩
Clarifying questionক্ল্যারিফাইং কোয়েশ্চেন
সমাধান শুরুর আগে সমস্যার অস্পষ্ট দিক পরিষ্কার করার প্রশ্ন, যেমন ইনপুটের সীমা, খালি ইনপুট বা ফেরত মানের ধরন।যেখানে শিখবেন: পর্ব ৫৬
Cleanupক্লিনআপ
কাজ শেষে বা মাঝপথে ব্যর্থ হলে নেওয়া রিসোর্স — মেমরি, খোলা ফাইল, সংযোগ — ফেরত দেওয়ার অংশ।যেখানে শিখবেন: পর্ব ৩০
CLI (Command-Line Interface)সিএলআই
যে প্রোগ্রাম মাউস-বোতাম ছাড়া শুধু terminal-এ লেখা পড়ে আর লেখা দেখিয়ে কাজ করে। মেনু, প্রশ্ন, উত্তর — সবই অক্ষরে।যেখানে শিখবেন: পর্ব ২৩পর্ব ২৫
Clientক্লায়েন্ট
যে প্রোগ্রাম নিজে উদ্যোগ নিয়ে server-এর সাথে যোগাযোগ শুরু করে ও কিছু চায় — যেমন ব্রাউজার বা মোবাইল অ্যাপ।যেখানে শিখবেন: পর্ব ৫০
Clock speedক্লক স্পিড
CPU প্রতি সেকেন্ডে কতবার এক ধাপ কাজ করে, তার হিসাব। ১৬ MHz মানে সেকেন্ডে ১ কোটি ৬০ লাখ clock cycle.যেখানে শিখবেন: পর্ব ৫১
clock()ক্লক ফাংশন
time.h-এর একটি ফাংশন, যা প্রোগ্রাম এ পর্যন্ত কতটা CPU সময় খরচ করেছে তা ফেরত দেয়। দুটি clock() মানের পার্থক্যকে CLOCKS_PER_SEC দিয়ে ভাগ করলে সেকেন্ড পাওয়া যায়।যেখানে শিখবেন: পর্ব ৩৯
CMakeসিমেক
একটি build generator — আপনার প্রজেক্টের বর্ণনা পড়ে প্রতিটি প্ল্যাটফর্মের জন্য উপযুক্ত build ফাইল (Makefile, Ninja বা Visual Studio প্রজেক্ট) তৈরি করে দেয়।যেখানে শিখবেন: পর্ব ২৯
CMSISসিএমসিস
ARM-এর তৈরি Cortex-M চিপের জন্য একটি সাধারণ C কাঠামো: রেজিস্টারের struct, interrupt-এর নাম আর __disable_irq()-এর মতো ছোট ফাংশন, যাতে বিভিন্ন কোম্পানির চিপে একই ধাঁচে কোড লেখা যায়।যেখানে শিখবেন: পর্ব ৫১
Code coverageকোড কভারেজ
Test চলার সময় কোডের কত অংশ (লাইন বা শাখা) অন্তত একবার চলেছে তার মাপ। কোথায় test নেই তা দেখায়, কিন্তু সঠিকতা প্রমাণ করে না।যেখানে শিখবেন: পর্ব ৩২
Code pointকোড পয়েন্ট
Unicode-এ একটি অক্ষরের নির্দিষ্ট নম্বর, লেখা হয় U+ দিয়ে। যেমন বাংলা অ-এর code point হলো U+0985.যেখানে শিখবেন: পর্ব ০৫পর্ব ১৯পর্ব ২৬
Code reviewকোড রিভিউ
কোড চূড়ান্ত করার আগে অন্য কেউ (বা আপনি নিজে, নতুন চোখে) মনোযোগ দিয়ে পড়ে ভুল, ঝুঁকি আর অস্পষ্টতা খোঁজা।যেখানে শিখবেন: পর্ব ২৩পর্ব ৪৬পর্ব ৫২
Coffman conditionsকফম্যান কন্ডিশনস
Deadlock ঘটার চারটি শর্ত — mutual exclusion, hold and wait, no preemption আর circular wait. যেকোনো একটি ভাঙলেই deadlock অসম্ভব।যেখানে শিখবেন: পর্ব ৪৯
Coin change problemকয়েন চেঞ্জ
কয়েকটি মানের কয়েন যত খুশি ব্যবহার করে একটি নির্দিষ্ট টাকা সবচেয়ে কম কয়েনে (বা কত উপায়ে) মেলানো যায়, তা বের করার ক্লাসিক DP সমস্যা।যেখানে শিখবেন: পর্ব ৪২পর্ব ৪৩
Collisionকলিশন
দুটি আলাদা চাবি একই bucket-এ পড়া। চাবি ঘরের চেয়ে বেশি হলে এটি এড়ানো অসম্ভব, তাই প্রতিটি hash table-কে এটি সামলাতে হয়।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৫২পর্ব ৫৫
Column-major orderকলাম-মেজর অর্ডার
টেবিল মেমরিতে রাখার রীতি, যেখানে প্রথম কলামের সব ঘর আগে, তারপর দ্বিতীয় কলাম। Fortran, MATLAB আর R এই রীতি মানে; C মানে না।যেখানে শিখবেন: পর্ব ২১
Command injectionকমান্ড ইনজেকশন
ব্যবহারকারীর ইনপুট যাচাই না করে shell কমান্ডের ভেতরে বসালে আক্রমণকারী ; বা && দিয়ে নিজের কমান্ড জুড়ে দিতে পারে। এটি অন্যতম পুরোনো ও বিপজ্জনক নিরাপত্তা-ত্রুটি।যেখানে শিখবেন: পর্ব ৪৮
Command-line argumentকমান্ড-লাইন আর্গুমেন্ট
প্রোগ্রাম চালানোর সময় তার নামের পরে লেখা শব্দগুলো, যেমন ./marks report.txt-এ report.txt. প্রোগ্রাম এগুলো argv-এর ভেতর দিয়ে পায়।যেখানে শিখবেন: পর্ব ২৫
Command-line option (flag)কমান্ড-লাইন অপশন
- বা -- দিয়ে শুরু হওয়া আর্গুমেন্ট, যা প্রোগ্রামের আচরণ বদলায়। যেমন -v (বেশি তথ্য দেখাও) বা -n 5 (৫টি দেখাও)।যেখানে শিখবেন: পর্ব ২৫
Commentকমেন্ট
কোডের ভেতরে মানুষের জন্য লেখা নোট। Compiler এটি পুরোপুরি বাদ দেয়। // বা /* … */ দিয়ে লেখা হয়।যেখানে শিখবেন: পর্ব ০৪
Comparatorকম্প্যারেটর
দুটি উপাদানের মধ্যে কে আগে বসবে, তা জানানোর ফাংশন। ঋণাত্মক, শূন্য বা ধনাত্মক সংখ্যা ফেরত দিয়ে সে উত্তর দেয়।যেখানে শিখবেন: পর্ব ২৬পর্ব ২৮পর্ব ৩৬
Comparison sortকম্প্যারিজন সর্ট
যে সাজানোর পদ্ধতি শুধু দুটি উপাদান তুলনা করে (“কে আগে?”) সিদ্ধান্ত নেয়। Insertion, merge আর quicksort — সবই এই ধরনের।যেখানে শিখবেন: পর্ব ৪০
Competitive programmingকম্পিটিটিভ প্রোগ্রামিং
নির্দিষ্ট সময়ের মধ্যে কয়েকটি অ্যালগরিদমিক সমস্যার সঠিক ও দ্রুত সমাধান লেখার প্রতিযোগিতা। একটি জাজ-প্রোগ্রাম লুকানো ইনপুটে চালিয়ে উত্তর যাচাই করে।যেখানে শিখবেন: পর্ব ৪৪
Compilation Error (CE)কম্পাইলেশন এরর
জাজের compiler আপনার কোড compile করতেই পারেনি — ভুল ভাষা বাছাই, বাদ পড়া header বা syntax-এর ভুল।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৫৩
Compileকম্পাইল
সোর্স কোডকে চালানো যায় এমন প্রোগ্রামে বদলানোর পুরো কাজটা। চলতি কথায় “build করা”-ও বলে।
Compilerকম্পাইলার
অনুবাদক প্রোগ্রাম। পুরো C কোড একবারে পড়ে মেশিনের কাছাকাছি ভাষায় (assembly) অনুবাদ করে। ভুল পেলে error দেখায়।যেখানে শিখবেন: পর্ব ০৩পর্ব ৫৫
Compiler builtinকম্পাইলার বিল্ট-ইন
Compiler নিজে যে বিশেষ ফাংশন দেয়, যেমন GCC-র __builtin_popcount. এটি standard C-র অংশ নয়, তাই অন্য compiler-এ না-ও থাকতে পারে।যেখানে শিখবেন: পর্ব ০৯পর্ব ৪৬পর্ব ৪৭
Complete binary treeকমপ্লিট বাইনারি ট্রি
যে binary tree-তে শেষ স্তর ছাড়া প্রতিটি স্তর পুরো ভরা, আর শেষ স্তরের নোডগুলো বাঁ দিক থেকে ফাঁক ছাড়া বসে। এজন্যই একে ফাঁকা ঘর ছাড়া অ্যারেতে রাখা যায়।যেখানে শিখবেন: পর্ব ৩৬
Composite numberকম্পোজিট নাম্বার
যৌগিক সংখ্যা: ১-এর চেয়ে বড় যে সংখ্যাকে ছোট দুটি পূর্ণসংখ্যার গুণফল হিসেবে লেখা যায়, যেমন ১২ = ৩ × ৪.যেখানে শিখবেন: পর্ব ৪৩
Compound assignmentকম্পাউন্ড অ্যাসাইনমেন্ট
হিসাব আর মান বসানো একসাথে লেখার সংক্ষিপ্ত রূপ — x += 5 মানে x = x + 5.যেখানে শিখবেন: পর্ব ০৭
Compound literalকম্পাউন্ড লিটারাল
নাম ছাড়া একটি struct বা array তৈরি করার C99 লেখারীতি, যেমন (struct point){ .x = 3 }. সাধারণত ফাংশনে সরাসরি পাঠাতে কাজে লাগে।যেখানে শিখবেন: পর্ব ৪৭
Computational thinkingকম্পিউটেশনাল থিংকিং
একটি সমস্যাকে এমনভাবে ভাবা ও সাজানো, যাতে মানুষ বা কম্পিউটার ধাপে ধাপে তার সমাধান করতে পারে।যেখানে শিখবেন: পর্ব ০২
Concurrencyকনকারেন্সি
অনেকগুলো কাজ একই সময়ে সামলানোর নকশা — কাজগুলো পালা করে বা একসাথে এগোয়। একটি core-এও সম্ভব, যেমন একজন দোকানি একাই কয়েকটি কাজ ঘুরে ঘুরে করেন।যেখানে শিখবেন: পর্ব ৪৯
Conditionকন্ডিশন
যে প্রশ্নের উত্তর শুধু হ্যাঁ বা না হতে পারে, যেমন marks >= 80. এর ফলেই ঠিক হয় প্রোগ্রাম কোন পথে যাবে।যেখানে শিখবেন: পর্ব ১১
Condition variableকন্ডিশন ভ্যারিয়েবল
একটি thread-কে কোনো অবস্থা বদলানো পর্যন্ত ঘুম পাড়িয়ে রাখার ব্যবস্থা। অন্য thread অবস্থা বদলে signal দিলে সে জাগে। সবসময় একটি mutex-এর সাথে ব্যবহার হয়।যেখানে শিখবেন: পর্ব ৪৯
Conditional compilationকন্ডিশনাল কম্পাইলেশন
#if, #ifdef ইত্যাদি দিয়ে শর্ত অনুযায়ী কোডের অংশ রাখা বা compile-এর আগেই পুরোপুরি বাদ দেওয়া।যেখানে শিখবেন: পর্ব ২৭
Congruence (≡)কনগ্রুয়েন্স
দুটি সংখ্যার m দিয়ে ভাগশেষ সমান হলে তারা m-এর সাপেক্ষে সমান, লেখা হয় a ≡ b (mod m). যেমন ১৭ ≡ ৫ (mod ১২).যেখানে শিখবেন: পর্ব ৪৩
connect()কানেক্ট
Client-এর ফাংশন, যা server-এর IP ও port-এ TCP সংযোগ শুরু করে (handshake চালায়)।যেখানে শিখবেন: পর্ব ৫০
Connected componentকানেক্টেড কম্পোনেন্ট
গ্রাফের এমন একটি অংশ, যার ভেতরের যেকোনো দুটি vertex-এর মধ্যে পথ আছে, কিন্তু বাইরের কারও সাথে কোনো সংযোগ নেই — যেমন মূল ভূখণ্ড থেকে বিচ্ছিন্ন একটি দ্বীপের রাস্তাঘাট।যেখানে শিখবেন: পর্ব ৩৮
constকনস্ট
C-এর একটি keyword. কোনো ভ্যারিয়েবলের আগে লিখলে প্রথম মান দেওয়ার পর সেটি আর বদলানো যায় না; বদলাতে গেলে compiler error দেয়।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৮পর্ব ২৭
const pointer parameterকনস্ট পয়েন্টার প্যারামিটার
const int *a ধরনের parameter. ফাংশন প্রতিশ্রুতি দেয় যে এই ঠিকানা দিয়ে শুধু পড়বে, লিখবে না — ভাঙলে compiler ধরে।যেখানে শিখবেন: পর্ব ১৮পর্ব ৪৫
Const-correctnessকনস্ট-কারেক্টনেস
যে ডেটা বদলানোর কথা নয়, তার প্রতিটি পয়েন্টার ও parameter-এ নিয়ম মেনে const লেখার অভ্যাস। এতে compiler ভুল লেখা ধরে দেয়, আর ফাংশনের চুক্তি পড়েই বোঝা যায়।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৭
Constant time — O(1)কনস্ট্যান্ট টাইম
ইনপুট যত বড়ই হোক, কাজের পরিমাণ একই থাকে। যেমন index জানা থাকলে array-র যেকোনো ঘর সরাসরি পড়া।যেখানে শিখবেন: পর্ব ৩৯
constexprকনস্ট-এক্সপ্রেশন
C23-এ এমন object ঘোষণা করা, যার মান compile করার সময়েই জানা থাকতে হবে। #define-এর বদলে টাইপসহ নিরাপদ ধ্রুবক বানাতে কাজে লাগে। C-তে শুধু object-এর জন্য, ফাংশনের জন্য নয়।যেখানে শিখবেন: পর্ব ৪৭
Constraintsকনস্ট্রেইন্টস
সমস্যায় দেওয়া ইনপুটের সীমা — যেমন n সর্বোচ্চ কত, প্রতিটি সংখ্যা কত বড় হতে পারে। এখান থেকেই বোঝা যায় কত দ্রুত অ্যালগরিদম লাগবে।যেখানে শিখবেন: পর্ব ৩৯পর্ব ৪৪
Containerকন্টেইনার
Docker-এর মতো টুল দিয়ে চালানো এক বা একাধিক সাধারণ প্রসেস, যাদের চারপাশে kernel বেড়া দিয়ে রাখে — নিজস্ব ফাইল, নেটওয়ার্ক আর প্রসেস-তালিকা দেখায়, কিন্তু kernel থাকে host-এর সাথে ভাগ করা।যেখানে শিখবেন: পর্ব ৪৮
container_ofকনটেইনার অফ
Linux kernel-এর একটি macro. একটি struct-এর ভেতরের কোনো member-এর ঠিকানা থেকে offsetof বিয়োগ করে পুরো struct-টির শুরুর ঠিকানা বের করে।যেখানে শিখবেন: পর্ব ৩৩
Context pointer (user data)কনটেক্সট পয়েন্টার
Callback register করার সময় ফাংশনের সাথে দেওয়া একটি বাড়তি void pointer. Library সেটি না খুলেই callback-কে ফেরত দেয়, যাতে callback নিজের তথ্য খুঁজে পায়।যেখানে শিখবেন: পর্ব ২৮
Context switchকনটেক্সট সুইচ
একটি thread থামিয়ে তার register-এর অবস্থা সংরক্ষণ করে আরেকটি thread চালু করা। Operating system এটি খুব দ্রুত করে, তবে প্রতিবার কিছু সময় খরচ হয়।যেখানে শিখবেন: পর্ব ৪৯
Contiguous memoryকন্টিগুয়াস মেমরি
মেমরির একটানা জায়গা, যেখানে ঘরগুলো মাঝে কোনো ফাঁক ছাড়া একটির ঠিক পাশে আরেকটি থাকে। অ্যারে এভাবেই থাকে।যেখানে শিখবেন: পর্ব ১৬পর্ব ২১পর্ব ৩৩
continueকন্টিনিউ
এই ঘোরার বাকি অংশ বাদ দিয়ে লুপের পরের ঘোরায় চলে যাওয়ার নির্দেশ। লুপ থামে না।যেখানে শিখবেন: পর্ব ১২পর্ব ৫৫
Control-Flow Integrity (CFI)কন্ট্রোল-ফ্লো ইন্টিগ্রিটি
একটি নিরাপত্তা কৌশল, যা indirect call বা লাফের ঠিক আগে যাচাই করে যে গন্তব্য একটি বৈধ জায়গা কি না। না হলে প্রোগ্রাম থামিয়ে দেয়।যেখানে শিখবেন: পর্ব ২৮পর্ব ৪৬
Conversion rankকনভার্শন র‍্যাংক
পূর্ণসংখ্যা টাইপগুলোর পদমর্যাদা — char থেকে short, int, long, long long পর্যন্ত। দুই টাইপ মিশলে কে কার দিকে যাবে, তা এটি দিয়ে ঠিক হয়।যেখানে শিখবেন: পর্ব ০৮
Copy-on-write (COW)কপি-অন-রাইট
fork()-এর পর মেমরি সাথে সাথে কপি না করে দুই প্রসেসকে একই পাতা ভাগ করে দেওয়া। কেউ কোনো পাতায় লিখতে গেলে কেবল তখনই সেই পাতাটির আলাদা কপি হয়।যেখানে শিখবেন: পর্ব ৪৮
Core dumpকোর ডাম্প
Crash করার মুহূর্তে প্রোগ্রামের মেমরির একটি ছবি, যা ফাইলে লেখা হয়। পরে gdb ./prog core দিয়ে খুলে দেখা যায় ঠিক কোথায়, কোন অবস্থায় প্রোগ্রাম ভেঙেছিল।যেখানে শিখবেন: পর্ব ৩১
Counterকাউন্টার
যে ভ্যারিয়েবল প্রতিবার এক এক করে বেড়ে বা কমে হিসাব রাখে লুপ কতবার ঘুরল বা কয়টি জিনিস পাওয়া গেল।যেখানে শিখবেন: পর্ব ১২
Counterexampleকাউন্টারএক্সাম্পল
এমন একটি নির্দিষ্ট উদাহরণ, যেখানে কোনো দাবি বা নিয়ম ভুল প্রমাণিত হয়। একটি counterexample-ই একটি নিয়ম বাতিল করার জন্য যথেষ্ট।যেখানে শিখবেন: পর্ব ৪৩পর্ব ৫৬
Counting sortকাউন্টিং সর্ট
প্রতিটি মান কতবার এসেছে তা খোপে গুনে, তারপর খোপগুলো ক্রমে পড়ে সাজানো। তুলনা করে না, তাই মানের পরিসর ছোট হলে খুব দ্রুত।যেখানে শিখবেন: পর্ব ৪০
CPUসিপিইউ
কম্পিউটারের মূল প্রক্রিয়াকরণ চিপ — একের পর এক নির্দেশ পড়ে হিসাব করে। সাধারণ ভাষায় কম্পিউটারের “মস্তিষ্ক”।যেখানে শিখবেন: পর্ব ০১পর্ব ১৬
Critical sectionক্রিটিক্যাল সেকশন
কোডের যে অংশ ভাগ করা ডেটা পড়ে বা বদলায়, তাই এক সময়ে মাত্র একটি thread-এর সেখানে থাকা উচিত।যেখানে শিখবেন: পর্ব ৪৯পর্ব ৫১
Cross-compilerক্রস-কম্পাইলার
এক ধরনের কম্পিউটারে চলে, কিন্তু অন্য ধরনের CPU-র জন্য machine code বানায় এমন compiler. যেমন ল্যাপটপে চলা arm-none-eabi-gcc, যা ARM মাইক্রোকন্ট্রোলারের কোড তৈরি করে।যেখানে শিখবেন: পর্ব ৫১
Cryptographic hashক্রিপ্টোগ্রাফিক হ্যাশ
SHA-256-এর মতো hash, যার ফল থেকে মূল ইনপুট বের করা বা একই ফলের দুটি ইনপুট খোঁজা কার্যত অসম্ভব। ডিজিটাল স্বাক্ষর ও অখণ্ডতা যাচাইয়ে লাগে।যেখানে শিখবেন: পর্ব ৩৭
CSPRNG (Cryptographically secure PRNG)সি-এস-পি-আর-এন-জি
এমন এলোমেলো সংখ্যার উৎস, যার আগের সব আউটপুট দেখেও পরেরটি অনুমান করা যায় না। OTP, পাসওয়ার্ড আর key বানাতে এটিই লাগে; সাধারণত OS দেয়।যেখানে শিখবেন: পর্ব ২৬
CSV (Comma-Separated Values)সি-এস-ভি
টেবিলের মতো ডেটা টেক্সটে রাখার সহজ নিয়ম — প্রতিটি লাইনে একটি record, ঘরগুলো কমা দিয়ে আলাদা। Excel-এ সরাসরি খোলে।যেখানে শিখবেন: পর্ব ২৪
ctype.hসি-টাইপ ডট এইচ
একটি অক্ষর চেনা ও বদলানোর ফাংশনের header — isdigit, isalpha, isspace, toupper. এগুলো একটি বাইট দেখে, বাংলা অক্ষর বোঝে না।যেখানে শিখবেন: পর্ব ২৬
Cycleসাইকেল
এমন একটি পথ যা কয়েকটি edge পেরিয়ে আবার শুরুর vertex-এ ফিরে আসে। Dependency গ্রাফে cycle মানে কাজটি শুরু করাই অসম্ভব।যেখানে শিখবেন: পর্ব ৩৮

D

Dangling elseড্যাংলিং এলস
বাঁকা বন্ধনী ছাড়া nested if-এ else কোন if-এর, তা নিয়ে বিভ্রান্তি। নিয়ম হলো, else যায় সবচেয়ে কাছের জোড়া-না-পাওয়া if-এর সাথে।যেখানে শিখবেন: পর্ব ১১পর্ব ৫৩
Dangling pointerড্যাংলিং পয়েন্টার
এমন pointer, যা একসময় বৈধ বস্তুকে দেখাত কিন্তু বস্তুটি এখন আর নেই — যেমন ফাংশন শেষ হওয়ার পর তার local ভ্যারিয়েবলের ঠিকানা।যেখানে শিখবেন: পর্ব ১৪পর্ব ১৭পর্ব ১৮
Data modelডেটা মডেল
বাস্তবের কোনো জিনিসের কোন কোন তথ্য প্রোগ্রামে রাখা হবে, আর সেগুলো কীভাবে সাজানো থাকবে — তার নকশা। যেমন একজন ছাত্রের নাম, রোল আর GPA একসাথে একটি রেকর্ড।যেখানে শিখবেন: পর্ব ২২পর্ব ২৩
Data raceডেটা রেস
দুটি thread কোনো সুরক্ষা ছাড়া একই মেমরিতে একসাথে হাত দিচ্ছে, আর অন্তত একজন লিখছে। C11 অনুযায়ী এটি undefined behavior.যেখানে শিখবেন: পর্ব ১৪পর্ব ৪৬পর্ব ৪৯
Data segmentডেটা সেগমেন্ট
যে global ও static ভ্যারিয়েবলকে শুরুতেই কোনো মান দেওয়া হয়েছে, সেগুলো এখানে থাকে। প্রোগ্রামের পুরো জীবনজুড়ে টিকে থাকে।যেখানে শিখবেন: পর্ব ১৪পর্ব ২০
Data typeডেটা টাইপ
ভ্যারিয়েবলের ধরন — মেমরিতে কত বাইট জায়গা লাগবে আর সেই বিটগুলোকে কোন নিয়মে পড়া হবে, দুটোই টাইপ ঠিক করে দেয়। যেমন int, double, char.যেখানে শিখবেন: পর্ব ০৬পর্ব ১৭
Datasheet / Reference manualডেটাশিট
চিপ নির্মাতার প্রকাশ করা দলিল, যেখানে প্রতিটি রেজিস্টারের ঠিকানা, প্রতিটি বিটের অর্থ, বিদ্যুতের সীমা আর সময়ের হিসাব লেখা থাকে। Embedded কাজে এটিই চূড়ান্ত সত্য।যেখানে শিখবেন: পর্ব ৫১
Deadlockডেডলক
দুই বা বেশি thread একে অপরের হাতে থাকা জিনিসের জন্য চিরকাল অপেক্ষা করছে, তাই কেউই আর এগোতে পারে না। প্রোগ্রাম crash করে না, শুধু থেমে থাকে।যেখানে শিখবেন: পর্ব ৪৯পর্ব ৫৪
Debouncingডিবাউন্সিং
বাটন চাপার সময় ধাতব সংযোগ কয়েক মিলিসেকেন্ড কাঁপে, তাই একটি চাপ অনেকগুলো চাপের মতো দেখায়। কয়েকবার একই মান না পাওয়া পর্যন্ত পরিবর্তন মেনে না নেওয়ার কৌশলকে debouncing বলে।যেখানে শিখবেন: পর্ব ৫১
Debug symbols (-g)ডিবাগ সিম্বলস
-g দিয়ে compile করলে প্রোগ্রামের ভেতরে রাখা বাড়তি তথ্য — কোন machine instruction কোন লাইনের, কোন ভ্যারিয়েবল কোথায়। এ ছাড়া debugger লাইন নম্বর বা ভ্যারিয়েবলের নাম দেখাতে পারে না।যেখানে শিখবেন: পর্ব ৩১
Debuggerডিবাগার
প্রোগ্রামকে স্লো-মোশনে চালানোর টুল। যেকোনো লাইনে থামিয়ে ভ্যারিয়েবলের মান দেখা যায়। যেমন GDB.যেখানে শিখবেন: পর্ব ০৩পর্ব ২৭পর্ব ৩১
Debuggingডিবাগিং
প্রোগ্রামের ভুল (bug) খুঁজে বের করা, তার আসল কারণ বোঝা আর ঠিক করার পুরো পদ্ধতি। এলোমেলো বদল নয় — পুনরুৎপাদন, পর্যবেক্ষণ, অনুমান আর যাচাইয়ের একটি ধারাবাহিক কাজ।যেখানে শিখবেন: পর্ব ৩১
Decimalডেসিমাল
দশ-ভিত্তিক সংখ্যা পদ্ধতি — ০ থেকে ৯, এই দশটি অঙ্ক দিয়ে লেখা। মানুষ প্রতিদিন যে সংখ্যা ব্যবহার করে।যেখানে শিখবেন: পর্ব ০৫
Decision tableডিসিশন টেবিল
সব সম্ভাব্য অবস্থার মিশ্রণ সারি ধরে লিখে পাশে তার ফল দেখানো টেবিল। নিয়মের ফাঁক ধরতে আর পরীক্ষা বানাতে কাজে লাগে।যেখানে শিখবেন: পর্ব ১১পর্ব ৩২
Decision treeডিসিশন ট্রি
Machine learning-এর একটি মডেল, যেখানে প্রতিটি নোডে একটি হ্যাঁ-না প্রশ্ন আর প্রতিটি leaf-এ একটি সিদ্ধান্ত থাকে।যেখানে শিখবেন: পর্ব ৩৫
Declarationডিক্লারেশন
Compiler-কে একটি নাম আর তার টাইপ জানানো — যেমন extern int total; বা একটি ফাংশনের prototype. শুধু declaration-এ মেমরির ঘর তৈরি হয় না; ঘর তৈরি করে definition. ফাংশনের ভেতরের int age; একসাথে দুটিই — ঘর তৈরি হয়, কিন্তু তাতে কোনো নির্দিষ্ট মান থাকে না।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৬পর্ব ১৭
Decompositionডিকম্পোজিশন
একটি বড় ও জটিল কাজকে ছোট ছোট, আলাদাভাবে সমাধানযোগ্য কাজে ভেঙে ফেলা।যেখানে শিখবেন: পর্ব ০২পর্ব ১৩পর্ব ২৩
Decrease-keyডিক্রিজ-কি
Priority queue-এর ভেতরে থাকা একটি উপাদানের priority কমিয়ে (min-heap-এ এগিয়ে) দেওয়া। Dijkstra-র অ্যালগরিদমে দূরত্ব কমলে এটি লাগে।যেখানে শিখবেন: পর্ব ৩৬
Deduplicationডিডুপ্লিকেশন
একই জিনিসের বাড়তি কপি খুঁজে বের করা বা বাদ দেওয়া — যেমন ফোনবুকে একই নম্বর দুবার থাকলে চিনে ফেলা।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৪০
Default argument promotionডিফল্ট আর্গুমেন্ট প্রমোশন
printf-এর মতো ফাংশনের বাড়তি আর্গুমেন্টে char ও short থেকে int, আর float থেকে double করার নিয়ম। এর বাইরে কোনো রূপান্তর হয় না।যেখানে শিখবেন: পর্ব ০৮পর্ব ২৫
default caseডিফল্ট কেস
switch-এর যে অংশ চলে যখন কোনো case-এর মান মেলে না — অর্থাৎ বাকি সব মানের জন্য।যেখানে শিখবেন: পর্ব ১১
Defensive programmingডিফেন্সিভ প্রোগ্রামিং
বাইরের তথ্যকে সন্দেহের চোখে দেখে, সীমানায় যাচাই করে আর ভুল ঘটার আগেই তা আটকে কোড লেখার অভ্যাস।যেখানে শিখবেন: পর্ব ৩০
Definitely lostডেফিনিটলি লস্ট
Valgrind-এর leak রিপোর্টের সবচেয়ে গুরুতর শ্রেণি: এমন মেমরি-ব্লক যার দিকে আর কোনো pointer নেই, তাই কখনো free করা সম্ভব নয়। এটি নিশ্চিত memory leak.যেখানে শিখবেন: পর্ব ৩১
Definitionডেফিনিশন
যে ঘোষণা আসল বাক্স বা ফাংশনের শরীর তৈরি করে, যেমন int total = 0;. শুধু নাম জানানো declaration থেকে এটি আলাদা।যেখানে শিখবেন: পর্ব ১৪
Definition of doneডেফিনিশন অব ডান
একটি কাজকে “শেষ” বলার আগে যে শর্তগুলো পূরণ হতেই হবে, তার তালিকা। যেমন: warning শূন্য, সব টেস্ট পাস, memory leak নেই।যেখানে শিখবেন: পর্ব ২৩
Degenerate treeডিজেনারেট ট্রি
যে ট্রির প্রতিটি নোডের মাত্র একটি child — দেখতে একটি লাঠি বা linked list-এর মতো। খোঁজার গতি তখন সাধারণ তালিকার মতোই ধীর।যেখানে শিখবেন: পর্ব ৩৫
Degreeডিগ্রি
একটি vertex-এর সাথে কয়টি edge যুক্ত — অর্থাৎ তার প্রতিবেশী কয়জন।যেখানে শিখবেন: পর্ব ৩৮
Denial of service (DoS)ডিনায়াল অব সার্ভিস
এমন আক্রমণ যা কোনো সার্ভার বা সেবাকে এত ব্যস্ত বা অচল করে দেয় যে সাধারণ ব্যবহারকারীরা আর সেবা পান না।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৩৯পর্ব ৪০
Dense graphডেন্স গ্রাফ
যে গ্রাফে প্রায় প্রতিটি vertex অনেকের সাথে যুক্ত — edge-এর সংখ্যা V²-এর কাছাকাছি। এখানে adjacency matrix ভালো চলে।যেখানে শিখবেন: পর্ব ৩৮
Dependency injectionডিপেনডেন্সি ইনজেকশন
একটি ফাংশন যে জিনিসের ওপর নির্ভর করে (ঘড়ি, ফাইল, random), সেটি ভেতরে নিজে না বানিয়ে বাইরে থেকে parameter হিসেবে নেওয়া। এতে test-এ নকল জিনিস পাঠানো যায়।যেখানে শিখবেন: পর্ব ৩২
Deprecatedডেপ্রিকেটেড
এখনো চলে, কিন্তু ব্যবহার না করার পরামর্শ — ভবিষ্যতে বাদ পড়তে পারে। C23-এ [[deprecated]] দিয়ে নিজের ফাংশনকেও এভাবে চিহ্নিত করা যায়।
Depthডেপথ
Root থেকে কোনো নোড পর্যন্ত কয়টি edge পার হতে হয়, সেই সংখ্যা। Root-এর depth শূন্য।যেখানে শিখবেন: পর্ব ৩৫
Deque (double-ended queue)ডেক
দুই মুখ খোলা queue — সামনে ও পেছনে, দুই দিকেই মান যোগ করা ও বের করা যায়। চাইলে stack হিসেবেও, queue হিসেবেও ব্যবহার করা যায়।যেখানে শিখবেন: পর্ব ৩৪
Dequeueডিকিউ
Queue-এর সামনের মানটি বের করে আনার কাজ — লাইনের প্রথম মানুষটির সেবা পেয়ে চলে যাওয়া। নামটি deque (দুই মুখের queue) থেকে আলাদা।যেখানে শিখবেন: পর্ব ৩৪
Dereference (*)ডিরেফারেন্স
Pointer-এ রাখা ঠিকানায় গিয়ে সেখানকার আসল বাক্সটি পড়া বা তাতে লেখা। *p পড়ুন “p-এর ঠিকানায় যা আছে”.যেখানে শিখবেন: পর্ব ১৭পর্ব ৫৫
Designated initializerডেজিগনেটেড ইনিশিয়ালাইজার
শুরুর মান দেওয়ার সময় member-এর নাম ধরে মান বসানো, যেমন .roll = 17. ক্রম ভুলের ভয় থাকে না, আর বাদ পড়া member শূন্য হয়ে যায়।যেখানে শিখবেন: পর্ব ২২
Device driverডিভাইস ড্রাইভার
অপারেটিং সিস্টেম আর একটি নির্দিষ্ট যন্ত্রের (প্রিন্টার, Wi-Fi কার্ড, GPU) মধ্যে দোভাষীর কাজ করে এমন প্রোগ্রাম।যেখানে শিখবেন: পর্ব ০১পর্ব ২৮পর্ব ৪৫
DFS (Depth-First Search)ডিএফএস / ডেপথ-ফার্স্ট সার্চ
একটি পথ ধরে যতদূর যাওয়া যায় গভীরে চলে যাওয়া, পথ ফুরালে পিছিয়ে এসে অন্য পথ ধরা। recursion বা একটি stack দিয়ে লেখা হয়।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৩৮
Diffie–Hellman key exchangeডিফি-হেলম্যান
১৯৭৬ সালের একটি পদ্ধতি, যাতে দুজন খোলা চ্যানেলে কথা বলেও একটি গোপন চাবিতে একমত হতে পারেন। এটি modular exponentiation-এর ওপর চলে।যেখানে শিখবেন: পর্ব ৪৩
Digit separator (')ডিজিট সেপারেটর
বড় সংখ্যা পড়া সহজ করতে অঙ্কের মাঝে একক উদ্ধৃতিচিহ্ন বসানো, যেমন 1'000'000. মানের ওপর কোনো প্রভাব নেই। C23 থেকে।যেখানে শিখবেন: পর্ব ৪৭
Dijkstra's algorithmডাইকস্ট্রার অ্যালগরিদম
ওজনওয়ালা গ্রাফে (ঋণাত্মক ওজন ছাড়া) এক vertex থেকে বাকি সবার সবচেয়ে ছোট পথ বের করার পদ্ধতি। Edsger Dijkstra ১৯৫৬ সালে এটি ভাবেন, প্রকাশ করেন ১৯৫৯ সালে।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৩৮পর্ব ৪৩
Directed graphডিরেক্টেড গ্রাফ
যে গ্রাফে প্রতিটি edge-এর একটি দিক আছে — A থেকে B যাওয়া গেলেই B থেকে A যাওয়া যাবে, এমন নয়। যেমন একমুখী রাস্তা বা Twitter-এ follow করা।যেখানে শিখবেন: পর্ব ৩৮
Directiveডিরেক্টিভ
Preprocessor-কে দেওয়া একটি নির্দেশ, যার লাইন শুরু হয় # চিহ্ন দিয়ে — যেমন #include, #define, #ifdef.যেখানে শিখবেন: পর্ব ২৭
Dispatch tableডিসপ্যাচ টেবিল
ফাংশনের ঠিকানার একটি array. একটি নম্বর বা কোড থেকে index বের করে সরাসরি সঠিক ফাংশন ডাকা হয় — লম্বা switch-এর বিকল্প।যেখানে শিখবেন: পর্ব ২৮পর্ব ৫৬
Distractorডিসট্র্যাক্টর
MCQ-এর জেনেশুনে রাখা ভুল অপশন, যা কোনো প্রচলিত ভুল ধারণা থেকে বানানো হয় বলে দেখতে ঠিক মনে হয়।যেখানে শিখবেন: পর্ব ৫৪
Divide and conquerডিভাইড অ্যান্ড কনকার
বড় সমস্যাকে কয়েকটি ছোট স্বাধীন টুকরোয় ভাগ করা, প্রতিটি টুকরো আলাদাভাবে সমাধান করা, তারপর ফলগুলো জোড়া দেওয়ার কৌশল।যেখানে শিখবেন: পর্ব ১৫পর্ব ৪০পর্ব ৪১
Divisibilityডিভিজিবিলিটি
বিভাজ্যতা: a যদি b-কে নিঃশেষে ভাগ করে (ভাগশেষ শূন্য), তাহলে b হলো a দিয়ে বিভাজ্য। C-তে পরীক্ষা: b % a == 0.যেখানে শিখবেন: পর্ব ৪৩
djb2ডিজেবি টু
Daniel J. Bernstein-এর তৈরি একটি সহজ ও দ্রুত string hash: শুরু 5381, প্রতিটি অক্ষরে h = h * 33 + c. শেখার জন্য চমৎকার, কিন্তু বাইরের ইনপুটের জন্য নিরাপদ নয়।যেখানে শিখবেন: পর্ব ৩৭
DNS (Domain Name System)ডিএনএস
ইন্টারনেটের ফোনবুক — example.com-এর মতো নাম থেকে IP address খুঁজে দেয়।যেখানে শিখবেন: পর্ব ৫০
do-while loopডু-হোয়াইল লুপ
যে লুপ আগে body চালায়, পরে শর্ত দেখে। তাই শর্ত মিথ্যা হলেও অন্তত একবার চলে।যেখানে শিখবেন: পর্ব ১২পর্ব ৫৫
DOM (Document Object Model)ডম
ব্রাউজার একটি HTML পাতাকে মেমরিতে যে ট্রি আকারে রাখে — প্রতিটি ট্যাগ একটি নোড। JavaScript এই ট্রি বদলেই পাতা বদলায়।যেখানে শিখবেন: পর্ব ৩৫
Dot operator (.)ডট অপারেটর
struct ভ্যারিয়েবল থেকে একটি member বের করার চিহ্ন। s.roll মানে s-এর ভেতরের roll.যেখানে শিখবেন: পর্ব ২২
Double evaluationডাবল ইভ্যালুয়েশন
Macro-র সংজ্ঞায় একটি argument একাধিকবার থাকলে সেটি একাধিকবার হিসাব হওয়া — i++ দিলে i দুবার বাড়ে।যেখানে শিখবেন: পর্ব ২৭পর্ব ৫৫
Double freeডাবল ফ্রি
একই block দুবার free করা। এতে allocator-এর নিজের হিসাব নষ্ট হয়; প্রোগ্রাম crash করতে পারে বা হামলার সুযোগ তৈরি হয়।যেখানে শিখবেন: পর্ব ২০পর্ব ৩১পর্ব ৪৬
Doubly linked listডাবলি লিংকড লিস্ট
যে লিংকড লিস্টের প্রতিটি node আগের ও পরের — দুই node-এরই ঠিকানা রাখে। দুই দিকে চলা যায়, আর কোনো node মুছতে আগেরটি খুঁজতে হয় না।যেখানে শিখবেন: পর্ব ৩৩
DP stateডিপি স্টেট
DP টেবিলের একটি ঘর আসলে কোন প্রশ্নের উত্তর, তার পরিষ্কার সংজ্ঞা — যেমন “dp[x] মানে x টাকা মেলাতে সবচেয়ে কম কয়টি কয়েন লাগে”।যেখানে শিখবেন: পর্ব ৪২
Dry run (trace table)ড্রাই রান
কম্পিউটার ছাড়া কাগজে-কলমে কোড লাইন ধরে চালিয়ে দেখা। একটি টেবিলে প্রতি ধাপে প্রতিটি ভ্যারিয়েবলের মান লেখা হয়।যেখানে শিখবেন: পর্ব ৫৩পর্ব ৫৫পর্ব ৫৬
Dummy (sentinel) nodeডামি নোড
তালিকার শুরুতে রাখা একটি ফাঁকা পাহারাদার node, যাতে কোনো ডেটা থাকে না। এটি থাকলে head বদলানোর আলাদা ঝামেলা থাকে না, সব node-কে একই নিয়মে সামলানো যায়।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৫৬
dup2()ডুপ-টু
একটি file descriptor-কে আরেকটি নম্বরের জায়গায় বসানোর system call. যেমন dup2(fd, 1) করলে এরপর stdout-এ লেখা সব ওই fd-তে যায়। Shell-এর redirection ও pipe এভাবেই হয়।যেখানে শিখবেন: পর্ব ৪৮
Dynamic arrayডায়নামিক অ্যারে
এমন array যা দরকার হলে নিজে বড় হয় — জায়গা ফুরালে বড় block নিয়ে পুরোনো ডেটা সেখানে সরিয়ে নেয়। Python-এর list ও C++-এর vector এভাবেই তৈরি।যেখানে শিখবেন: পর্ব ২০পর্ব ৩৩পর্ব ৩৬
Dynamic memoryডায়নামিক মেমরি
প্রোগ্রাম চলার সময় দরকার বুঝে চেয়ে নেওয়া মেমরি। কতটুকু লাগবে তা আগে জানা না থাকলে এটি ব্যবহার হয়, আর কাজ শেষে প্রোগ্রামারকেই ফেরত দিতে হয়।যেখানে শিখবেন: পর্ব ২০পর্ব ৫২পর্ব ৫৫
Dynamic programmingডায়নামিক প্রোগ্রামিং
যেসব সমস্যায় একই ছোট উপ-সমস্যা বারবার আসে, সেগুলোর উত্তর একবার হিসাব করে জমিয়ে রেখে পুরো সমস্যা দ্রুত সমাধানের কৌশল।যেখানে শিখবেন: পর্ব ১৫পর্ব ২১পর্ব ৪১

E

ECU (Electronic Control Unit)ইসিইউ
গাড়ির ভেতরের একেকটি ছোট কম্পিউটার, যা ইঞ্জিন, ব্রেক, এয়ারব্যাগ বা জানালার মতো একটি নির্দিষ্ট অংশ নিয়ন্ত্রণ করে।যেখানে শিখবেন: পর্ব ৫১
Edgeএজ
দুটি vertex-এর মধ্যের একটি সংযোগ — যেমন দুই স্টেশনের মাঝের রেললাইন বা দুজনের বন্ধুত্ব।যেখানে শিখবেন: পর্ব ৩৮
Edgeএজ
দুটি নোডের মধ্যে parent থেকে child-এর সংযোগ। C-তে এটি আসলে একটি pointer.যেখানে শিখবেন: পর্ব ৩৫
Edge caseএজ কেস
সীমানার বা অস্বাভাবিক ইনপুট — যেমন খালি তালিকা, শূন্য, সমান দুটি মান — যেখানে প্রোগ্রাম সবচেয়ে বেশি ভুল করে।যেখানে শিখবেন: পর্ব ০২পর্ব ১২পর্ব ২৩
Edit distanceএডিট ডিসট্যান্স
একটি লেখাকে আরেকটিতে বদলাতে সবচেয়ে কম কয়টি অক্ষর ঢোকানো, মোছা বা বদলানো লাগে। Levenshtein distance নামেও পরিচিত; spell-check-এর মূল উপাদান।যেখানে শিখবেন: পর্ব ৪২
Editorialএডিটোরিয়াল
কনটেস্টের পর আয়োজকদের প্রকাশ করা ব্যাখ্যা — প্রতিটি সমস্যার মূল ভাবনা ও সমাধানের পথ।যেখানে শিখবেন: পর্ব ৪৪
Elementএলিমেন্ট
অ্যারের একটি ঘর এবং তাতে রাখা মান। int marks[5]-এ পাঁচটি element আছে।যেখানে শিখবেন: পর্ব ১৬
Elimination methodএলিমিনেশন মেথড
বাদ দেওয়ার পদ্ধতি — সঠিক উত্তর সরাসরি না খুঁজে প্রতিটি অপশনের পেছনের নিয়ম যাচাই করে ভুলগুলো একে একে কেটে দেওয়া।যেখানে শিখবেন: পর্ব ৫৪
else-if ladderএলস-ইফ ল্যাডার
একের পর এক else if জুড়ে বানানো মই। ওপর থেকে শর্ত দেখা হয়, প্রথম যে শর্ত সত্য শুধু সেটির কাজ চলে।যেখানে শিখবেন: পর্ব ১১
#embedহ্যাশ এমবেড
C23-এর preprocessor নির্দেশ, যা একটি ফাইলের byte-গুলো সরাসরি অ্যারের শুরুর মান হিসেবে বসিয়ে দেয় — যেমন ছবি বা font প্রোগ্রামের ভেতরে রাখা।যেখানে শিখবেন: পর্ব ৪৭
Embedded systemএমবেডেড সিস্টেম
কোনো বড় যন্ত্রের ভেতরে লুকিয়ে থাকা ছোট কম্পিউটার, যা একটি নির্দিষ্ট কাজই করে — যেমন মাইক্রোওয়েভের টাইমার বা গাড়ির ব্রেক নিয়ন্ত্রণ।যেখানে শিখবেন: পর্ব ০১পর্ব ০৭পর্ব ১২
Encodingএনকোডিং
লেখাকে বাইটে রূপান্তরের নিয়ম। যে নিয়মে লেখা হয়েছে, পড়তেও সেই নিয়ম লাগে — না হলে লেখা ভেঙে যায়।যেখানে শিখবেন: পর্ব ০৫পর্ব ১৯
End of options (--)এন্ড অফ অপশনস
শুধু -- লেখা একটি আর্গুমেন্ট, যার মানে “এরপর আর কোনো অপশন নেই”। এর পরের - দিয়ে শুরু শব্দও সাধারণ নাম হিসেবে ধরা হয়।যেখানে শিখবেন: পর্ব ২৫
End pointer (strtol)এন্ড পয়েন্টার
strtol-কে দেওয়া একটি pointer-এর ঠিকানা, যেখানে সে লিখে রাখে কোন অক্ষরে এসে পড়া থামল। এটি দেখে বোঝা যায় পুরো লেখাটি সংখ্যা ছিল কি না।যেখানে শিখবেন: পর্ব ২৫
End-to-end testএন্ড-টু-এন্ড টেস্ট
পুরো প্রোগ্রামকে ব্যবহারকারীর মতো করে চালিয়ে পরীক্ষা — ইনপুট দিয়ে শেষ আউটপুট আর ফলাফল মেলানো। বাস্তবের কাছাকাছি, কিন্তু ধীর।যেখানে শিখবেন: পর্ব ৩২
Endiannessএন্ডিয়াননেস
একাধিক বাইটের একটি সংখ্যা মেমরিতে কোন ক্রমে সাজানো হবে, সেই নিয়ম। little-endian-এ ছোট দিকের বাইট আগে বসে, big-endian-এ বড় দিকের বাইট আগে বসে।যেখানে শিখবেন: পর্ব ০৫পর্ব ২২পর্ব ২৪
Enqueueএনকিউ
Queue-এর পেছনে নতুন একটি মান যোগ করার কাজ — লাইনের শেষে গিয়ে দাঁড়ানো।যেখানে শিখবেন: পর্ব ৩৪
Entry pointএন্ট্রি পয়েন্ট
প্রোগ্রামের প্রবেশদ্বার — আপনার লেখা কোডের যে জায়গা থেকে কাজ শুরু হয়। C-তে এটি main ফাংশন।যেখানে শিখবেন: পর্ব ০৪
enumইনাম
কয়েকটি নির্দিষ্ট পছন্দকে নাম দিয়ে একটি টাইপ বানানো, যেমন TX_SEND, TX_CASHOUT. ভেতরে এগুলো আসলে 0, 1, 2… পূর্ণসংখ্যা।যেখানে শিখবেন: পর্ব ২২পর্ব ২৩পর্ব ২৭
Environment variableএনভায়রনমেন্ট ভ্যারিয়েবল
OS প্রতিটি প্রোগ্রামকে যে নাম-মানের জোড়া দেয়, যেমন PATH বা HOME. C-তে getenv দিয়ে পড়া যায়।যেখানে শিখবেন: পর্ব ২৫পর্ব ২৬
envp (third main parameter)এনভ-পি
কিছু সিস্টেমে main-এর তৃতীয় parameter, যাতে সব environment variable থাকে। এটি standard C নয় — বহনযোগ্য কোডে getenv ব্যবহার করুন।যেখানে শিখবেন: পর্ব ২৫
EOF (end of file)ই-ও-এফ
ইনপুট আর নেই — এই অবস্থার সংকেত। ফাইল শেষ হলে বা terminal-এ Ctrl+D (Windows-এ Ctrl+Z তারপর Enter) চাপলে এটি আসে।যেখানে শিখবেন: পর্ব ১০পর্ব ২৩পর্ব ২৪
epollই-পোল
Linux-এর একটি ব্যবস্থা, যা হাজারো socket-এর মধ্যে শুধু যেগুলোতে এখন ডেটা এসেছে সেগুলোর তালিকা দেয় — event loop server-এর ভিত্তি।যেখানে শিখবেন: পর্ব ৫০
Equivalence classইকুইভ্যালেন্স ক্লাস
ইনপুটের এমন একটি দল, যার সব মান প্রোগ্রামে একই রকম আচরণ পায়। প্রতিটি দল থেকে একটি প্রতিনিধি দিয়ে test করাই যথেষ্ট।যেখানে শিখবেন: পর্ব ৩২
errnoএরনো
একটি global ভ্যারিয়েবল, যেখানে library ফাংশন ব্যর্থ হওয়ার কারণের সংখ্যা রেখে যায় — যেমন ফাইল নেই বা অনুমতি নেই।যেখানে শিখবেন: পর্ব ২৪পর্ব ২৫পর্ব ৩০
Errorএরর
এমন ভুল যার জন্য প্রোগ্রাম তৈরিই হয় না। ঠিক না করা পর্যন্ত এগোনো যাবে না।যেখানে শিখবেন: পর্ব ০৩
Error handlingএরর হ্যান্ডলিং
প্রোগ্রাম চলার সময় কিছু ভুল হলে তা ধরা, জানানো আর সামলানোর ব্যবস্থা — যাতে প্রোগ্রাম ভুল ফল না দেয় বা হঠাৎ ভেঙে না পড়ে।যেখানে শিখবেন: পর্ব ৩০
Error propagationএরর প্রপাগেশন
ভুলের খবর নিচের স্তরের ফাংশন থেকে ধাপে ধাপে ওপরের স্তরে পাঠানো, যতক্ষণ না এমন কোনো স্তরে পৌঁছায় যে সিদ্ধান্ত নিতে পারে।যেখানে শিখবেন: পর্ব ৩০
Escape sequenceএস্কেপ সিকোয়েন্স
ব্যাকস্ল্যাশ (\) দিয়ে শুরু হওয়া বিশেষ সংকেত, যা এমন অক্ষর বোঝায় যা সরাসরি টাইপ করা কঠিন। যেমন \n মানে নতুন লাইন।যেখানে শিখবেন: পর্ব ০৪
Euclidean algorithmইউক্লিডিয়ান অ্যালগরিদম
ইউক্লিডের Elements বইয়ে (খ্রিস্টপূর্ব প্রায় ৩০০ সাল) বর্ণিত GCD বের করার পদ্ধতি: gcd(a, b) = gcd(b, a % b), আর b শূন্য হলে উত্তর a.যেখানে শিখবেন: পর্ব ৪৩পর্ব ৫৫
Event handlerইভেন্ট হ্যান্ডলার
কোনো ঘটনা (যেমন বাটন ক্লিক, কি চাপা) ঘটলে যে callback ফাংশন ডাকা হয়।যেখানে শিখবেন: পর্ব ২৮
Event loopইভেন্ট লুপ
যে চিরস্থায়ী লুপ বারবার কোনো ঘটনার অপেক্ষা করে আর এলে সাড়া দেয়। সার্ভার ও অ্যাপে প্রচলিত।যেখানে শিখবেন: পর্ব ১২পর্ব ২৩পর্ব ৪৯
Event queueইভেন্ট কিউ
ভবিষ্যতে যে কাজ বা ঘটনাগুলো ঘটবে, সময় অনুযায়ী সেগুলোর priority queue. সবচেয়ে আগের সময়ের ঘটনাটি সবার আগে বের হয়।যেখানে শিখবেন: পর্ব ৩৬
Exceptionএক্সেপশন
C++, Java, Python-এর মতো ভাষায় ভুল জানানোর ব্যবস্থা, যেখানে ভুলটি নিজে থেকেই ফাংশনের পর ফাংশন পেরিয়ে ওপরে ওঠে যতক্ষণ না কেউ তাকে ধরে। C-তে এটি নেই।যেখানে শিখবেন: পর্ব ৩০
Exchange argumentএক্সচেঞ্জ আর্গুমেন্ট
Greedy প্রমাণের একটি কৌশল: যেকোনো সেরা সমাধানের একটি অংশ greedy-র পছন্দ দিয়ে বদলে দিলেও সেটি খারাপ হয় না — তাই greedy-র পছন্দ নিরাপদ।যেখানে শিখবেন: পর্ব ৪৩
exec familyএক্সেক
execl, execvp, execve ইত্যাদি ফাংশনের পরিবার, যা চলমান প্রসেসের ভেতরের প্রোগ্রামটিকে সরিয়ে নতুন একটি প্রোগ্রাম বসিয়ে দেয়। PID একই থাকে, সফল হলে আর কখনো ফেরে না।যেখানে শিখবেন: পর্ব ৪৮
Executableএক্সিকিউটেবল
চূড়ান্ত প্রোগ্রাম ফাইল, যেটি চালানো যায়। Windows-এ সাধারণত .exe, Linux/Mac-এ কোনো extension ছাড়াই।যেখানে শিখবেন: পর্ব ০৩
Exit status (exit code)এক্সিট স্ট্যাটাস
প্রোগ্রাম শেষ হওয়ার সময় অপারেটিং সিস্টেমকে দেওয়া একটি সংখ্যা। 0 মানে সফল, অন্য যেকোনো সংখ্যা মানে কোনো সমস্যা হয়েছে।যেখানে শিখবেন: পর্ব ০৪পর্ব ২৫পর্ব ৩০
Exploit mitigationএক্সপ্লয়েট মিটিগেশন
এমন সুরক্ষা ব্যবস্থা, যা বাগ সারায় না, কিন্তু বাগ কাজে লাগানো কঠিন করে বা ক্ষতি কমায়। যেমন stack canary, NX, ASLR.যেখানে শিখবেন: পর্ব ৪৬
Exponential growthএক্সপোনেনশিয়াল গ্রোথ
ইনপুট একটু বাড়লেই কাজের পরিমাণ কয়েক গুণ হয়ে যাওয়া — যেমন প্রতি ধাপে দ্বিগুণ। ইনপুট বড় হলে এমন অ্যালগরিদম কার্যত অচল হয়ে পড়ে।যেখানে শিখবেন: পর্ব ১৫পর্ব ৩৯পর্ব ৪২
Expressionএক্সপ্রেশন
মান, ভ্যারিয়েবল আর অপারেটর মিলিয়ে লেখা এমন একটি অংশ, যার হিসাব শেষে একটি মান পাওয়া যায় — যেমন 2 + 3 * 4.যেখানে শিখবেন: পর্ব ০৭
externএক্সটার্ন
C-এর একটি keyword. বলে দেয়, “এই নামের ভ্যারিয়েবল বা ফাংশন আছে, তবে অন্য কোথাও তৈরি করা হয়েছে।” Linker পরে আসলটির সাথে জোড়া দেয়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৪পর্ব ২৯
External linkageএক্সটার্নাল লিংকেজ
যে নাম প্রোগ্রামের সব ফাইল থেকে ব্যবহার করা যায়। ফাংশনের বাইরে লেখা সাধারণ global ভ্যারিয়েবল ও ফাংশন ডিফল্টভাবে এমন।যেখানে শিখবেন: পর্ব ১৪
External sortএক্সটার্নাল সর্ট
মেমরিতে আঁটে না এমন বড় ডেটা সাজানোর কৌশল — টুকরো টুকরো সাজিয়ে disk-এ রেখে, শেষে সব টুকরো একসাথে merge করা।যেখানে শিখবেন: পর্ব ৪০
Extract-maxএক্সট্র্যাক্ট-ম্যাক্স
Max-heap থেকে সবচেয়ে বড় মানটি সরিয়ে নেওয়া: root নেওয়া, শেষ মানটি root-এ বসানো, size কমানো, তারপর sift-down. খরচ O(log n).যেখানে শিখবেন: পর্ব ৩৬

F

Fail fastফেইল ফাস্ট
গুরুতর ভুল ধরা পড়লে স্পষ্ট বার্তা দিয়ে সাথে সাথে থেমে যাওয়ার নীতি, যাতে ভুল ফল বা নষ্ট ডেটা ছড়িয়ে না পড়ে।যেখানে শিখবেন: পর্ব ৩০
Fall-throughফল-থ্রু
switch-এ break না থাকলে একটি case-এর কাজ শেষে পরের case-এর কাজও চলতে থাকা। কখনো ইচ্ছাকৃত, বেশিরভাগ সময় বাগ।যেখানে শিখবেন: পর্ব ১১পর্ব ৫৩পর্ব ৫৫
False sharingফলস শেয়ারিং
দুটি thread আলাদা ভ্যারিয়েবলে লিখছে, কিন্তু ভ্যারিয়েবল দুটি একই cache line-এ পড়েছে। ফলে core-গুলো বারবার লাইনটি কাড়াকাড়ি করে, আর প্রোগ্রাম অকারণে ধীর হয়।যেখানে শিখবেন: পর্ব ৪৯
Fast I/Oফাস্ট আই-ও
খুব বড় ইনপুট দ্রুত পড়া ও আউটপুট দ্রুত লেখার কৌশল — যেমন getchar দিয়ে নিজে সংখ্যা পড়া, বা প্রতি লাইনে flush না করা।যেখানে শিখবেন: পর্ব ৪৪
Fast power (exponentiation by squaring)ফাস্ট পাওয়ার
ঘাতকে বারবার অর্ধেক করে x-এর n ঘাত বের করার কৌশল। n-এর বদলে মোটামুটি log n সংখ্যক গুণেই কাজ শেষ হয়।যেখানে শিখবেন: পর্ব ৪১
Fat pointer (slice)ফ্যাট পয়েন্টার
ঠিকানার সাথে দৈর্ঘ্যও বহন করে এমন pointer. Go ও Rust-এর slice বা C++-এর std::span এর উদাহরণ — সীমার বাইরে যাওয়া ধরা যায়।যেখানে শিখবেন: পর্ব ১৮পর্ব ১৯
fcloseএফ-ক্লোজ
ফাইল বন্ধ করার ফাংশন। buffer-এ বাকি থাকা লেখা OS-এর কাছে পাঠিয়ে ফাইলটি ছেড়ে দেয়; সফল হলে 0, ব্যর্থ হলে EOF দেয়।যেখানে শিখবেন: পর্ব ২৪
Fencepost errorফেন্সপোস্ট এরর
খুঁটি আর খুঁটির মাঝের ফাঁক গুলিয়ে ফেলার ভুল। n টি ফাঁকে খুঁটি লাগে একটি বেশি।যেখানে শিখবেন: পর্ব ১২
Fermat's little theoremফার্মার লিটল থিওরেম
p prime আর a যদি p দিয়ে বিভাজ্য না হয়, তাহলে a-এর (p − ১) ঘাতের p দিয়ে ভাগশেষ ১. এ থেকে a-এর inverse = a-এর (p − ২) ঘাত mod p.যেখানে শিখবেন: পর্ব ৪৩
fgetsএফ-গেটস
একটি পুরো লাইন নির্দিষ্ট দৈর্ঘ্যের মধ্যে থেকে পড়ার নিরাপদ ফাংশন। জায়গার চেয়ে বেশি লেখা এলে বাকিটা পরের বারের জন্য রেখে দেয়, মেমরি উপচে পড়ে না।যেখানে শিখবেন: পর্ব ১০পর্ব ১৯পর্ব ২৩
Fibonacci heapফিবোনাচি হিপ
১৯৮৪ সালে Fredman ও Tarjan-এর প্রস্তাবিত heap, যেখানে decrease-key গড়ে O(1). তত্ত্বে Dijkstra-কে দ্রুত করে, কিন্তু বাস্তবে এর ধ্রুবক খরচ বেশি।যেখানে শিখবেন: পর্ব ৩৬
FIFO (First In, First Out)ফাইফো
“আগে এলে আগে যাবে” — queue-এর মূল নিয়ম। যে মান সবার আগে ঢুকেছে, সেটিই সবার আগে বের হয়।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৫৫
Fileফাইল
disk-এ নাম দিয়ে রাখা byte-এর একটি সারি, যা প্রোগ্রাম বন্ধ হলে বা বিদ্যুৎ গেলেও থেকে যায়। ভেতরের byte-এর অর্থ ঠিক করে যে প্রোগ্রাম সেটি লেখে ও পড়ে।যেখানে শিখবেন: পর্ব ২৪
File corruptionফাইল করাপশন
ফাইলের ভেতরের ডেটা অসম্পূর্ণ বা ভুল হয়ে যাওয়া — যেমন লেখার মাঝখানে বিদ্যুৎ গেলে অর্ধেক লেখা, কাটা লাইন বা খালি ফাইল।যেখানে শিখবেন: পর্ব ২৪
File descriptorফাইল ডেসক্রিপ্টর
OS প্রতিটি খোলা পাইপ বা ফাইলকে যে ছোট নম্বর দিয়ে চেনে। stdin হলো 0, stdout হলো 1, stderr হলো 2.যেখানে শিখবেন: পর্ব ১০পর্ব ২৪পর্ব ৪৮
File modeফাইল মোড
fopen-কে জানানো উদ্দেশ্য — শুধু পড়া (r), নতুন করে লেখা (w), শেষে যোগ (a), পড়া-লেখা দুটোই (r+), আর b দিলে binary mode.যেখানে শিখবেন: পর্ব ২৪পর্ব ৫৫
FILE pointer (FILE *)ফাইল পয়েন্টার
fopen যে pointer ফেরত দেয়। এর ভেতরে C library খোলা ফাইলের হিসাব রাখে — buffer, এখনকার অবস্থান, ত্রুটি বা শেষে পৌঁছানোর চিহ্ন।যেখানে শিখবেন: পর্ব ২৪পর্ব ৩২
File positionফাইল পজিশন
খোলা ফাইলের ভেতরে এখন কোন byte-এ আছেন, তার হিসাব। প্রতিটি পড়া বা লেখা একে সামনে ঠেলে দেয়; ftell দিয়ে জানা যায়।যেখানে শিখবেন: পর্ব ২৪
File scopeফাইল স্কোপ
সব ফাংশনের বাইরে ঘোষণা করা নামের এলাকা — ঘোষণার জায়গা থেকে ফাইলের শেষ পর্যন্ত সব ফাংশন নামটি দেখতে পায়।যেখানে শিখবেন: পর্ব ১৪
Finite state machineস্টেট মেশিন
প্রোগ্রামকে কয়েকটি নির্দিষ্ট অবস্থায় ভাগ করা, আর প্রতিটি ইনপুটে কোন অবস্থা থেকে কোন অবস্থায় যাবে তা নিয়ম দিয়ে লিখে রাখা। ট্রাফিক লাইট এর সহজ উদাহরণ।যেখানে শিখবেন: পর্ব ৫১
Firmwareফার্মওয়্যার
যন্ত্রের ভেতরের চিপে স্থায়ীভাবে বসানো ছোট সফটওয়্যার, যা যন্ত্রটি চালু হওয়ামাত্র চলে — যেমন রাউটার বা ওয়াশিং মেশিনের নিয়ন্ত্রণ প্রোগ্রাম।যেখানে শিখবেন: পর্ব ০১পর্ব ৫১
Fixed-pointফিক্সড-পয়েন্ট
দশমিক বিন্দুর অবস্থান আগে থেকে ঠিক রেখে সংখ্যাকে পূর্ণসংখ্যায় রাখার পদ্ধতি — যেমন টাকাকে পয়সায় গোনা।যেখানে শিখবেন: পর্ব ০৮পর্ব ৫১
Flag (compiler option)ফ্ল্যাগ
compiler-কে দেওয়া বাড়তি নির্দেশ, - দিয়ে শুরু হয়। যেমন -Wall মানে “সব সতর্কবার্তা দেখাও”।যেখানে শিখবেন: পর্ব ০৩পর্ব ০৬পর্ব ২৭
Flaky testফ্লেকি টেস্ট
যে test কোড না বদলেও কখনো পাস আর কখনো ফেল করে। এতে test-এর ওপর আস্থা নষ্ট হয়।যেখানে শিখবেন: পর্ব ৩২
Flash memoryফ্ল্যাশ মেমরি
বিদ্যুৎ চলে গেলেও মুছে যায় না এমন মেমরি। মাইক্রোকন্ট্রোলারে প্রোগ্রামের কোড আর স্থির ডেটা এখানে থাকে।যেখানে শিখবেন: পর্ব ৫১
Flexible array memberফ্লেক্সিবল অ্যারে মেম্বার
struct-এর শেষ member হিসেবে মাপ ছাড়া অ্যারে, যেমন char data[]. একটিমাত্র malloc-এ header আর যত খুশি ডেটা একসাথে রাখা যায়।যেখানে শিখবেন: পর্ব ৪৭
Floating pointফ্লোটিং পয়েন্ট
দশমিকযুক্ত সংখ্যা রাখার পদ্ধতি — বৈজ্ঞানিক নোটেশনের মতো একটি অঙ্কের সারি আর একটি ঘাত (exponent) মিলিয়ে সংখ্যা রাখা হয়। বেশিরভাগ মান এতে হুবহু নয়, কাছাকাছি থাকে।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৬পর্ব ১০
Flowchartফ্লোচার্ট
নির্দিষ্ট আকারের বাক্স আর তীর দিয়ে আঁকা অ্যালগরিদমের ছবি — কোন কাজের পর কোন কাজ, আর কোথায় সিদ্ধান্ত নিতে হয়।যেখানে শিখবেন: পর্ব ০২
Floyd's cycle detectionফ্লয়েডস সাইকেল ডিটেকশন
একটি ধীর আর একটি দ্বিগুণ দ্রুত পয়েন্টার চালিয়ে লিংকড লিস্টে চক্র আছে কি না বের করার কৌশল। চক্র থাকলে দুজন একসময় মিলবে; বাড়তি মেমরি লাগে না।যেখানে শিখবেন: পর্ব ৫৬
Flushফ্লাশ
Buffer-এ জমে থাকা লেখা এখনই গন্তব্যে পাঠিয়ে buffer খালি করা। C-তে fflush(stdout) দিয়ে করা হয়।যেখানে শিখবেন: পর্ব ১০পর্ব ২৪পর্ব ৩১
Follow-up questionফলো-আপ কোয়েশ্চেন
প্রথম সমাধানের পর ইন্টারভিউয়ার শর্ত বদলে যে পরের প্রশ্ন করেন, যেমন কম মেমরিতে করা বা বড় ইনপুট সামলানো। মুখস্থ নয়, বোঝা যাচাই করার উপায়।যেখানে শিখবেন: পর্ব ৫৬
fopenএফ-ওপেন
ফাইল খোলার ফাংশন। সফল হলে একটি FILE pointer দেয়, ব্যর্থ হলে NULL — তাই প্রতিবার যাচাই করতে হয়।যেখানে শিখবেন: পর্ব ২৪
for loopফর লুপ
শুরু, শর্ত আর অগ্রগতি — তিনটি অংশ এক লাইনে রাখা লুপ। গোনার কাজের জন্য সবচেয়ে প্রচলিত।যেখানে শিখবেন: পর্ব ১২
Fork bombফর্ক বম্ব
যে প্রোগ্রাম বারবার নিজের কপি তৈরি করে, আর কপিগুলোও একই কাজ করে। প্রসেসের সংখ্যা দ্বিগুণ হারে বাড়তে বাড়তে পুরো সিস্টেম অচল হয়ে যায়।যেখানে শিখবেন: পর্ব ৪৮
fork()ফর্ক
যে system call চলমান প্রসেসের একটি কপি তৈরি করে। একবার ডাকা হয়, কিন্তু ফেরে দুবার — child-এ 0, parent-এ child-এর PID, আর ব্যর্থ হলে -1.যেখানে শিখবেন: পর্ব ৪৮পর্ব ৫০পর্ব ৫২
format attributeফরম্যাট অ্যাট্রিবিউট
GCC ও Clang-এর একটি চিহ্ন — __attribute__((format(printf, 1, 2))) — যা compiler-কে জানায় “এই ফাংশন printf-এর মতো”, ফলে আপনার নিজের ফাংশনেও format-এর ভুল warning হয়ে ধরা পড়ে।যেখানে শিখবেন: পর্ব ২৫
Format specifierফরম্যাট স্পেসিফায়ার
printf-এর লেখার ভেতরে % দিয়ে শুরু হওয়া জায়গা-রাখা চিহ্ন। যেমন %d মানে এখানে একটি পূর্ণসংখ্যা বসবে।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৬পর্ব ১০
Format stringফরম্যাট স্ট্রিং
printf বা scanf-এর প্রথম লেখাটি, যেখানে সাধারণ লেখার পাশাপাশি %d-এর মতো চিহ্ন বলে দেয় কোন মান কোথায়, কোন চেহারায় বসবে।যেখানে শিখবেন: পর্ব ১০পর্ব ২৫
Format string vulnerabilityফরম্যাট স্ট্রিং ভালনারেবিলিটি
ব্যবহারকারীর দেওয়া লেখা সরাসরি printf-এর format string হিসেবে দিলে যে নিরাপত্তা-ত্রুটি তৈরি হয়। আক্রমণকারী %x বা %n দিয়ে মেমরি পড়তে বা বদলাতে পারে।যেখানে শিখবেন: পর্ব ১০পর্ব ২৫পর্ব ৪৬
_FORTIFY_SOURCEফর্টিফাই সোর্স
GCC ও glibc-এর একটি সুবিধা, যা strcpy, memcpy, sprintf-এর মতো ফাংশনের জায়গায় buffer-এর আকার মিলিয়ে দেখে এমন সংস্করণ বসায়। শুধু optimization চালু থাকলে কাজ করে।যেখানে শিখবেন: পর্ব ৪৬
Forward declarationফরওয়ার্ড ডিক্লারেশন
পূর্ণ সংজ্ঞা না দিয়ে শুধু নামটি আগাম জানিয়ে রাখা, যেমন struct Ledger; — এতে পয়েন্টার ব্যবহার করা যায়, পুরো header টেনে আনতে হয় না।যেখানে শিখবেন: পর্ব ২৯
Free listফ্রি লিস্ট
ফাঁকা (free করা) মেমরি block-গুলোর একটি লিংকড লিস্ট, যা allocator নিজের ভেতরে রাখে — পরের malloc এলে এখান থেকেই জায়গা দেয়।যেখানে শিখবেন: পর্ব ৩৩
free()ফ্রি
malloc, calloc বা realloc দিয়ে নেওয়া block heap-এ ফেরত দেয়, যাতে পরে অন্য কেউ ব্যবহার করতে পারে।যেখানে শিখবেন: পর্ব ২০পর্ব ৩৩পর্ব ৫৫
Frequency (counting) arrayফ্রিকোয়েন্সি অ্যারে
প্রতিটি সম্ভাব্য মানের জন্য একটি ঘর রেখে সেই মান কতবার এসেছে তা গোনার অ্যারে। মান ছোট পরিসরে থাকলে এটি সবচেয়ে সরল ও দ্রুত hash table.যেখানে শিখবেন: পর্ব ৫৬
fseekএফ-সিক
file position সরিয়ে নির্দিষ্ট byte-এ নিয়ে যাওয়ার ফাংশন — শুরু (SEEK_SET), এখনকার জায়গা (SEEK_CUR) বা শেষ (SEEK_END) থেকে গুনে।যেখানে শিখবেন: পর্ব ২৪
fsyncএফ-সিঙ্ক
OS-কে বলা “এই ফাইলের সব লেখা এখনই disk-এ পাকা করো”. এটি Linux/Mac-এর (POSIX) ফাংশন, standard C-র নয়; Windows-এ একই কাজের আলাদা ফাংশন আছে।যেখানে শিখবেন: পর্ব ২৪
Functionফাংশন
নাম দেওয়া এক টুকরো কোড, যা একটি নির্দিষ্ট কাজ করে। নাম ধরে ডাকলেই কাজটি হয়, যেমন printf বা main.যেখানে শিখবেন: পর্ব ০৪পর্ব ১৩
Function callফাংশন কল
নাম ধরে একটি ফাংশনকে কাজ করতে ডাকা। ডাকা শেষ হলে প্রোগ্রাম ঠিক আগের জায়গায় ফিরে আসে।যেখানে শিখবেন: পর্ব ১৩
Function definitionফাংশন ডেফিনিশন
ফাংশনের পূর্ণ রূপ — মাথার অংশের সাথে দ্বিতীয় বন্ধনীর ভেতরের আসল কাজের কোডসহ।যেখানে শিখবেন: পর্ব ১৩পর্ব ২৯
Function pointerফাংশন পয়েন্টার
এমন একটি ভ্যারিয়েবল, যা কোনো ফাংশনের কোড মেমরিতে যেখান থেকে শুরু, সেই ঠিকানা রাখে। এর মাধ্যমে কোন ফাংশন চলবে, তা প্রোগ্রাম চলার সময় ঠিক করা যায়।যেখানে শিখবেন: পর্ব ২৮পর্ব ৩২পর্ব ৩৭
Function prototypeফাংশন প্রোটোটাইপ
ফাংশনের আগাম ঘোষণা — নাম, কী কী ইনপুট নেয় আর কী ফেরত দেয়, শুধু এটুকু। শরীর (কোড) থাকে না, শেষে থাকে সেমিকোলন।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৮পর্ব ২৯
Function prototype scopeপ্রোটোটাইপ স্কোপ
ফাংশন prototype-এর বন্ধনীর ভেতরে লেখা parameter নামের scope — বন্ধনী শেষ হতেই নামগুলো হারিয়ে যায়।যেখানে শিখবেন: পর্ব ১৪
Function scopeফাংশন স্কোপ
শুধু goto-র label-এর জন্য scope: label পুরো ফাংশনের ভেতরে দেখা যায়, লেখার আগের লাইন থেকেও।যেখানে শিখবেন: পর্ব ১৪
Function-like macroফাংশন-লাইক ম্যাক্রো
বন্ধনীতে argument নেওয়া macro, যেমন SQUARE(x). দেখতে ফাংশনের মতো, কিন্তু আসলে শুধু লেখা বদল — হিসাব নয়।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩২
Fuzzingফাজিং
প্রোগ্রামকে লক্ষ লক্ষ অদ্ভুত বা ভাঙা ইনপুট স্বয়ংক্রিয়ভাবে দিয়ে দেখা কোনটিতে crash হয় বা sanitizer ভুল ধরে।যেখানে শিখবেন: পর্ব ৩২পর্ব ৪৬

G

Garbage collectionগার্বেজ কালেকশন
অব্যবহৃত মেমরি স্বয়ংক্রিয়ভাবে খুঁজে ফেরত নেওয়ার ব্যবস্থা। Java ও Python-এ আছে, C-তে নেই — সেখানে প্রোগ্রামারকেই হিসাব রাখতে হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ১৭পর্ব ২০
Garbage valueগার্বেজ ভ্যালু
মান না দেওয়া ভ্যারিয়েবলের ভেতরে আগে থেকে পড়ে থাকা এলোমেলো বিট। এটি পড়া C-এর নিয়মে অনির্দিষ্ট আচরণ।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৪পর্ব ১৬
GCCজিসিসি
সবচেয়ে জনপ্রিয় ফ্রি C compiler (GNU Compiler Collection). Linux-এ প্রায় সবখানে থাকে।যেখানে শিখবেন: পর্ব ০৩
GCD (Greatest Common Divisor)জিসিডি
গসাগু: দুটি সংখ্যাকে একসাথে নিঃশেষে ভাগ করে এমন সবচেয়ে বড় সংখ্যা। যেমন gcd(২৫২, ১০৫) = ২১.যেখানে শিখবেন: পর্ব ৪৩পর্ব ৫৫
gcovজি-কভ
GCC-র সাথে আসা coverage টুল। --coverage দিয়ে compile করে চালালে প্রতিটি লাইন কতবার চলেছে তা দেখায়।যেখানে শিখবেন: পর্ব ৩২
GDB (GNU Debugger)জিডিবি
GNU প্রজেক্টের command-line debugger. প্রোগ্রাম থামানো, এক লাইন করে চালানো, ভ্যারিয়েবল দেখা, crash-এর পরে backtrace পড়া — সব করা যায়। VS Code-সহ অনেক IDE ভেতরে এটিই ব্যবহার করে।যেখানে শিখবেন: পর্ব ৩১
_Generic (generic selection)জেনেরিক সিলেকশন
C11-এর একটি expression, যা compile করার সময় আর্গুমেন্টের টাইপ দেখে একাধিক বিকল্পের একটি বেছে নেয়। টাইপ অনুযায়ী আলাদা ফাংশন ডাকার macro বানাতে কাজে লাগে।যেখানে শিখবেন: পর্ব ৪৭
getopt / getopt_longগেট-অপ্ট
POSIX সিস্টেমে কমান্ড-লাইন অপশন পড়ার তৈরি ফাংশন, থাকে <unistd.h> header-এ। লম্বা নামের অপশনের (--help) জন্য আছে GNU-র getopt_long. এটি standard C-এর অংশ নয়।যেখানে শিখবেন: পর্ব ২৫
Gitগিট
কোডের প্রতিটি পরিবর্তনের ইতিহাস রাখার টুল (version control). কে কখন কী বদলালেন দেখা যায়, আগের অবস্থায় ফেরা যায়, অনেকে একসাথে কাজ করতে পারেন।যেখানে শিখবেন: পর্ব ২৫পর্ব ২৯পর্ব ৩২
git bisectগিট বাইসেক্ট
Git-এর একটি কমান্ড, যা commit-এর ইতিহাসে binary search করে খুঁজে দেয় কোন commit প্রথম bug নিয়ে এসেছিল।যেখানে শিখবেন: পর্ব ৩১পর্ব ৪১
glibc (GNU C Library)জি-লিব-সি
GNU প্রজেক্টের C library. Ubuntu, Debian, Fedora-র মতো বেশিরভাগ Linux-এ এটিই চলে।যেখানে শিখবেন: পর্ব ২৬
Global variableগ্লোবাল ভ্যারিয়েবল
সব ফাংশনের বাইরে ঘোষণা করা ভ্যারিয়েবল। পুরো প্রোগ্রাম চলাকালীন বেঁচে থাকে, আর মান না দিলে নিজে থেকেই শূন্য হয়।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৩পর্ব ৪৪
GNU extensionজিএনইউ এক্সটেনশন
GCC-র নিজস্ব বাড়তি সুবিধা, যা স্ট্যান্ডার্ডে নেই বা পরে এসেছে। -std=gnu17-এ চালু থাকে, কিন্তু অন্য compiler-এ নাও চলতে পারে।যেখানে শিখবেন: পর্ব ৪৭
gotoগোটু
C-র একটি keyword, যা একই ফাংশনের ভেতরে একটি label-এ সরাসরি লাফ দেয়। যত্রতত্র ব্যবহার কোড জটিল করে; মূলত cleanup-এর জন্য ব্যবহার করা হয়।যেখানে শিখবেন: পর্ব ৩০
goto cleanupগোটু ক্লিনআপ
ভুল হলে ফাংশনের শেষে একটি cleanup label-এ লাফ দিয়ে সেখানে সব রিসোর্স উল্টো ক্রমে ছাড়ার কৌশল। Linux kernel-সহ বহু C প্রজেক্টে প্রচলিত।যেখানে শিখবেন: পর্ব ৩০
GPIO (General-Purpose Input/Output)জিপিআইও
চিপের সাধারণ কাজের পিন, যাকে প্রোগ্রাম দিয়ে ইনপুট (যেমন বাটন পড়া) বা আউটপুট (যেমন LED জ্বালানো) বানানো যায়।যেখানে শিখবেন: পর্ব ৫১
GPUজিপিইউ
একসাথে হাজার হাজার ছোট হিসাব করতে পারে এমন চিপ। প্রথমে গ্রাফিক্সের জন্য তৈরি, এখন AI চালানোর প্রধান যন্ত্র।যেখানে শিখবেন: পর্ব ০১পর্ব ২১
Graceful degradationগ্রেসফুল ডিগ্রেডেশন
কোনো অংশ কাজ না করলে পুরো সিস্টেম বন্ধ না করে কম সুবিধা নিয়ে চলতে থাকা — যেমন লোডশেডিংয়ে IPS শুধু লাইট-ফ্যান চালায়।যেখানে শিখবেন: পর্ব ৩০
Graphগ্রাফ
কিছু জিনিস (vertex) আর তাদের মধ্যের সংযোগ (edge) মিলিয়ে তৈরি একটি কাঠামো। রাস্তার মানচিত্র, বন্ধুত্বের জাল, ওয়েব পেজের লিংক — সবই গ্রাফ।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৮পর্ব ৪৪
Grapheme clusterগ্রাফিম ক্লাস্টার
মানুষ চোখে যাকে একটি অক্ষর হিসেবে দেখে, যেমন “কা” বা “ক্ষ”. এটি একাধিক Unicode code point দিয়ে তৈরি হতে পারে।যেখানে শিখবেন: পর্ব ১৯
Greedy algorithmগ্রিডি অ্যালগরিদম
যে পদ্ধতি প্রতিটি ধাপে এই মুহূর্তে সবচেয়ে ভালো দেখায় এমন পছন্দটি নেয়, আর পরে কখনো সেই সিদ্ধান্ত বদলায় না। দ্রুত, কিন্তু সব সমস্যায় সেরা উত্তর দেয় না।যেখানে শিখবেন: পর্ব ৪২পর্ব ৪৩পর্ব ৪৪
Growth rateগ্রোথ রেট
ইনপুটের আকার n বাড়ার সাথে কাজের পরিমাণ কোন ধরনে বাড়ে — সমান তালে, বর্গ হারে, নাকি দ্বিগুণ-দ্বিগুণ করে। Big-O ঠিক এটিই মাপে।যেখানে শিখবেন: পর্ব ৩৯
Guard clause (early return)গার্ড ক্লজ
ফাংশনের শুরুতেই ভুল বা বিশেষ ইনপুট ধরে সঙ্গে সঙ্গে ফেরত যাওয়া, যাতে বাকি কোড সমতল ও পরিষ্কার থাকে।যেখানে শিখবেন: পর্ব ১১

H

Half-open rangeহাফ-ওপেন রেঞ্জ
যে পরিসরে শুরুর মান ভেতরে কিন্তু শেষের মান বাইরে থাকে, যেমন ০ থেকে n-এর ঠিক আগ পর্যন্ত।যেখানে শিখবেন: পর্ব ১২পর্ব ১৬পর্ব ১৮
Happy pathহ্যাপি পাথ
সবকিছু স্বাভাবিক থাকলে প্রোগ্রাম যে পথে চলে — প্রত্যাশিত, বৈধ ইনপুট। শুধু এটুকু test করা খুব সাধারণ ভুল।যেখানে শিখবেন: পর্ব ৩২
Hardening flagহার্ডেনিং ফ্ল্যাগ
Compiler বা linker-এর এমন option, যা তৈরি হওয়া প্রোগ্রামে বাড়তি নিরাপত্তা-যাচাই যোগ করে। যেমন -fstack-protector-strong বা -D_FORTIFY_SOURCE=2.যেখানে শিখবেন: পর্ব ৪৬
Hardware timerহার্ডওয়্যার টাইমার
চিপের ভেতরের একটি counter, যা clock-এর তালে নিজে নিজে বাড়ে। নির্দিষ্ট মানে পৌঁছালে flag তোলে বা interrupt দেয়, CPU-কে বসে থেকে গুনতে হয় না।যেখানে শিখবেন: পর্ব ৫১
__has_includeহ্যাজ ইনক্লুড
Preprocessor-এ যাচাই করা যে একটি header ফাইল আছে কি না। C23-এ স্ট্যান্ডার্ড হয়েছে, আগে compiler-এর extension ছিল।যেখানে শিখবেন: পর্ব ৪৭
Hash floodingহ্যাশ ফ্লাডিং
ইচ্ছে করে একই ঘরে পড়ে এমন অনেক চাবি পাঠিয়ে hash table-কে লম্বা তালিকায় পরিণত করা, যাতে সার্ভার ধীর হয়ে পড়ে বা সাড়া দিতে না পারে।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৩৯
Hash functionহ্যাশ ফাংশন
যে ফাংশন একটি চাবিকে (নাম, সংখ্যা, লেখা) একটি নির্দিষ্ট সংখ্যায় বদলে দেয়। একই চাবিতে সবসময় একই ফল দেয়, আর ভালো হলে চাবিগুলোকে সমানভাবে ছড়ায়।যেখানে শিখবেন: পর্ব ০৯পর্ব ৩৭
Hash indexহ্যাশ ইনডেক্স
ডেটাবেসে hash table দিয়ে তৈরি একটি সূচি, যা “এই মানের সারি কোথায়” ধরনের হুবহু মিলের প্রশ্ন দ্রুত উত্তর দেয়, কিন্তু পরিসর বা ক্রমের প্রশ্নে কাজে আসে না।যেখানে শিখবেন: পর্ব ৩৭
Hash tableহ্যাশ টেবিল
এমন ডেটা স্ট্রাকচার, যা key থেকে একটি সংখ্যা (hash) হিসাব করে সরাসরি ঠিক ঘরে চলে যায় — ফলে গড়ে খুব দ্রুত খোঁজা যায়। পর্ব ২৮-এ বিস্তারিত।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৫পর্ব ৩৭
Head pointerহেড পয়েন্টার
লিংকড লিস্টের প্রথম node-এর ঠিকানা রাখা pointer. তালিকা খালি হলে এতে থাকে NULL. এটি হারালে পুরো তালিকাই হারিয়ে যায়।যেখানে শিখবেন: পর্ব ৩৩
Header file (.h)হেডার ফাইল
একটা “মেনু কার্ড” — কোন কোন ফাংশন আছে আর কীভাবে ডাকতে হয় তার তালিকা। যেমন stdio.h.যেখানে শিখবেন: পর্ব ০৪পর্ব ১৩পর্ব ১৯
Heapহিপ
মেমরির বড় একটি এলাকা, যেখান থেকে malloc-এর মতো ফাংশন চলার সময় জায়গা দেয়। কখন নেবেন আর কখন ফেরত দেবেন, দুটোই প্রোগ্রামারের দায়িত্ব।যেখানে শিখবেন: পর্ব ২০পর্ব ২১পর্ব ৩৩
Heap propertyহিপ প্রপার্টি
Heap-এর ক্রমের নিয়ম: প্রতিটি parent তার প্রতিটি সন্তানের চেয়ে বড় বা সমান (max-heap), অথবা ছোট বা সমান (min-heap). ভাইবোনের মধ্যে কোনো ক্রম লাগে না।যেখানে শিখবেন: পর্ব ৩৬
Heapify (build-heap)হিপিফাই
একটি এলোমেলো অ্যারেকে heap বানানো। শেষ parent থেকে root পর্যন্ত উল্টো দিকে প্রতিটি নোডে sift-down চালালে মোট খরচ মাত্র O(n).যেখানে শিখবেন: পর্ব ৩৬
Heapsortহিপসর্ট
Binary heap নামের একটি গাছ-কাঠামো দিয়ে বারবার সবচেয়ে বড় উপাদানটি বের করে সাজানোর পদ্ধতি। সবসময় n log n আর in-place, কিন্তু stable নয়।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৪০
Heightহাইট
Root থেকে সবচেয়ে দূরের leaf পর্যন্ত লম্বা পথের মাপ। এই পর্বে আমরা পথে কয়টি নোড আছে তা গুনি, তাই একটি নোডের ট্রির height এক।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৬
Heisenbugহাইজেনবাগ
এমন bug যা খুঁজতে গেলেই আচরণ বদলায় বা লুকিয়ে পড়ে — যেমন printf যোগ করলে বা debugger-এ চালালে আর ঘটে না। সাধারণত race condition বা undefined behavior-এর ফল।যেখানে শিখবেন: পর্ব ৩১
Heuristicহিউরিস্টিক
সমস্যা দ্রুত সমাধানের জন্য একটি বুদ্ধিদীপ্ত আন্দাজ বা নিয়ম — যেমন “গন্তব্য যেদিকে, সেদিকের রাস্তা আগে দেখো।”যেখানে শিখবেন: পর্ব ৩৮পর্ব ৪৩
Hexadecimal (hex)হেক্সাডেসিমাল
ষোলো-ভিত্তিক সংখ্যা পদ্ধতি — ০ থেকে ৯ আর A থেকে F মিলিয়ে ১৬টি অঙ্ক। ৪টি বিট মিলে ঠিক একটি hex অঙ্ক হয়, তাই বাইনারি সংক্ষেপে লিখতে প্রোগ্রামাররা এটি ব্যবহার করেন।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৯পর্ব ১০
Hierarchyহায়ারার্কি
ওপর-নিচ স্তরে সাজানো সম্পর্ক — যেমন বিভাগ, তার নিচে জেলা, তার নিচে উপজেলা।যেখানে শিখবেন: পর্ব ৩৫
High-level languageহাই-লেভেল ল্যাঙ্গুয়েজ
যে ভাষা মেশিনের খুঁটিনাটি লুকিয়ে রাখে আর মানুষের চিন্তার কাছাকাছি থাকে — যেমন Python বা Java. লেখা সহজ, কিন্তু নিয়ন্ত্রণ কম।যেখানে শিখবেন: পর্ব ০১
Hoisting (loop-invariant code motion)হয়েস্টিং
লুপের ভেতরের যে হিসাব প্রতিবার একই ফল দেয়, compiler তাকে লুপের আগে তুলে এনে একবারই করে।যেখানে শিখবেন: পর্ব ১২পর্ব ৩৯পর্ব ৪৫
htons() / htonl()এইচ-টু-এন-এস
Host to network short/long — নিজের যন্ত্রের byte ক্রম থেকে network byte order-এ বদলানোর ফাংশন। উল্টো কাজ করে ntohs()/ntohl().যেখানে শিখবেন: পর্ব ৫০
HTTP (HyperText Transfer Protocol)এইচটিটিপি
ওয়েবের application protocol — ব্রাউজার কীভাবে পাতা চাইবে (request) আর server কীভাবে দেবে (response), তার নিয়ম।যেখানে শিখবেন: পর্ব ৫০
Huffman codingহাফম্যান কোডিং
David Huffman-এর ১৯৫২ সালের greedy পদ্ধতি: যে অক্ষর বেশি আসে তাকে ছোট বিট-কোড, যা কম আসে তাকে লম্বা কোড দিয়ে ফাইল ছোট করা। ZIP, PNG, JPEG-এ ব্যবহৃত হয়।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৪৩
Hybrid algorithmহাইব্রিড অ্যালগরিদম
কয়েকটি পদ্ধতি মিলিয়ে বানানো পদ্ধতি — প্রতিটিকে সেই পরিস্থিতিতে ব্যবহার করা হয় যেখানে সে সবচেয়ে ভালো। বাস্তবের sorting library প্রায় সবই এমন।যেখানে শিখবেন: পর্ব ৪০

I

I2Cআই-টু-সি
মাত্র দুটি তার (SDA আর SCL) দিয়ে একটি চিপের সাথে অনেকগুলো সেন্সর বা ডিসপ্লে জোড়ার পদ্ধতি। প্রতিটি যন্ত্রের একটি নিজস্ব ঠিকানা থাকে।যেখানে শিখবেন: পর্ব ৫১
ICPCআইসিপিসি
International Collegiate Programming Contest — বিশ্ববিদ্যালয়ের তিনজনের দলের জন্য বিশ্বের সবচেয়ে পরিচিত প্রোগ্রামিং প্রতিযোগিতা। আঞ্চলিক পর্ব পেরিয়ে দলগুলো World Finals-এ যায়।যেখানে শিখবেন: পর্ব ৪৪
IDE / Editorআইডিই / এডিটর
কোড লেখার অ্যাপ — যেমন VS Code. নিজে কোড চালায় না; ভেতরে ভেতরে compiler-কে ডেকে আনে।
Identifierআইডেন্টিফায়ার
প্রোগ্রামার যে নাম দেন — ফাংশন বা ভ্যারিয়েবলের নাম, যেমন main, total. অক্ষর, অঙ্ক আর _ দিয়ে তৈরি হয়, অঙ্ক দিয়ে শুরু হতে পারে না।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৬
IEEE 754আই-ট্রিপল-ই সেভেন ফিফটি ফোর
floating point সংখ্যা বিটে কীভাবে রাখা হবে, তার আন্তর্জাতিক মান। প্রায় সব আধুনিক CPU এই নিয়ম মেনে চলে।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৮পর্ব ৫৩
if statementইফ স্টেটমেন্ট
শর্ত সত্য হলে একটি কাজ করার নির্দেশ। সাথে else দিলে শর্ত মিথ্যা হলে অন্য কাজটি চলে।যেখানে শিখবেন: পর্ব ১১
Immutableইমিউটেবল
একবার তৈরি হওয়ার পর যে ডেটা আর বদলানো যায় না। “বদলাতে” চাইলে আসলে নতুন একটি কপি তৈরি হয়। Java, Python, Go-র string এমন।যেখানে শিখবেন: পর্ব ১৯
Implementationইমপ্লিমেন্টেশন
Interface-এ যে কাজের প্রতিশ্রুতি দেওয়া হয়েছে, সেটি আসলে কীভাবে করা হয় — ফাংশনের পূর্ণ কোড। C-তে এটি থাকে .c ফাইলে।যেখানে শিখবেন: পর্ব ২৯পর্ব ৩৪
Implementation-defined behaviorইমপ্লিমেন্টেশন-ডিফাইন্ড বিহেভিয়র
যে আচরণ C নিয়মে নির্দিষ্ট করেনি, কিন্তু প্রতিটি compiler নিজে ঠিক করে নথিতে লিখে রাখে — যেমন ঋণাত্মক signed সংখ্যার ডানে শিফট।যেখানে শিখবেন: পর্ব ০৮পর্ব ০৯পর্ব ৪৬
Implicit conversionইমপ্লিসিট কনভার্শন
প্রোগ্রামার না বললেও compiler নিজে থেকে যে টাইপ বদল করে — যেমন int আর double একসাথে হিসাব হলে int-টি double হয়ে যায়।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৮
Implicit declarationইমপ্লিসিট ডিক্লারেশন
আগে ঘোষণা না করেই কোনো ফাংশন ডাকা। পুরোনো C এটি মেনে নিত; আধুনিক C (C99 থেকে) এটি নিষিদ্ধ, compiler warning বা error দেয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ১৩
Implicit treeইমপ্লিসিট ট্রি
যে ট্রির গঠন pointer দিয়ে লেখা থাকে না, বরং অবস্থান থেকে হিসাব করে বের করা হয় — যেমন অ্যারের heap-এ i-এর সন্তান 2i+1 ও 2i+2.যেখানে শিখবেন: পর্ব ৩৬
In-degreeইন-ডিগ্রি
Directed গ্রাফে একটি vertex-এ কয়টি edge এসে ঢুকেছে। কোর্সের গ্রাফে এর মানে — এই কোর্সের আগে কয়টি কোর্স শেষ করতে হবে।যেখানে শিখবেন: পর্ব ৩৮
In-place algorithmইন-প্লেস অ্যালগরিদম
যে পদ্ধতি নতুন অ্যারে না বানিয়ে আসল অ্যারের ভেতরেই মান সরিয়ে কাজ সারে, সামান্য বাড়তি জায়গা ছাড়া।যেখানে শিখবেন: পর্ব ১৬পর্ব ৩৬পর্ব ৪০
Include guardইনক্লুড গার্ড
Header-এর পুরো লেখা #ifndef NAME, #define NAME আর #endif দিয়ে ঘিরে রাখার কৌশল, যাতে একটি translation unit-এ header একবারের বেশি না ঢোকে।যেখানে শিখবেন: পর্ব ২৭পর্ব ২৯পর্ব ৫৫
Include pathইনক্লুড পাথ
যেসব ফোল্ডারে compiler header ফাইল খোঁজে তার তালিকা। -I flag দিয়ে নতুন ফোল্ডার যোগ করা যায়।যেখানে শিখবেন: পর্ব ২৭
Incomplete typeইনকমপ্লিট টাইপ
যে টাইপের নাম compiler জানে, কিন্তু আকার আর ভেতরের গঠন জানে না। এর পয়েন্টার রাখা যায়, কিন্তু ভ্যারিয়েবল বানানো বা field পড়া যায় না।যেখানে শিখবেন: পর্ব ২৯
Increment / Decrement (++ / --)ইনক্রিমেন্ট / ডিক্রিমেন্ট
একটি ভ্যারিয়েবলের মান ১ বাড়ানো (++) বা ১ কমানো (--). আগে বসালে (prefix) আগে বদলায়, পরে বসালে (postfix) পুরোনো মান দিয়ে কাজ হয়ে তারপর বদলায়।যেখানে শিখবেন: পর্ব ০৭পর্ব ৫৩
Incremental buildইনক্রিমেন্টাল বিল্ড
পুরো প্রজেক্ট নতুন করে না বানিয়ে শুধু যা বদলেছে আর যা তার ওপর নির্ভর করে, সেটুকুই আবার বানানো।যেখানে শিখবেন: পর্ব ২৯
Indexইনডেক্স
অ্যারের কোন ঘর চাই, তার নম্বর। এটি আসলে শুরু থেকে কত ঘর দূরে, তাই C-তে গোনা শুরু হয় 0 থেকে, শেষ হয় n − 1-এ।যেখানে শিখবেন: পর্ব ১৬পর্ব ৩৩পর্ব ৩৬
Indirect callইনডিরেক্ট কল
সরাসরি ফাংশনের নাম ধরে নয়, বরং মেমরিতে রাখা একটি ঠিকানা পড়ে সেখানে লাফ দিয়ে ফাংশন ডাকা। Function pointer দিয়ে প্রতিটি ডাকই এমন।যেখানে শিখবেন: পর্ব ২৮
Inference (AI)ইনফারেন্স
প্রশিক্ষণ শেষ হওয়া একটি AI মডেলকে দিয়ে আসলে উত্তর বের করানোর কাজ — যেমন আপনার প্রশ্নে ChatGPT-এর জবাব তৈরি হওয়া।যেখানে শিখবেন: পর্ব ০১
Infinite loopইনফিনিট লুপ
যে লুপের শর্ত কখনো মিথ্যা হয় না, তাই চিরকাল চলতে থাকে। কখনো বাগ, কখনো ইচ্ছাকৃত নকশা।যেখানে শিখবেন: পর্ব ১২পর্ব ৪১পর্ব ৫৩
Infix notationইনফিক্স নোটেশন
আমরা স্কুলে যেভাবে লিখি — অপারেটর দুটি সংখ্যার মাঝখানে, যেমন (5 + 3) * 2. মানুষের পড়তে সহজ, কিন্তু বন্ধনী আর অগ্রাধিকারের নিয়ম লাগে।যেখানে শিখবেন: পর্ব ৩৪
Information hidingইনফরমেশন হাইডিং
একটি মডিউলের ভেতরের খুঁটিনাটি বাইরের কোড থেকে লুকিয়ে রাখার নীতি। বাইরের কেউ ভেতরের ওপর নির্ভর করে না, তাই ভেতরটা নিশ্চিন্তে বদলানো যায়।যেখানে শিখবেন: পর্ব ২৯
init (PID 1)ইনিট
কম্পিউটার চালু হওয়ার পর kernel যে প্রথম প্রসেসটি চালায়, যার PID 1. আজকের বেশিরভাগ Linux-এ এর নাম systemd. অনাথ প্রসেসের অভিভাবকও এটি।যেখানে শিখবেন: পর্ব ৪৮
Initializationইনিশিয়ালাইজেশন
ভ্যারিয়েবল তৈরির মুহূর্তেই তাতে প্রথম মান বসানো। যেমন int age = 20;যেখানে শিখবেন: পর্ব ০৬পর্ব ১৬পর্ব ১৭
Inline functionইনলাইন ফাংশন
inline শব্দ দিয়ে লেখা ছোট ফাংশন, যার কোড compiler ডাকার জায়গায় সরাসরি বসাতে পারে। Macro-র গতি দেয়, কিন্তু টাইপ যাচাই আর একবার হিসাবের নিরাপত্তাসহ।যেখানে শিখবেন: পর্ব ২৭পর্ব ৫৫
Inliningইনলাইনিং
Compiler-এর একটি optimization — ছোট ফাংশন ডাকার বদলে তার কোড সরাসরি ডাকার জায়গায় বসিয়ে দেওয়া, যাতে ডাকার খরচ না লাগে।যেখানে শিখবেন: পর্ব ১৩পর্ব ২৭পর্ব ২৮
Inorder successorইনঅর্ডার সাকসেসর
সাজানো ক্রমে কোনো মানের ঠিক পরের মান। BST-তে এটি পাওয়া যায় ডান subtree-র সবচেয়ে বাঁ দিকের নোডে।যেখানে শিখবেন: পর্ব ৩৫
Inorder traversalইনঅর্ডার ট্রাভার্সাল
আগে বাঁ subtree, তারপর নিজে, তারপর ডান subtree — এই ক্রমে নোড দেখা। BST-তে এভাবে গেলে মানগুলো ছোট থেকে বড় ক্রমে বেরিয়ে আসে।যেখানে শিখবেন: পর্ব ৩৫
Input validationইনপুট ভ্যালিডেশন
বাইরে থেকে আসা ডেটা ব্যবহারের আগে যাচাই করা — ধরন ঠিক আছে কি না, সীমার ভেতরে কি না, দৈর্ঘ্য ঠিক কি না।যেখানে শিখবেন: পর্ব ১০পর্ব ২৩পর্ব ৩০
Insertion sortইনসারশন সর্ট
হাতে তাস সাজানোর মতো — সাজানো অংশে প্রতিটি নতুন উপাদান ঠিক জায়গায় ঢুকিয়ে দেওয়া। ছোট ও প্রায়-সাজানো ডেটায় খুব দ্রুত, stable.যেখানে শিখবেন: পর্ব ৪০
Integerইন্টিজার
পূর্ণসংখ্যা — যার কোনো দশমিক অংশ নেই, যেমন ৫, ০ বা -১২।যেখানে শিখবেন: পর্ব ০৬পর্ব ১১
Integer divisionইন্টিজার ডিভিশন
দুটি পূর্ণসংখ্যার ভাগ — ফলও পূর্ণসংখ্যা, দশমিক অংশ সোজা বাদ পড়ে। যেমন 7 / 2 হয় 3.যেখানে শিখবেন: পর্ব ০৬পর্ব ০৭পর্ব ০৮
Integer promotionইন্টিজার প্রমোশন
হিসাবের আগে char ও short-এর মতো ছোট পূর্ণসংখ্যাকে স্বয়ংক্রিয়ভাবে int-এ তুলে নেওয়ার নিয়ম।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৮পর্ব ০৯
Integration testইন্টিগ্রেশন টেস্ট
কয়েকটি মডিউল একসাথে জোড়া লাগিয়ে পরীক্ষা, যাতে বোঝা যায় অংশগুলো একে অপরের সাথে ঠিকভাবে কাজ করছে কি না।যেখানে শিখবেন: পর্ব ৩২
Interfaceইন্টারফেস
দুটি অংশ একে অপরের সাথে কীভাবে কথা বলবে তার চুক্তি। ফাংশনের ক্ষেত্রে: নাম, কী ইনপুট নেয় আর কী ফেরত দেয়।যেখানে শিখবেন: পর্ব ১৩পর্ব ২৩পর্ব ২৮
Internal linkageইন্টারনাল লিংকেজ
যে নাম শুধু নিজের ফাইলের ভেতরে দেখা যায়। ফাংশনের বাইরে static লিখলে এটি হয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ৫৬
Interpreterইন্টারপ্রেটার
যে প্রোগ্রাম কোড আগে থেকে পুরো অনুবাদ না করে, চলার সময় লাইন ধরে ধরে পড়ে চালায়। যেমন Python.যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ৫৫
Interruptইন্টারাপ্ট
হার্ডওয়্যারের পাঠানো একটি সংকেত, যা CPU-কে চলতি কাজ মাঝপথে থামিয়ে একটি নির্দিষ্ট ফাংশন চালাতে বাধ্য করে, তারপর আবার আগের জায়গায় ফেরত পাঠায়।যেখানে শিখবেন: পর্ব ৫১
Interrupt latencyইন্টারাপ্ট ল্যাটেন্সি
হার্ডওয়্যারে ঘটনা ঘটা থেকে ISR-এর প্রথম নির্দেশ চলা পর্যন্ত সময়। কম আর নিশ্চিত latency রিয়েল-টাইম সিস্টেমের মূল চাহিদা।যেখানে শিখবেন: পর্ব ৫১
Interrupt vector tableভেক্টর টেবিল
মেমরির নির্দিষ্ট জায়গায় রাখা ঠিকানার একটি তালিকা: কোন interrupt এলে কোন ফাংশনে যেতে হবে। ARM Cortex-M-এ এর প্রথম ঘরে stack-এর শুরু আর দ্বিতীয় ঘরে reset handler-এর ঠিকানা থাকে।যেখানে শিখবেন: পর্ব ৫১
Introsortইন্ট্রোসর্ট
Quicksort দিয়ে শুরু করে, recursion খুব গভীরে গেলে heapsort-এ আর ছোট টুকরোয় insertion sort-এ বদলে যাওয়া hybrid পদ্ধতি। David Musser, ১৯৯৭ সাল।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৪০
Intrusive listইনট্রুসিভ লিস্ট
যে লিংকড লিস্টে next/prev pointer আলাদা node-এ না রেখে সরাসরি ডেটার struct-এর ভেতরেই বসানো হয়। Linux kernel-এর list_head এর বিখ্যাত উদাহরণ।যেখানে শিখবেন: পর্ব ৩৩
IoT (Internet of Things)আইওটি
ইন্টারনেটে যুক্ত ছোট যন্ত্রের জগৎ: স্মার্ট মিটার, সেন্সর, ক্যামেরা, স্মার্ট সুইচ। প্রায় প্রতিটির ভেতরে একটি মাইক্রোকন্ট্রোলার থাকে।যেখানে শিখবেন: পর্ব ৫১
IP addressআইপি অ্যাড্রেস
নেটওয়ার্কে একটি যন্ত্রের নম্বর-ঠিকানা, যেমন 192.168.0.10 — বাড়ির ঠিকানার মতো, packet কোন যন্ত্রে যাবে তা বলে।যেখানে শিখবেন: পর্ব ০৯পর্ব ৫০
IPC (Inter-Process Communication)আই-পি-সি
আলাদা প্রসেসের মধ্যে তথ্য আদান-প্রদানের সব পদ্ধতির সাধারণ নাম — pipe, signal, shared memory, message queue, socket ইত্যাদি।যেখানে শিখবেন: পর্ব ৪৮
IR (Intermediate Representation)আইআর
Compiler-এর ভেতরের “মাঝামাঝি ভাষা” — C-ও না, machine code-ও না। এখানে এনে কোড optimize করা হয়।যেখানে শিখবেন: পর্ব ০৩
ISR (Interrupt Service Routine)আইএসআর
Interrupt এলে যে ফাংশনটি চলে। একে খুব ছোট রাখতে হয়: খবর রেখে বা flag তুলে দ্রুত বেরিয়ে যাওয়াই নিয়ম।যেখানে শিখবেন: পর্ব ৫১
Iterationইটারেশন
লুপের একবার পুরো ঘোরা। লুপ ১০ বার ঘুরলে ১০টি iteration হয়।যেখানে শিখবেন: পর্ব ১২পর্ব ১৫

J

Jagged arrayজ্যাগড অ্যারে
সারির pointer-এর একটি অ্যারে, যার প্রতিটি সারি আলাদা block আর দৈর্ঘ্যও আলাদা হতে পারে। নমনীয়, কিন্তু সারিগুলো পাশাপাশি থাকে না আর প্রতিটি আলাদা করে free করতে হয়।যেখানে শিখবেন: পর্ব ২১
Join (pthread_join)জয়েন
একটি thread-এর কাজ শেষ হওয়া পর্যন্ত অপেক্ষা করা। join না করলে main শেষ হওয়ার সাথে সাথে বাকি thread-গুলোও বন্ধ হয়ে যেতে পারে।যেখানে শিখবেন: পর্ব ৪৯
Jump tableজাম্প টেবিল
প্রতিটি case-এর কোডের ঠিকানার একটি তালিকা। Compiler এটি বানালে switch মান দেখে সরাসরি সঠিক জায়গায় লাফ দেয়, একে একে তুলনা করতে হয় না।যেখানে শিখবেন: পর্ব ১১পর্ব ২৮

K

K&R Cকে-অ্যান্ড-আর সি
১৯৭৮ সালের “The C Programming Language” বইয়ে বর্ণিত C — আনুষ্ঠানিক স্ট্যান্ডার্ড আসার আগের রূপ। লেখক Kernighan ও Ritchie-র নামের আদ্যক্ষর থেকে নাম।যেখানে শিখবেন: পর্ব ৪৭
K-way mergeকে-ওয়ে মার্জ
k টি আলাদা সাজানো তালিকাকে একটি সাজানো তালিকায় জোড়া। প্রতিটির সামনের মান min-heap-এ রেখে বারবার সবচেয়ে ছোটটি তোলা হয়।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫৬
Kernelকার্নেল
অপারেটিং সিস্টেমের একদম ভেতরের অংশ। মেমরি, CPU-র সময় আর যন্ত্রপাতি কোন প্রোগ্রাম কখন পাবে — সেই সিদ্ধান্ত এখানেই হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ৪৮পর্ব ৫০
Kernel spaceকার্নেল স্পেস
যেখানে অপারেটিং সিস্টেমের kernel পূর্ণ অধিকার নিয়ে চলে — সব মেমরি, সব যন্ত্রপাতি এর নিয়ন্ত্রণে। System call দিয়ে প্রোগ্রাম অল্প সময়ের জন্য এখানে কাজ করিয়ে নেয়।যেখানে শিখবেন: পর্ব ৪৮
Key-value pairকি-ভ্যালু পেয়ার
একটি চাবি আর তার সাথে যুক্ত তথ্যের জোড়া — যেমন চাবি “Mitu”, মান ৯১ নম্বর। চাবি দিয়ে খুঁজলে মানটি পাওয়া যায়।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৫২
Keywordকিওয়ার্ড
C ভাষার নিজস্ব সংরক্ষিত শব্দ, যার অর্থ আগে থেকেই ঠিক করা। যেমন int, void, return. এগুলো দিয়ে নিজের কিছুর নাম রাখা যায় না।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৬
Kruskal's algorithmক্রুসকালের অ্যালগরিদম
গ্রাফের সব vertex সবচেয়ে কম মোট খরচে জোড়ার greedy অ্যালগরিদম: প্রতিবার সবচেয়ে সস্তা edge নেওয়া, যদি তাতে চক্র না হয়।যেখানে শিখবেন: পর্ব ৪৩

L

LCM (Least Common Multiple)এলসিএম
লসাগু: দুটি সংখ্যা দিয়েই বিভাজ্য সবচেয়ে ছোট ধনাত্মক সংখ্যা। কোডে লিখুন a / gcd(a, b) * b, যাতে মাঝপথে overflow না হয়।যেখানে শিখবেন: পর্ব ৪৩পর্ব ৫৫
Leafলিফ
যে নোডের কোনো child নেই — শাখার একেবারে শেষ মাথা, গাছের পাতার মতো।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৬
LeakSanitizer (LSan)লিক স্যানিটাইজার
AddressSanitizer-এর সাথে আসা leak খোঁজার অংশ। প্রোগ্রাম শেষ হলে দেখে কোন malloc করা মেমরি আর কেউ ছুঁতে পারে না অথচ free হয়নি, আর কোথায় নেওয়া হয়েছিল তা দেখায়।যেখানে শিখবেন: পর্ব ৩১
Least privilegeলিস্ট প্রিভিলেজ
নিরাপত্তার একটি নীতি: প্রতিটি প্রোগ্রাম বা ব্যবহারকারী শুধু ততটুকু অনুমতি পাবে, যতটুকু তার কাজের জন্য দরকার — যাতে বাগ থাকলেও ক্ষতি সীমিত থাকে।যেখানে শিখবেন: পর্ব ৪৬
Length-prefixed stringলেংথ-প্রিফিক্সড স্ট্রিং
যে নকশায় লেখার শুরুতেই তার দৈর্ঘ্য লেখা থাকে, শেষে কোনো চিহ্ন লাগে না। BCPL ও পুরোনো Pascal এভাবে স্ট্রিং রাখত।যেখানে শিখবেন: পর্ব ১৯পর্ব ৫০
Level-order traversal (BFS)লেভেল-অর্ডার ট্রাভার্সাল
ওপর থেকে নিচে, প্রতিটি স্তরে বাঁ থেকে ডানে নোড দেখা। এর জন্য একটি queue লাগে।যেখানে শিখবেন: পর্ব ৩৫
libcলিব-সি
C standard library-র একটি বাস্তব রূপ — কোনো একটি দলের লেখা আসল কোড, যা স্ট্যান্ডার্ডে বলা ফাংশনগুলো বানিয়ে দেয়। যেমন glibc, musl, newlib.যেখানে শিখবেন: পর্ব ২৬
Libraryলাইব্রেরি
আগে থেকে লেখা, বারবার ব্যবহার করা যায় এমন কোডের সংগ্রহ। যেমন printf আপনি লেখেননি — এটা standard library থেকে আসে।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ২৯
Lifetimeলাইফটাইম
একটি ভ্যারিয়েবল মেমরিতে কতক্ষণ টিকে থাকে — কখন তৈরি হয় আর কখন মুছে যায়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৪পর্ব ১৭
LIFO (Last In, First Out)লাইফো
“শেষে এলে আগে যাবে” — stack-এর মূল নিয়ম। সবশেষে রাখা জিনিসটিই প্রথমে বের হয়।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৫৫পর্ব ৫৬
limits.hলিমিটস ডট এইচ
প্রতিটি পূর্ণসংখ্যা টাইপের সীমা জানার header — INT_MAX, INT_MIN, LONG_MAX, CHAR_BIT.যেখানে শিখবেন: পর্ব ২৬
Line bufferedলাইন বাফার্ড
যে stream প্রতিটি নতুন লাইন (\n) পাওয়ামাত্র জমানো লেখা পাঠিয়ে দেয়। Terminal-এ গেলে stdout সাধারণত এমন হয়।যেখানে শিখবেন: পর্ব ১০পর্ব ৪৮
Linear probingলিনিয়ার প্রোবিং
Open addressing-এর সবচেয়ে সহজ নিয়ম: ঘর ভরা থাকলে ঠিক পরের ঘর, তারপর তার পরেরটা দেখা — শেষে পৌঁছালে আবার শুরু থেকে।যেখানে শিখবেন: পর্ব ৩৭
Linear time — O(n)লিনিয়ার টাইম
ইনপুট যত গুণ বাড়ে, কাজও প্রায় তত গুণ বাড়ে। প্রতিটি উপাদান একবার করে দেখা এর সাধারণ উদাহরণ।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৩৯
Linearithmic time — O(n log n)লিনিয়ারিদমিক টাইম
n টি উপাদানের প্রতিটির জন্য log n পরিমাণ কাজ। ভালো সর্টিং অ্যালগরিদমগুলো সাধারণত এই শ্রেণিতে পড়ে।যেখানে শিখবেন: পর্ব ৩৯
Linkageলিংকেজ
একটি নাম অন্য ফাইল থেকে দেখা যায় কি না, তার নিয়ম। বাইরে থেকে দেখা গেলে external linkage, শুধু নিজের ফাইলে হলে internal linkage.যেখানে শিখবেন: পর্ব ১৩পর্ব ১৪পর্ব ২৯
Linked listলিংকড লিস্ট
ডেটার এমন তালিকা, যার ঘরগুলো (node) মেমরিতে পাশাপাশি থাকে না — প্রতিটি ঘর নিজের ডেটার সাথে পরের ঘরের ঠিকানা রাখে, আর এভাবেই শিকলের মতো জোড়া থাকে।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৪পর্ব ৩৫
Linkerলিংকার
টুলচেইনের শেষ ধাপ। আপনার কোডের টুকরো আর library-র রেডিমেড কোড জোড়া দিয়ে একটা সম্পূর্ণ প্রোগ্রাম বানায়।যেখানে শিখবেন: পর্ব ০৩পর্ব ২৭পর্ব ২৯
Linker scriptলিংকার স্ক্রিপ্ট
Linker-কে বলে দেওয়া ফাইল: চিপের flash আর RAM কোন ঠিকানা থেকে শুরু, কত বড়, আর কোড ও ডেটার কোন অংশ কোথায় বসবে।যেখানে শিখবেন: পর্ব ৫১
Linux namespaceনেমস্পেস
Linux kernel-এর একটি সুবিধা, যা কয়েকটি প্রসেসকে সিস্টেমের আলাদা একটি দৃশ্য দেখায় — যেমন নিজস্ব PID তালিকা বা নিজস্ব নেটওয়ার্ক। Container তৈরির মূল উপাদান।যেখানে শিখবেন: পর্ব ৪৮
listen()লিসেন
Socket-কে সংযোগ গ্রহণের অবস্থায় নেয়। এরপর kernel আসা সংযোগগুলো handshake করে একটি অপেক্ষার সারিতে রাখে।যেখানে শিখবেন: পর্ব ৫০
Live coding interviewলাইভ কোডিং
ইন্টারভিউয়ারের সামনে শেয়ার করা editor বা হোয়াইটবোর্ডে সরাসরি সমস্যা সমাধান করা, আর সাথে সাথে নিজের ভাবনা ব্যাখ্যা করা।যেখানে শিখবেন: পর্ব ৫৬
Livelockলাইভলক
Thread-গুলো ব্যস্তভাবে চলছে আর একে অপরকে জায়গা ছেড়ে দিচ্ছে, কিন্তু কেউই আসল কাজে এগোতে পারছে না — সরু গলিতে দুজনের বারবার একই দিকে সরার মতো।যেখানে শিখবেন: পর্ব ৪৯
LLVMএলএলভিএম
Compiler বানানোর একটি বিশাল ওপেন-সোর্স কাঠামো। Clang, Rust, Swift — সবাই ভেতরে এটি ব্যবহার করে।যেখানে শিখবেন: পর্ব ০৩
Load balancerলোড ব্যালান্সার
সামনে বসে আসা অনুরোধ বা সংযোগগুলোকে অনেকগুলো server-এ ভাগ করে দেয় এমন যন্ত্র বা প্রোগ্রাম, যাতে কোনো একটির ওপর চাপ না পড়ে।যেখানে শিখবেন: পর্ব ৫০
Load factorলোড ফ্যাক্টর
টেবিল কতটা ভরা তার মাপ: মোট চাবি ভাগ মোট ঘর। এটি একটি সীমা পেরোলে টেবিল বড় করা হয়।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৫২
Loaderলোডার
অপারেটিং সিস্টেমের যে অংশ প্রোগ্রাম ফাইলটি ডিস্ক থেকে মেমরিতে তুলে চালানোর জন্য তৈরি করে।যেখানে শিখবেন: পর্ব ০৪পর্ব ২৯
Local variableলোকাল ভ্যারিয়েবল
কোনো ফাংশন বা block-এর ভেতরে ঘোষণা করা ভ্যারিয়েবল। শুধু সেখানেই দেখা যায়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৭পর্ব ১৮
Localeলোকেল
দেশ ও ভাষাভেদে লেখার নিয়মের সেটিং — দশমিক চিহ্ন, মাসের নাম, তারিখের ধরন। C প্রোগ্রাম ডিফল্টভাবে “C” locale-এ চলে।যেখানে শিখবেন: পর্ব ২৬
Lock orderingলক অর্ডারিং
সব lock-কে একটি নির্দিষ্ট ক্রমে সাজিয়ে প্রতিটি thread-কে সেই ক্রমেই নিতে বাধ্য করা। এতে অপেক্ষার বৃত্ত তৈরি হতে পারে না, ফলে deadlock এড়ানো যায়।যেখানে শিখবেন: পর্ব ৪৯
Logarithmic time — O(log n)লগারিদমিক টাইম
প্রতি ধাপে সমস্যা অর্ধেক (বা কোনো নির্দিষ্ট ভাগে) ছোট হয়, তাই ইনপুট দ্বিগুণ হলে মাত্র একটি ধাপ বাড়ে। Binary search এর সবচেয়ে পরিচিত উদাহরণ।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৩৯
Loggingলগিং
প্রোগ্রাম চলার সময় গুরুত্বপূর্ণ ঘটনা ও ভুল সময়সহ একটি ফাইলে লিখে রাখা, যাতে পরে কী ঘটেছিল তা খুঁজে বের করা যায়।যেখানে শিখবেন: পর্ব ২৫পর্ব ৩০পর্ব ৩১
Logical operatorলজিক্যাল অপারেটর
সত্য-মিথ্যা মিলিয়ে সিদ্ধান্ত নেওয়ার অপারেটর — && (এবং), || (অথবা), ! (না)।যেখানে শিখবেন: পর্ব ০৭
Longest common subsequence (LCS)এলসিএস
দুটি লেখা থেকে কিছু অক্ষর বাদ দিয়ে (ক্রম না বদলে) দুটিতেই পাওয়া যায় এমন সবচেয়ে লম্বা অংশ। diff আর DNA তুলনার ভিত্তি।যেখানে শিখবেন: পর্ব ৪২
Loopলুপ
একই কাজ শর্ত পূরণ না হওয়া পর্যন্ত বারবার করার ব্যবস্থা।যেখানে শিখবেন: পর্ব ০২পর্ব ১২
Loop bodyলুপ বডি
লুপের যে অংশটি প্রতিবার ঘোরার সময় চলে, সাধারণত { } বন্ধনীর ভেতরে লেখা থাকে।যেখানে শিখবেন: পর্ব ১২
Loop conditionলুপ কন্ডিশন
যে সত্য-মিথ্যা প্রশ্ন দেখে লুপ ঠিক করে আরেকবার ঘুরবে কি না। মিথ্যা হলেই লুপ থামে।যেখানে শিখবেন: পর্ব ১২
Loop invariantলুপ ইনভেরিয়েন্ট
লুপের প্রতিটি ঘোরার শুরুতে ও শেষে যে কথাটি সবসময় সত্য থাকে — এটি দিয়েই প্রমাণ করা যায় অ্যালগরিদম ঠিক উত্তর দেবে।যেখানে শিখবেন: পর্ব ০২পর্ব ১২পর্ব ৪১
Loop unrollingলুপ আনরোলিং
লুপের body কয়েকবার পাশাপাশি লিখে লুপকে কম বার ঘোরানো, যাতে শর্ত যাচাইয়ের খরচ কমে। compiler নিজেই করতে পারে।যেখানে শিখবেন: পর্ব ১২
Loopbackলুপব্যাক
নিজের কম্পিউটারকেই বোঝানো বিশেষ ঠিকানা, 127.0.0.1 বা localhost. এখানে পাঠানো ডেটা বাইরের নেটওয়ার্কে যায় না।যেখানে শিখবেন: পর্ব ৫০
Low-level languageলো-লেভেল ল্যাঙ্গুয়েজ
যে ভাষা মেশিনের খুব কাছাকাছি — মেমরি, রেজিস্টার, হার্ডওয়্যার সরাসরি নিয়ন্ত্রণ করা যায়। যেমন assembly. C-কে প্রায়ই এই দুইয়ের মাঝামাঝি ধরা হয়।যেখানে শিখবেন: পর্ব ০১
lower_boundলোয়ার বাউন্ড
সাজানো তালিকায় প্রথম যে ঘরের মান খোঁজা মানের সমান বা বড়, তার index. মানটি না থাকলে এটি সেই জায়গা, যেখানে বসালে তালিকা সাজানোই থাকত।যেখানে শিখবেন: পর্ব ৪১পর্ব ৫৬
LRU cacheএলআরইউ ক্যাশ
Least Recently Used — জায়গা ফুরালে যে জিনিস সবচেয়ে বেশি সময় ধরে কেউ ছোঁয়নি, সেটি আগে ফেলে দেওয়ার নিয়মে চলা cache. সাধারণত hash table আর doubly linked list মিলিয়ে বানানো হয়।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৪৩
LSB (Least Significant Bit)এল-এস-বি
একটি সংখ্যার সবচেয়ে ডানের বিট, অর্থাৎ বিট ০ — যার ওজন সবচেয়ে কম (১)। বিজোড় সংখ্যায় এটি সবসময় 1.যেখানে শিখবেন: পর্ব ০৯
Luhn algorithmলুন অ্যালগরিদম
IBM-এর Hans Peter Luhn-এর তৈরি mod ১০ চেকসাম, যা বেশিরভাগ ব্যাংক কার্ড নম্বরে ব্যবহৃত হয়। টাইপো ধরে, কিন্তু প্রতারণা ঠেকায় না।যেখানে শিখবেন: পর্ব ৪৩

M

Machine codeমেশিন কোড
শুধু 0 আর 1 দিয়ে লেখা নির্দেশ — CPU একমাত্র এই ভাষাই বোঝে।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩
Macroম্যাক্রো
#define দিয়ে বানানো একটি নাম, যার জায়গায় preprocessor compile-এর আগে নির্দিষ্ট লেখা বসিয়ে দেয়।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩০পর্ব ৩২
Macro expansionম্যাক্রো এক্সপ্যানশন
Macro-র নামের জায়গায় তার সংজ্ঞার লেখা বসানোর কাজ। gcc -E দিয়ে এর ফল দেখা যায়।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩২পর্ব ৫৩
Magic numberম্যাজিক নাম্বার
কোডের মাঝে ব্যাখ্যা ছাড়া বসানো একটি সংখ্যা, যেমন if (type == 2). পড়ে বোঝা যায় না 2 মানে কী — তাই ভুলের উৎস।যেখানে শিখবেন: পর্ব ২২পর্ব ২৭
Makefileমেকফাইল
Make টুলের নির্দেশের ফাইল। এতে লেখা থাকে কোন ফাইল কোন ফাইলের ওপর নির্ভর করে, আর বানাতে কোন কমান্ড চালাতে হবে।যেখানে শিখবেন: পর্ব ২৯পর্ব ৫২
malloc()ম্যালক
memory allocate-এর সংক্ষেপ। heap থেকে নির্দিষ্ট সংখ্যক byte চেয়ে নেয় এবং সেই block-এর শুরুর ঠিকানা দেয়; ভেতরের মান আবর্জনা থাকে।যেখানে শিখবেন: পর্ব ২০পর্ব ২১পর্ব ৩৩
MapReduceম্যাপরিডিউস
বিশাল ডেটাকে টুকরো করে অনেক কম্পিউটারে একসাথে প্রক্রিয়া করা (map), তারপর ফলগুলো একত্র করার (reduce) একটি পদ্ধতি। Google ২০০৪ সালে এটি প্রকাশ করে।যেখানে শিখবেন: পর্ব ৪১
Master theoremমাস্টার থিওরেম
Divide and conquer অ্যালগরিদমের recurrence থেকে সরাসরি মোট খরচ বের করার একটি সাধারণ সূত্র — কতগুলো ভাগ, প্রতিটি কত ছোট, আর জোড়ায় কত কাজ, তা দেখে।যেখানে শিখবেন: পর্ব ৩৯পর্ব ৪১
math.hম্যাথ ডট এইচ
দশমিক সংখ্যার অঙ্কের header — sqrt, pow, floor, round, fmod. Linux-এ এর কোড আলাদা libm ফাইলে থাকে, তাই link করতে -lm লাগে।যেখানে শিখবেন: পর্ব ২৬
Mathematical inductionম্যাথমেটিক্যাল ইনডাকশন
প্রমাণের একটি কৌশল: প্রথম ধাপে কথাটি সত্য, আর কোনো ধাপে সত্য হলে পরের ধাপেও সত্য — তাহলে সব ধাপেই সত্য।যেখানে শিখবেন: পর্ব ০২পর্ব ১৫
Matrixম্যাট্রিক্স
সংখ্যার একটি আয়তাকার টেবিল — সারি আর কলামে সাজানো। প্রোগ্রামে সাধারণত 2D অ্যারে দিয়ে রাখা হয়।যেখানে শিখবেন: পর্ব ২১পর্ব ৫৬
Matrix multiplicationম্যাট্রিক্স মাল্টিপ্লিকেশন
দুটি matrix গুণ, যেখানে ফলের প্রতিটি ঘর হলো প্রথমটির একটি সারি আর দ্বিতীয়টির একটি কলামের জোড়ায় জোড়ায় গুণফলের যোগফল। সাধারণ পদ্ধতিতে খরচ O(n³).যেখানে শিখবেন: পর্ব ২১পর্ব ৫৫
Matroidম্যাট্রয়েড
একটি গাণিতিক কাঠামো, যার নিয়ম মানলে “সবচেয়ে ভারী আগে” greedy সবসময় সেরা উত্তর দেয়। Kruskal-এর অ্যালগরিদম কেন সঠিক, তার একটি গভীর ব্যাখ্যা।যেখানে শিখবেন: পর্ব ৪৩
Max-heapম্যাক্স-হিপ
যে heap-এ parent সবসময় সন্তানদের চেয়ে বড় বা সমান, তাই সবচেয়ে বড় মানটি root-এ থাকে।যেখানে শিখবেন: পর্ব ৩৬
MCQ (Multiple Choice Question)এম-সি-কিউ
বহুনির্বাচনী প্রশ্ন — কয়েকটি অপশনের মধ্যে থেকে সঠিকটি বেছে নিতে হয়। C-এর পরীক্ষায় সাধারণত চারটি অপশন থাকে।যেখানে শিখবেন: পর্ব ৫৪
Member (field)মেম্বার / ফিল্ড
struct বা union-এর ভেতরের একেকটি অংশ। Student-এর roll, name, gpa — প্রতিটি একটি member.যেখানে শিখবেন: পর্ব ২২
Memcheck (Valgrind)মেমচেক
Valgrind-এর প্রধান টুল। প্রোগ্রামের প্রতিটি মেমরি-পড়া ও লেখা পরীক্ষা করে invalid read/write, অনির্ধারিত মানের ব্যবহার আর leak জানায় — কোড আবার compile না করেই।যেখানে শিখবেন: পর্ব ৩১
memcpyমেমকপি
string.h-এর ফাংশন, যা এক জায়গা থেকে আরেক জায়গায় নির্দিষ্ট সংখ্যক বাইট কপি করে। দুই জায়গা একটির ওপর আরেকটি পড়লে (overlap) ফল নির্ধারিত নয়।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৬
memmoveমেমমুভ
memcpy-এর মতোই বাইট কপি করে, তবে উৎস আর গন্তব্য একে অপরের ওপর পড়লেও (overlap) সঠিক ফল দেয়। প্রয়োজনে পেছন দিক থেকে কপি করে।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৬
Memoizationমেমোয়াইজেশন
একবার হিসাব করা উত্তর একটি টেবিলে লিখে রাখা, যাতে একই প্রশ্ন আবার এলে নতুন করে হিসাব না করে টেবিল থেকে সরাসরি উত্তর দেওয়া যায়।যেখানে শিখবেন: পর্ব ১৫পর্ব ১৬পর্ব ৩৭
Memory addressমেমরি অ্যাড্রেস
মেমরির প্রতিটি ঘরের একটি নম্বর বা ঠিকানা থাকে। ডেটা কোথায় রাখা আছে, তা এই ঠিকানা দিয়েই চেনা হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ০৬পর্ব ১০
Memory blockমেমরি ব্লক
malloc-এর মতো ফাংশন একবারে যে টানা কয়েকটি byte দেয়, সেই পুরো টুকরোটি।যেখানে শিখবেন: পর্ব ২০
Memory diagramমেমরি ডায়াগ্রাম
খাতায় বাক্স আর তীর এঁকে দেখানো, কোন ভ্যারিয়েবল মেমরির কোথায় আছে, তাতে কী মান আছে আর কোন পয়েন্টার কাকে নির্দেশ করছে।যেখানে শিখবেন: পর্ব ৫৫
Memory leakমেমরি লিক
নেওয়া মেমরি কাজ শেষে ফেরত না দেওয়া, অথবা তার ঠিকানা হারিয়ে ফেলা। দীর্ঘ সময় চলা প্রোগ্রাম এতে ধীরে ধীরে RAM খেয়ে ফেলে।যেখানে শিখবেন: পর্ব ২০পর্ব ২১পর্ব ২৩
Memory Limit Exceeded (MLE)মেমরি লিমিট এক্সিডেড
প্রোগ্রাম সমস্যায় দেওয়া মেমরির সীমার (যেমন ২৫৬ MB) চেয়ে বেশি মেমরি নিয়েছে।যেখানে শিখবেন: পর্ব ৪৪
Memory mapমেমরি ম্যাপ
একটি চলমান প্রোগ্রামের মেমরি কোন কোন ভাগে সাজানো থাকে তার মানচিত্র — code, data, heap আর stack.যেখানে শিখবেন: পর্ব ১৪পর্ব ২০পর্ব ২৮
Memory safetyমেমরি সেফটি
প্রোগ্রাম শুধু নিজের অনুমতি পাওয়া মেমরিতেই পড়বে-লিখবে, অন্যের জায়গায় হাত দেবে না — এই নিশ্চয়তা। C নিজে থেকে এই নিশ্চয়তা দেয় না।যেখানে শিখবেন: পর্ব ০১পর্ব ১৬পর্ব ১৭
Memory-mapped I/Oমেমরি-ম্যাপড আই-ও
হার্ডওয়্যার যন্ত্রের রেজিস্টারগুলোকে সাধারণ মেমরির ঠিকানার মতো বসিয়ে দেওয়ার পদ্ধতি। ঐ ঠিকানায় পড়লে যন্ত্রের অবস্থা জানা যায়, লিখলে যন্ত্রকে নির্দেশ দেওয়া যায়।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫১পর্ব ৫৬
Memory-safe languageমেমরি-সেফ ল্যাঙ্গুয়েজ
যে ভাষা নিজেই সীমার বাইরে প্রবেশ, use-after-free-এর মতো মেমরির ভুল ঠেকায়। যেমন Rust, Java, Go, Python. C ও C++ এই শ্রেণিতে পড়ে না।যেখানে শিখবেন: পর্ব ৪৬
memset_explicitমেমসেট এক্সপ্লিসিট
C23-এর ফাংশন, যা মেমরি মুছে দেয় এবং compiler এই মোছা optimization করে বাদ দিতে পারে না। পাসওয়ার্ড বা গোপন key মুছতে দরকার।যেখানে শিখবেন: পর্ব ৪৭
Merge sortমার্জ সর্ট
অ্যারেকে বারবার অর্ধেক করে, তারপর সাজানো অর্ধেকগুলো জোড়া লাগিয়ে সাজানোর পদ্ধতি। সবসময় n log n আর stable, তবে বাড়তি জায়গা লাগে।যেখানে শিখবেন: পর্ব ৩৯পর্ব ৪০পর্ব ৪১
Message framingমেসেজ ফ্রেমিং
Byte stream-এর মধ্যে কোথায় একটি বার্তা শেষ আর পরেরটি শুরু, তা চিহ্নিত করার নিয়ম — যেমন আগে দৈর্ঘ্য লেখা, বা শেষে newline দেওয়া।যেখানে শিখবেন: পর্ব ৫০
Message queueমেসেজ কিউ
Kernel-এর রাখা একটি সারি, যেখানে প্রসেসগুলো আলাদা আলাদা বার্তা জমা রাখে ও তুলে নেয়। Pipe-এর মতো বাইটের স্রোত নয়, বরং গোটা গোটা বার্তা।যেখানে শিখবেন: পর্ব ৪৮
Microcontrollerমাইক্রোকন্ট্রোলার
একটি চিপের ভেতরেই CPU, ছোট মেমরি আর ইনপুট-আউটপুট — সব একসাথে। দাম কম, বিদ্যুৎ খরচ কম, তাই ঘরের যন্ত্রপাতিতে ব্যবহার হয়।যেখানে শিখবেন: পর্ব ০১পর্ব ০৭পর্ব ১২
MicroPythonমাইক্রোপাইথন
মাইক্রোকন্ট্রোলারে চলার মতো ছোট করে বানানো Python. এর interpreter নিজেই C-তে লেখা, আর চলতে কয়েকশো KB flash লাগে।যেখানে শিখবেন: পর্ব ৫১
Milestoneমাইলস্টোন
প্রজেক্টের একটি নির্দিষ্ট ধাপ, যার শেষে একটি দেখানো যায় এমন ফল থাকে। ভালো নিয়মে প্রতিটি মাইলস্টোনের শেষে প্রোগ্রাম compile হয় ও চলে।যেখানে শিখবেন: পর্ব ২৩পর্ব ৫২
Min-heapমিন-হিপ
যে heap-এ parent সবসময় সন্তানদের চেয়ে ছোট বা সমান, তাই সবচেয়ে ছোট মানটি root-এ থাকে। Dijkstra, top-k আর timer-এ এটিই বেশি লাগে।যেখানে শিখবেন: পর্ব ৩৬পর্ব ৫৬
Minimal reproducible example (MRE)মিনিমাল রিপ্রোডিউসিবল এক্সাম্পল
Bug-টি যতটা ছোট কোডে আর যত কম ইনপুটে বারবার ঘটানো যায়, ততটা ছেঁটে আনা উদাহরণ। এতে কারণ খোঁজা সহজ হয়, অন্যকে দেখানোও সহজ হয়।যেখানে শিখবেন: পর্ব ৩১পর্ব ৫৬
MISRA Cমিসরা সি
গাড়ি শিল্প থেকে আসা C লেখার নিয়মের একটি সংকলন। বিপজ্জনক বা অনিশ্চিত আচরণের ফিচার, যেমন malloc বা recursion, নিষেধ বা সীমিত করে।যেখানে শিখবেন: পর্ব ৪৬পর্ব ৫১
MMU (Memory Management Unit)এমএমইউ
CPU-র যে অংশ virtual memory-র ঠিকানাকে আসল ঠিকানায় বদলায় আর প্রতিটি প্রোগ্রামকে আলাদা রাখে। ছোট মাইক্রোকন্ট্রোলারে সাধারণত এটি থাকে না।যেখানে শিখবেন: পর্ব ৫১
Mock interviewমক ইন্টারভিউ
আসল ইন্টারভিউর আগে বন্ধু, সিনিয়র বা AI-এর সাথে অনুশীলনের জন্য সাজানো নকল ইন্টারভিউ। সময় ধরে, সত্যিকারের মতো পরিবেশে করলে সবচেয়ে কাজে দেয়।যেখানে শিখবেন: পর্ব ৫৬
Model answerমডেল অ্যানসার
একটি প্রশ্নের আদর্শ নমুনা উত্তর, যা দেখে বোঝা যায় পূর্ণ নম্বর পেতে উত্তরে কী কী থাকা উচিত। মুখস্থ করার জন্য নয়, কাঠামো বোঝার জন্য।যেখানে শিখবেন: পর্ব ৫৫
Modular arithmeticমডুলার অ্যারিথমেটিক
ঘড়ির মতো ঘুরে আসা অঙ্ক: সব হিসাব একটি সংখ্যা m-এর ভাগশেষে রাখা হয়। যোগ, বিয়োগ ও গুণের প্রতিটি ধাপে % m নিলেও শেষ উত্তর একই থাকে।যেখানে শিখবেন: পর্ব ৪৩
Modular exponentiationমডুলার এক্সপোনেনশিয়েশন
a-এর ঘাত n-এর ভাগশেষ দ্রুত বের করার পদ্ধতি (square-and-multiply): ঘাতকে বাইনারিতে ভেঙে বারবার বর্গ করা, আর যে বিট 1 সেখানে গুণ করা। খরচ O(log n).যেখানে শিখবেন: পর্ব ৪৩
Modular inverseমডুলার ইনভার্স
a-এর এমন একটি সংখ্যা x, যাতে a × x-এর m দিয়ে ভাগশেষ ১ হয়। mod-এর জগতে এটিই ভাগের কাজ করে; থাকে কেবল gcd(a, m) = ১ হলে।যেখানে শিখবেন: পর্ব ৪৩
Moduleমডিউল
একটি নির্দিষ্ট দায়িত্বের কোডের আলাদা টুকরো, যার বাইরের দরজা (interface) আর ভেতরের কাজ (implementation) আলাদা রাখা হয়। C-তে সাধারণত একটি .h আর একটি .c ফাইলের জোড়া।যেখানে শিখবেন: পর্ব ২৯পর্ব ৫২
Modulo biasমডুলো বায়াস
rand() % n নিলে কিছু ফল অন্যদের চেয়ে বেশি আসার পক্ষপাত, কারণ মোট মানের সংখ্যা n দিয়ে সমান ভাগ হয় না।যেখানে শিখবেন: পর্ব ২৬
Modulus (%)মডুলাস
ভাগশেষ বের করার অপারেটর। 17 % 5 মানে ১৭-কে ৫ দিয়ে ভাগ করলে যা বাকি থাকে, অর্থাৎ ২।যেখানে শিখবেন: পর্ব ০৭পর্ব ৩৪পর্ব ৪৩
Mojibakeমোজিবাকে
ভুল encoding দিয়ে পড়ার ফলে লেখার জায়গায় অর্থহীন চিহ্ন দেখা — যেমন বাংলার বদলে অ ধরনের লেখা। শব্দটি জাপানি।যেখানে শিখবেন: পর্ব ০৫পর্ব ১৯পর্ব ২৩
Monotonicমনোটোনিক
একমুখী — যা শুধু একদিকেই বদলায়। হ্যাঁ/না প্রশ্নের ক্ষেত্রে, মান বাড়ালে উত্তর একবার “হ্যাঁ” হলে আর কখনো “না” হয় না।যেখানে শিখবেন: পর্ব ৪১
MSB (Most Significant Bit)এম-এস-বি
একটি সংখ্যার সবচেয়ে বাঁয়ের বিট — যার ওজন সবচেয়ে বেশি। signed সংখ্যায় এটিই চিহ্ন-বিট।যেখানে শিখবেন: পর্ব ০৯
MSVCএম-এস-ভি-সি
Microsoft-এর C/C++ compiler, Visual Studio-র সাথে আসে। বহু বছর এর আধুনিক C সমর্থন পিছিয়ে ছিল।যেখানে শিখবেন: পর্ব ৪৭
Multi-core CPUমাল্টি-কোর সিপিইউ
যে CPU চিপের ভেতরে কয়েকটি আলাদা প্রসেসিং ইউনিট (core) থাকে, যারা একই সময়ে আলাদা আলাদা কাজ চালাতে পারে।যেখানে শিখবেন: পর্ব ৪৯
Multidimensional arrayমাল্টিডাইমেনশনাল অ্যারে
একাধিক index দিয়ে ঘর চেনা যায় এমন অ্যারে, যেমন সারি-কলামের টেবিল বা ভবন-তলা-কক্ষ। মেমরিতে এটি আসলে একটি লম্বা একটানা সারি।যেখানে শিখবেন: পর্ব ২১
Multithreadingমাল্টিথ্রেডিং
একটি প্রোগ্রামকে কয়েকটি thread-এ ভাগ করে চালানোর কৌশল, যাতে কাজ একসাথে এগোয় আর একাধিক core কাজে লাগে।যেখানে শিখবেন: পর্ব ৪৯
muslমাসল
ছোট, সরল একটি Linux C library. Static linking-এর জন্য জনপ্রিয়; Alpine Linux এটি ব্যবহার করে।যেখানে শিখবেন: পর্ব ২৬
Mutation testingমিউটেশন টেস্টিং
কোডে ইচ্ছা করে ছোট ভুল ঢুকিয়ে দেখা test-গুলো তা ধরতে পারে কি না। এভাবে test-এর শক্তি মাপা হয়।যেখানে শিখবেন: পর্ব ৩২
Mutexমিউটেক্স
Mutual exclusion-এর সংক্ষেপ। একটি তালা: যে thread lock নেয়, unlock না করা পর্যন্ত অন্য কেউ সেই অংশে ঢুকতে পারে না, বাইরে অপেক্ষা করে।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৯পর্ব ৫২
MVP (Minimum Viable Product)এমভিপি
সবচেয়ে ছোট এমন সংস্করণ, যা ব্যবহারকারীর আসল সমস্যার মূল অংশটুকু সমাধান করে। বাড়তি সুবিধা পরে আসে।যেখানে শিখবেন: পর্ব ২৩পর্ব ৫২

N

Named pipe (FIFO file)নেমড পাইপ
ফাইল সিস্টেমে একটি নাম থাকা pipe, যা mkfifo দিয়ে তৈরি হয়। এতে সম্পর্কহীন দুটি প্রসেসও নাম ধরে খুলে একে অপরকে তথ্য পাঠাতে পারে।যেখানে শিখবেন: পর্ব ৪৮
Narrowing conversionন্যারোয়িং কনভার্শন
বড় টাইপ থেকে ছোট টাইপে রূপান্তর, যেমন double থেকে int. এতে মান কেটে যেতে, মুড়ে যেতে বা অর্থহীন হতে পারে।যেখানে শিখবেন: পর্ব ০৮
Nasal demonsনেইজাল ডিমনস
Undefined behavior-এর মজার ডাকনাম। ১৯৯২ সালের একটি Usenet আলোচনা থেকে এসেছে: UB ঘটলে compiler চাইলে “নাক দিয়ে দানব” বের করতে পারে, অর্থাৎ যা খুশি তাই ঘটতে পারে।যেখানে শিখবেন: পর্ব ৪৬
NDEBUGএন-ডিবাগ
যে macro সংজ্ঞায়িত থাকলে প্রতিটি assert বাদ পড়ে যায়। সাধারণত release build-এ -DNDEBUG দিয়ে দেওয়া হয়।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩০পর্ব ৩২
Negative markingনেগেটিভ মার্কিং
ভুল উত্তরের জন্য নম্বর কেটে নেওয়ার নিয়ম। এমন পরীক্ষায় আন্দাজ করার আগে প্রত্যাশিত লাভ-ক্ষতি হিসাব করতে হয়।যেখানে শিখবেন: পর্ব ৫৪
Nested ifনেস্টেড ইফ
একটি if-এর ভেতরে আরেকটি if — একটি সিদ্ধান্তের পরে আরেকটি সিদ্ধান্ত।যেখানে শিখবেন: পর্ব ১১
Nested loopনেস্টেড লুপ
একটি লুপের ভেতরে আরেকটি লুপ। বাইরেরটি n বার আর ভেতরেরটি m বার ঘুরলে ভেতরের কাজ হয় n × m বার।যেখানে শিখবেন: পর্ব ১২পর্ব ১৬পর্ব ২১
Nested structনেস্টেড স্ট্রাক্ট
একটি struct-এর ভেতরে member হিসেবে আরেকটি struct রাখা। যেমন Student-এর ভেতরে Address.যেখানে শিখবেন: পর্ব ২২
Networkনেটওয়ার্ক
তার, Wi-Fi বা মোবাইল সংকেত দিয়ে জোড়া কয়েকটি যন্ত্র, যারা একে অপরকে ডেটা পাঠাতে পারে। ইন্টারনেট হলো পৃথিবীজোড়া অসংখ্য নেটওয়ার্কের নেটওয়ার্ক।যেখানে শিখবেন: পর্ব ৫০
Network byte orderনেটওয়ার্ক বাইট অর্ডার
ইন্টারনেট protocol-এ একাধিক byte-এর সংখ্যা পাঠানোর নির্দিষ্ট ক্রম — big-endian, অর্থাৎ বড় ঘরের byte আগে।যেখানে শিখবেন: পর্ব ৫০
newlibনিউ-লিব
Microcontroller ও এমবেডেড যন্ত্রের জন্য বানানো হালকা C library. OS-নির্ভর কাজগুলো কয়েকটি ছোট ফাংশনে আলাদা রাখে, যা প্রোগ্রামার নিজে লেখেন।যেখানে শিখবেন: পর্ব ২৬
Nibbleনিবল
৪ বিটের একটি দল, অর্থাৎ অর্ধেক byte. প্রতিটি hex অঙ্ক ঠিক একটি nibble.যেখানে শিখবেন: পর্ব ০৯
Nodeনোড
লিংকড লিস্ট বা ট্রির একটি ঘর। এতে থাকে কিছু ডেটা আর এক বা একাধিক pointer, যা অন্য node-এর ঠিকানা দেখায়।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৫পর্ব ৩৭
_Noreturn / [[noreturn]]নো-রিটার্ন
Compiler-কে জানানো যে এই ফাংশন কখনো ফিরে আসবে না — যেমন exit() বা abort(). এতে warning ও optimization দুটোই উন্নত হয়।যেখানে শিখবেন: পর্ব ৪৭
NP-hardএনপি-হার্ড
এমন কঠিন সমস্যার শ্রেণি, যার জন্য সব ইনপুটে দ্রুত (polynomial সময়ে) চলে এমন কোনো অ্যালগরিদম আজও জানা নেই। Knapsack এমন একটি সমস্যা।যেখানে শিখবেন: পর্ব ৪২
NULLনাল
একটি বিশেষ pointer মান, যার অর্থ “কোথাও দেখায় না”. stdio.h, stdlib.h সহ কয়েকটি header-এ সংজ্ঞায়িত; বাস্তবে সাধারণত ঠিকানা ০.যেখানে শিখবেন: পর্ব ১৭পর্ব ২৪পর্ব ৩৩
Null pointerনাল পয়েন্টার
যে pointer-এ NULL রাখা আছে, অর্থাৎ যা কোনো বৈধ বস্তুকে দেখায় না। এতে * চালালে সাধারণত Segmentation fault হয়।যেখানে শিখবেন: পর্ব ১৭পর্ব ১৯পর্ব ২০
Null terminator ('\0')নাল টার্মিনেটর
স্ট্রিংয়ের শেষে বসানো শূন্য মানের একটি বাইট। এটি দেখেই সব ফাংশন বোঝে লেখা কোথায় শেষ; এটি হারালে ফাংশনগুলো সীমা পেরিয়ে পড়তে থাকে।যেখানে শিখবেন: পর্ব ১৯পর্ব ৫৩পর্ব ৫৪
nullptrনাল-পয়েন্টার
C23-এর keyword, যা নিশ্চিতভাবে একটি null pointer বোঝায়। এর নিজস্ব টাইপ nullptr_t, তাই NULL-এর মতো int-এর সাথে গুলিয়ে যায় না।যেখানে শিখবেন: পর্ব ৪৭
Number theoryনাম্বার থিওরি
পূর্ণসংখ্যার গণিত — বিভাজ্যতা, ভাগশেষ, prime, GCD ইত্যাদি। আধুনিক ক্রিপ্টোগ্রাফির ভিত্তি।যেখানে শিখবেন: পর্ব ৪৩
NX (No-eXecute) / DEPএন-এক্স
CPU ও OS-এর একটি সুরক্ষা, যা stack ও heap-এর মতো ডেটার মেমরিকে “এখানে কোড চালানো যাবে না” চিহ্ন দেয়। Windows-এ এর নাম DEP.যেখানে শিখবেন: পর্ব ৪৬

O

Object file (.o)অবজেক্ট ফাইল
মেশিন কোডে বদলানো একটা টুকরো, কিন্তু এখনো অসম্পূর্ণ — অন্য টুকরোর সাথে জোড়া (link) লাগেনি।যেখানে শিখবেন: পর্ব ০৩পর্ব ৫৪
Object-like macroঅবজেক্ট-লাইক ম্যাক্রো
Argument ছাড়া macro, দেখতে সাধারণ নামের মতো — যেমন #define MAX_STUDENTS 60.যেখানে শিখবেন: পর্ব ২৭
Observabilityঅবজারভেবিলিটি
চলমান সিস্টেমের ভেতরে কী ঘটছে তা বাইরে থেকে বোঝার ক্ষমতা — log, metric আর trace-এর মাধ্যমে। Production-এ debugger বসানো যায় না, তাই এগুলোই ভরসা।যেখানে শিখবেন: পর্ব ৩১
Octalঅক্টাল
৮-ভিত্তিক সংখ্যা পদ্ধতি, যেখানে শুধু 0 থেকে 7 অঙ্ক থাকে। C-তে কোনো সংখ্যা 0 দিয়ে শুরু করলে compiler সেটিকে octal ধরে নেয়।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৯
Off-by-one errorঅফ-বাই-ওয়ান এরর
লুপ একবার বেশি বা একবার কম ঘোরার ভুল। সাধারণত ভুল চিহ্ন বা ভুল শুরুর মান থেকে হয়।যেখানে শিখবেন: পর্ব ১২পর্ব ১৬পর্ব ১৮
offsetofঅফসেট-অফ
stddef.h-এর একটি macro, যা বলে দেয় struct-এর শুরু থেকে কোনো member কত বাইট দূরে বসেছে।যেখানে শিখবেন: পর্ব ২২পর্ব ৩৩
Old-style (K&R) function definitionওল্ড-স্টাইল ডেফিনিশন
প্যারামিটারের নাম বন্ধনীতে আর টাইপ আলাদা লাইনে লেখার পুরোনো রীতি, যেমন int add(a, b) int a, b; {...}. C23 স্ট্যান্ডার্ড থেকে বাদ পড়েছে।যেখানে শিখবেন: পর্ব ৪৭
One definition ruleওয়ান ডেফিনিশন রুল
External linkage-এর প্রতিটি নামের পুরো প্রোগ্রামে ঠিক একটি definition থাকবে — একটিও না থাকলে undefined reference, দুটি থাকলে multiple definition.যেখানে শিখবেন: পর্ব ১৪
One-past-the-end pointerওয়ান-পাস্ট-দ্য-এন্ড পয়েন্টার
Array-র শেষ ঘরের ঠিক পরের ঠিকানা। এটি বানানো আর তুলনা করা বৈধ (লুপ থামানোর জন্য), কিন্তু সেখানে পড়া বা লেখা নিষেধ।যেখানে শিখবেন: পর্ব ১৮
Online assessment (OA)অনলাইন অ্যাসেসমেন্ট
সময় বাঁধা অনলাইন পরীক্ষা, যেখানে কয়েকটি কোডিং সমস্যা বা MCQ থাকে। লুকানো test case দিয়ে যন্ত্র নিজে নম্বর দেয়।যেখানে শিখবেন: পর্ব ৫৬
Online judgeঅনলাইন জাজ
যে ওয়েবসাইট আপনার জমা দেওয়া কোড নিজে compile করে, গোপন টেস্ট দিয়ে চালায় এবং ফল জানিয়ে দেয় — যেমন Codeforces, LightOJ, Toph.যেখানে শিখবেন: পর্ব ৪৪পর্ব ৫৬
Opaque pointerওপেক পয়েন্টার
এমন একটি struct-এর পয়েন্টার, যার ভেতরের field ব্যবহারকারী দেখতে পান না — শুধু নাম জানেন। কাজ করতে হয় মডিউলের দেওয়া ফাংশন দিয়ে। যেমন FILE *.যেখানে শিখবেন: পর্ব ২৯পর্ব ৩৪পর্ব ৫২
Open addressingওপেন অ্যাড্রেসিং
Collision সামলানোর একটি উপায়: সব চাবি একটিই array-তে থাকে, প্রতি ঘরে একটি। ঘর ভরা থাকলে একটি নিয়ম মেনে অন্য ঘর খোঁজা হয়।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৫৬
Operandঅপারেন্ড
যে মানের ওপর অপারেটর কাজ করে। a + b-তে a আর b হলো দুটি operand.যেখানে শিখবেন: পর্ব ০৭
Operating system (OS)অপারেটিং সিস্টেম
যে মূল সফটওয়্যার হার্ডওয়্যার সামলায় আর অন্য সব প্রোগ্রামকে চলার জায়গা দেয় — যেমন Windows, Android, Linux, macOS.যেখানে শিখবেন: পর্ব ০১পর্ব ৪৮পর্ব ৪৯
Operatorঅপারেটর
যে চিহ্ন এক বা একাধিক মান নিয়ে কোনো কাজ করে নতুন একটি মান তৈরি করে — যেমন যোগের চিহ্ন + বা তুলনার চিহ্ন ==.যেখানে শিখবেন: পর্ব ০৭
Optimal substructureঅপটিমাল সাবস্ট্রাকচার
বড় সমস্যার সেরা উত্তরের ভেতরে ছোট উপ-সমস্যার সেরা উত্তর লুকিয়ে থাকা, ফলে ছোট সেরা উত্তরগুলো জুড়েই বড় সেরা উত্তর গড়া যায়।যেখানে শিখবেন: পর্ব ৪২
Optimization (-O2)অপটিমাইজেশন
Compiler আপনার কোডের অর্থ ঠিক রেখে সেটিকে দ্রুত বা ছোট করার জন্য নিজে থেকে নতুন করে সাজায়।যেখানে শিখবেন: পর্ব ০৩পর্ব ১২পর্ব ১৫
Order of evaluationঅর্ডার অফ ইভ্যালুয়েশন
একটি এক্সপ্রেশনের অংশগুলো (যেমন + এর দুই পাশ বা ফাংশনের আর্গুমেন্ট) কোন ক্রমে হিসাব হয়। C-তে বেশিরভাগ ক্ষেত্রে এটি নির্দিষ্ট নয়; precedence শুধু কোনটি কার সাথে জোড়া বাঁধে তা ঠিক করে।যেখানে শিখবেন: পর্ব ৫৩
Orphan processঅরফান প্রসেস
যে child চলছে অথচ তার parent আগেই শেষ হয়ে গেছে। Linux-এ একে সাধারণত PID 1 (init বা systemd) দত্তক নেয় এবং শেষ হলে তার ফলাফল সংগ্রহ করে।যেখানে শিখবেন: পর্ব ৪৮
OTA updateওটিএ আপডেট
Over-the-air: তার না জুড়ে ইন্টারনেট বা বেতারের মাধ্যমে যন্ত্রের firmware নতুন করে লেখা। ভুল হলে যন্ত্র অচল হতে পারে, তাই এর নিরাপত্তা খুব জরুরি।যেখানে শিখবেন: পর্ব ৫১
Out of memory (OOM)আউট অব মেমরি
কম্পিউটারে দেওয়ার মতো আর মেমরি না থাকা। তখন malloc ব্যর্থ হতে পারে, অথবা অপারেটিং সিস্টেম কোনো প্রোগ্রাম জোর করে বন্ধ করে দিতে পারে।যেখানে শিখবেন: পর্ব ২০
Out-of-bounds accessআউট-অফ-বাউন্ডস অ্যাক্সেস
অ্যারের বৈধ সীমার (0 থেকে n − 1) বাইরের কোনো ঘরে পড়া বা লেখা। C-তে এর ফল undefined behavior.যেখানে শিখবেন: পর্ব ১৬পর্ব ৪৬
Output parameterআউটপুট প্যারামিটার
যে pointer parameter-এর কাজ তথ্য আনা নয়, ফল বাইরে পাঠানো। যে ফাংশন ডাকে, সে ঘরের ঠিকানা দেয়, ফাংশন সেখানে ফল লিখে দেয়।যেখানে শিখবেন: পর্ব ১৮পর্ব ৩০
Overflowওভারফ্লো
হিসাবের ফল এত বড় বা ছোট হয়ে যাওয়া যে নির্দিষ্ট সংখ্যক বিটের ঘরে আর আঁটে না। তখন ভুল মান পাওয়া যায়।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৬পর্ব ০৭
Overlapping subproblemsওভারল্যাপিং সাবপ্রবলেমস
বড় সমস্যা ভাঙলে একই ছোট উপ-সমস্যা বারবার ফিরে আসা — যেমন fib(5) আর fib(4) দুজনেরই fib(3) লাগে। এটি থাকলেই উত্তর মনে রাখার লাভ হয়।যেখানে শিখবেন: পর্ব ৪২পর্ব ৫৫
Ownershipওনারশিপ
একটি heap block-এর মালিক কে — অর্থাৎ কোন ফাংশন বা অংশ শেষ পর্যন্ত সেটি free করবে — সেই স্পষ্ট নিয়ম।যেখানে শিখবেন: পর্ব ২০পর্ব ৪৬পর্ব ৫২

P

P vs NPপি ভার্সাস এনপি
কম্পিউটার বিজ্ঞানের সবচেয়ে বিখ্যাত অমীমাংসিত প্রশ্ন: যে সমস্যার উত্তর দ্রুত যাচাই করা যায়, তার উত্তর কি সবসময় দ্রুত খুঁজেও বের করা যায়? এখনো কেউ প্রমাণ করতে পারেননি।যেখানে শিখবেন: পর্ব ৩৯
Packed structপ্যাকড স্ট্রাক্ট
compiler-কে padding না দিতে বলা struct. জায়গা বাঁচে, কিন্তু পড়া ধীর হতে পারে এবং কিছু CPU-তে বিপদ ঘটতে পারে। এটি C standard-এর অংশ নয়, compiler-এর বাড়তি সুবিধা।যেখানে শিখবেন: পর্ব ২২
Packetপ্যাকেট
নেটওয়ার্কে পাঠানো ডেটার একটি ছোট টুকরো, যার গায়ে প্রেরক ও প্রাপকের ঠিকানা লেখা থাকে। বড় ডেটা অনেক packet-এ ভাগ হয়ে যায়।যেখানে শিখবেন: পর্ব ৫০
Paddingপ্যাডিং
alignment ঠিক রাখতে compiler struct-এর member-গুলোর মাঝে বা শেষে যে ফাঁকা বাইট বসায়। এগুলোতে কোনো তথ্য থাকে না, কিন্তু জায়গা নেয়।যেখানে শিখবেন: পর্ব ২২পর্ব ২৪পর্ব ৩৫
Page faultপেজ ফল্ট
প্রোগ্রাম এমন কোনো মেমরি-পাতা ছুঁয়েছে যেটি নিয়ে kernel-কে আগে কিছু করতে হবে — যেমন ডিস্ক থেকে আনা বা copy-on-write-এর কপি বানানো। CPU তখন থেমে kernel-কে ডাকে।যেখানে শিখবেন: পর্ব ৪৮
Palindromeপ্যালিনড্রোম
যে সংখ্যা বা শব্দ সামনে থেকে আর পেছন থেকে পড়লে একই থাকে, যেমন 121 বা madam.যেখানে শিখবেন: পর্ব ৫৫পর্ব ৫৬
Parallelismপ্যারালেলিজম
কয়েকটি কাজ আক্ষরিক অর্থেই একই মুহূর্তে চলা — এর জন্য একাধিক CPU core লাগে।যেখানে শিখবেন: পর্ব ৪৯
Parameterপ্যারামিটার
ফাংশন কাজ শুরুর সময় বাইরে থেকে যে তথ্য নেয়, তার জন্য রাখা জায়গা। ফাংশনের নামের পরের ( )-এর ভেতরে লেখা হয়।যেখানে শিখবেন: পর্ব ০৪পর্ব ১৩পর্ব ১৮
Parent arrayপ্যারেন্ট অ্যারে
BFS বা DFS চলার সময় প্রতিটি vertex-এ কার কাছ থেকে প্রথম পৌঁছানো হলো, তা যে array-তে লিখে রাখা হয়। শেষে উল্টো দিকে হেঁটে পুরো পথটি বের করা যায়।যেখানে শিখবেন: পর্ব ৩৮
Parent nodeপ্যারেন্ট নোড
যে নোড থেকে ঠিক নিচের একটি নোডে শাখা নেমেছে, সে ওই নোডের parent বা অভিভাবক।যেখানে শিখবেন: পর্ব ৩৫
Parent processপ্যারেন্ট প্রসেস
যে প্রসেস fork() করে নতুন একটি প্রসেস তৈরি করেছে। নতুন প্রসেসটি শেষ হলে তার ফলাফল সংগ্রহ করার দায়িত্বও এরই।যেখানে শিখবেন: পর্ব ৪৮
Parityপ্যারিটি
কয়েকটি বিটে 1-এর সংখ্যা জোড় না বিজোড়। বিটগুলোর XOR করলেই পাওয়া যায়, আর একটি বিট উল্টে গেলে তা ধরতে কাজে লাগে।যেখানে শিখবেন: পর্ব ০৯
Partitionপার্টিশন
অ্যারেকে এমনভাবে সাজানো যাতে pivot-এর চেয়ে ছোটরা এক পাশে আর বড়রা আরেক পাশে থাকে। এটি quicksort-এর মূল কাজ, খরচ প্রায় n.যেখানে শিখবেন: পর্ব ৪০
Pass by referenceপাস বাই রেফারেন্স
ফাংশনকে ভ্যারিয়েবলের কপি নয়, ভ্যারিয়েবলটিই দেওয়া, যাতে ফাংশন মূল মান বদলাতে পারে। C-তে এটি করা হয় ঠিকানা (pointer) পাঠিয়ে।যেখানে শিখবেন: পর্ব ১৭
Pass by valueপাস বাই ভ্যালু
ফাংশনকে মূল ভ্যারিয়েবল না দিয়ে তার মানের একটি কপি দেওয়া। ফাংশন কপি বদলালে মূল ভ্যারিয়েবল বদলায় না। C সবসময় এভাবেই argument পাঠায়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৬পর্ব ১৭
PATHপাথ
একটি environment variable, যেখানে ফোল্ডারের তালিকা থাকে। শুধু নাম লিখে কমান্ড দিলে (যেমন gcc) shell এই ফোল্ডারগুলোতে প্রোগ্রামটি খোঁজে।যেখানে শিখবেন: পর্ব ২৫
Pattern recognitionপ্যাটার্ন রিকগনিশন
আলাদা আলাদা সমস্যার মধ্যে মিল খুঁজে বের করা, যাতে একবারের সমাধান বারবার কাজে লাগানো যায়।যেখানে শিখবেন: পর্ব ০২পর্ব ৪৪
Peek (top)পিক
Stack-এর ওপরের মানটি শুধু দেখা, তুলে না নিয়ে। Stack যেমন ছিল তেমনই থাকে।যেখানে শিখবেন: পর্ব ৩৪
Peripheralপেরিফেরাল
মাইক্রোকন্ট্রোলারের ভেতরে CPU-র পাশে বসানো ছোট ছোট হার্ডওয়্যার অংশ, যেমন GPIO, টাইমার, ADC বা UART. প্রতিটি নিজের রেজিস্টার দিয়ে নিয়ন্ত্রিত হয়।যেখানে শিখবেন: পর্ব ৫১
perrorপি-এরর
errno-র সংখ্যাটিকে মানুষের ভাষার বার্তায় বদলে stderr-এ ছাপার ফাংশন, যেমন data.txt: No such file or directory.যেখানে শিখবেন: পর্ব ২৪পর্ব ৩০পর্ব ৫০
Persistenceপারসিস্টেন্স
ডেটাকে প্রোগ্রামের আয়ুর চেয়ে বেশি দিন টিকিয়ে রাখার গুণ — যেমন ফাইল বা ডেটাবেসে রাখা, যাতে পরেরবার খুললেও পাওয়া যায়।যেখানে শিখবেন: পর্ব ২৪পর্ব ৫২
Persistent data structureপারসিস্টেন্ট ডেটা স্ট্রাকচার
যে ডেটা স্ট্রাকচার বদলালে পুরোনো রূপটি নষ্ট হয় না — নতুন রূপ পুরোনোর বেশিরভাগ অংশ ভাগ করে নিয়ে তৈরি হয়। functional ভাষায় খুব প্রচলিত।যেখানে শিখবেন: পর্ব ৩৩
Phone screenফোন স্ক্রিন
নিয়োগের শুরুর দিকের ছোট একটি ফোন বা ভিডিও আলাপ। এতে প্রার্থীর পটভূমি, আগ্রহ আর কখনো একটি সহজ টেকনিক্যাল প্রশ্ন দেখা হয়।যেখানে শিখবেন: পর্ব ৫৬
PID (Process ID)পি-আই-ডি
অপারেটিং সিস্টেম প্রতিটি প্রসেসকে যে অনন্য নম্বর দেয়। এই নম্বর দিয়েই প্রসেসকে চেনা, অপেক্ষা করা বা বন্ধ করা হয়।যেখানে শিখবেন: পর্ব ৪৮
PIE (Position-Independent Executable)পাই
এমনভাবে তৈরি প্রোগ্রাম, যা মেমরির যেকোনো ঠিকানায় বসানো যায়। এতে ASLR প্রোগ্রামের নিজের কোডকেও প্রতিবার এলোমেলো ঠিকানায় রাখতে পারে।যেখানে শিখবেন: পর্ব ৪৬
Pigeonhole principleপিজিয়নহোল প্রিন্সিপল
খোপের চেয়ে কবুতর বেশি হলে অন্তত একটি খোপে একাধিক কবুতর থাকবেই — গণিতের এই সহজ নিয়ম থেকেই বোঝা যায় collision অবধারিত।যেখানে শিখবেন: পর্ব ৩৭
Pipeপাইপ
| চিহ্ন দিয়ে একটি প্রোগ্রামের stdout সরাসরি পরের প্রোগ্রামের stdin-এ জুড়ে দেওয়া। মাঝখানে কোনো ফাইল লাগে না।যেখানে শিখবেন: পর্ব ১০পর্ব ২৫পর্ব ৪৮
Pivotপিভট
Quicksort-এ যে উপাদানকে মাপকাঠি ধরে বাকিদের ছোট আর বড় দুই দলে ভাগ করা হয়। ভাগ শেষে pivot তার চূড়ান্ত জায়গায় বসে।যেখানে শিখবেন: পর্ব ৪০
Pixelপিক্সেল
ডিজিটাল ছবির সবচেয়ে ছোট বিন্দু। রঙিন ছবিতে প্রতিটি pixel-এ সাধারণত লাল, সবুজ আর নীলের তিনটি সংখ্যা থাকে।যেখানে শিখবেন: পর্ব ২১
Plagiarismপ্লেজিয়ারিজম
অন্যের লেখা, কোড বা ধারণা উৎস না জানিয়ে নিজের বলে চালানো — শিক্ষা ও পেশা, দুই জায়গাতেই গুরুতর অসততা।যেখানে শিখবেন: পর্ব ৫২
Pluginপ্লাগইন
মূল প্রোগ্রাম না বদলিয়েই বাইরে থেকে যোগ করা যায় এমন কোড, যা একটি নির্দিষ্ট interface মেনে লেখা।যেখানে শিখবেন: পর্ব ২৮
Pointerপয়েন্টার
এমন একটি ভ্যারিয়েবল, যার ভেতরে কোনো মান নয়, বরং আরেকটি ভ্যারিয়েবলের মেমরির ঠিকানা থাকে। যেমন int *p = &x; লিখলে p-তে থাকে x-এর ঠিকানা.যেখানে শিখবেন: পর্ব ১৭পর্ব ১৮পর্ব ১৯
Pointer arithmeticপয়েন্টার অ্যারিথমেটিক
Pointer-এ পূর্ণসংখ্যা যোগ-বিয়োগ করা। p + k ঠিকানাকে k বাইট নয়, k ঘর (k × sizeof(*p) বাইট) সরায়।যেখানে শিখবেন: পর্ব ১৮পর্ব ২১পর্ব ৫৩
Pointer chasingপয়েন্টার চেজিং
একটি pointer পড়ে তবেই জানা যায় পরের ঠিকানা কোথায় — এভাবে ঠিকানার পিছু পিছু হাঁটা। CPU আগে থেকে পরের ডেটা আনতে পারে না বলে এটি ধীর।যেখানে শিখবেন: পর্ব ৩৩
Pointer to arrayপয়েন্টার টু অ্যারে
এমন pointer যা একটি পুরো অ্যারেকে (যেমন ৪টি int-এর একটি সারি) দেখায়, লেখা হয় int (*p)[4]. এতে ১ যোগ করলে একটি পুরো সারি এগোয়।যেখানে শিখবেন: পর্ব ২১
Pointer to pointer (**)পয়েন্টার টু পয়েন্টার
এমন pointer, যার ভেতরে আরেকটি pointer-এর ঠিকানা থাকে। যেমন int **pp = &p; আর main-এর char **argv.যেখানে শিখবেন: পর্ব ১৭পর্ব ২১পর্ব ২৫
Pollingপোলিং
কোনো ঘটনা ঘটল কি না জানতে একটি মান বারবার পড়ে দেখা, যেমন সেন্সরের ready বিট সেট হলো কি না।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫১
Polymorphismপলিমরফিজম
একই ডাক বা একই interface দিয়ে, বস্তুর ধরন অনুযায়ী ভিন্ন ভিন্ন কোড চালানো। C-তে function pointer-এর struct দিয়ে, অন্য ভাষায় virtual method দিয়ে করা হয়।যেখানে শিখবেন: পর্ব ২৮
Popপপ
Stack-এর একদম ওপরের মানটি তুলে নেওয়ার কাজ। মানটি ফেরত আসে এবং stack থেকে সরে যায়।যেখানে শিখবেন: পর্ব ৩৪
Popcountপপকাউন্ট
একটি সংখ্যার কয়টি বিট 1, তার হিসাব — পুরো নাম population count. আধুনিক CPU-তে এর জন্য আলাদা নির্দেশ থাকে।যেখানে শিখবেন: পর্ব ০৯পর্ব ৪৭পর্ব ৫৬
Portপোর্ট
একটি কম্পিউটারের ভেতরে কোন প্রোগ্রাম ডেটা পাবে, তা বোঝানোর ১৬ বিটের নম্বর (০ থেকে ৬৫৫৩৫) — ভবনের ভেতরে ফ্ল্যাট নম্বরের মতো।যেখানে শিখবেন: পর্ব ৫০
Portabilityপোর্টেবিলিটি
একই কোড সামান্য বা কোনো পরিবর্তন ছাড়াই ভিন্ন ভিন্ন যন্ত্র ও অপারেটিং সিস্টেমে চালাতে পারার গুণ।যেখানে শিখবেন: পর্ব ০১পর্ব ২৭
Portfolioপোর্টফোলিও
নিজের বানানো কাজের গোছানো সংগ্রহ — যেমন GitHub-এ README-সহ প্রজেক্ট — যা দেখে অন্যরা আপনার দক্ষতা বুঝতে পারেন।যেখানে শিখবেন: পর্ব ৫২
posix_spawn()পজিক্স স্পন
fork আর exec আলাদা না ডেকে এক ডাকেই নতুন প্রোগ্রাম চালানোর POSIX ফাংশন। বড় প্রোগ্রামের ক্ষেত্রে এটি প্রায়ই fork-এর চেয়ে দ্রুত ও নিরাপদ।যেখানে শিখবেন: পর্ব ৪৮
Postfix notation (RPN)পোস্টফিক্স নোটেশন
হিসাব লেখার এমন পদ্ধতি, যেখানে অপারেটর বসে দুটি সংখ্যার পরে — যেমন 3 + 4-এর বদলে 3 4 +. বন্ধনী লাগে না, আর একটি stack দিয়েই বাঁ থেকে ডানে পড়ে হিসাব করা যায়।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৫২পর্ব ৫৪
Postorder traversalপোস্টঅর্ডার ট্রাভার্সাল
আগে বাঁ subtree, তারপর ডান subtree, সবশেষে নিজে। সন্তানদের কাজ শেষ হলে তবেই parent-এর কাজ — তাই ট্রি free করতে এটিই লাগে।যেখানে শিখবেন: পর্ব ৩৫
#pragma onceপ্রাগমা ওয়ান্স
Header-এর প্রথম লাইনে লেখা একটি নির্দেশ: এই ফাইল একবারই বসাও। প্রায় সব প্রচলিত compiler বোঝে, তবে এটি C স্ট্যান্ডার্ডের অংশ নয়।যেখানে শিখবেন: পর্ব ২৭
Precedenceপ্রিসিডেন্স
একই এক্সপ্রেশনে কয়েকটি অপারেটর থাকলে কোনটি আগে কাজ করবে, তার অগ্রাধিকারের নিয়ম — যেমন * আগে, + পরে।যেখানে শিখবেন: পর্ব ০৭পর্ব ২২পর্ব ২৭
Precisionপ্রিসিশন
একটি সংখ্যা কত ঘর পর্যন্ত নির্ভুলভাবে রাখা যায়, তার মাপ। float-এ মোটামুটি ৭টি, double-এ ১৫–১৬টি দশমিক অঙ্ক নির্ভরযোগ্য।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৮পর্ব ২৬
Predefined macroপ্রিডিফাইনড ম্যাক্রো
Compiler নিজে থেকে তৈরি রাখা macro, যেমন __FILE__, __LINE__, __DATE__, _WIN32 — আপনাকে #define করতে হয় না।যেখানে শিখবেন: পর্ব ২৭পর্ব ৩২পর্ব ৪৭
Predicateপ্রেডিকেট
যে ফাংশন কোনো প্রশ্নের উত্তরে শুধু হ্যাঁ বা না (সত্য বা মিথ্যা) ফেরত দেয়, যেমন “এই ক্ষমতায় কি কাজটি হবে?”যেখানে শিখবেন: পর্ব ৪১
Preorder traversalপ্রিঅর্ডার ট্রাভার্সাল
আগে নিজে, তারপর বাঁ subtree, তারপর ডান subtree. ট্রির হুবহু কপি বানাতে বা ফোল্ডারের তালিকা ছাপতে কাজে লাগে।যেখানে শিখবেন: পর্ব ৩৫
Preprocessorপ্রিপ্রসেসর
টুলচেইনের প্রথম ধাপ। # দিয়ে শুরু হওয়া লাইনগুলো (যেমন #include) সামলায় — দরকারি ফাইল এনে কোডের সাথে জুড়ে দেয়।যেখানে শিখবেন: পর্ব ০৩পর্ব ২৭পর্ব ২৯
Prerequisiteপ্রিরিকুইজিট
একটি target বানাতে যে ফাইলগুলো আগে লাগে। এদের কোনোটি target-এর চেয়ে নতুন হলে Make target-টি আবার বানায়।যেখানে শিখবেন: পর্ব ২৯
Primary clusteringপ্রাইমারি ক্লাস্টারিং
Linear probing-এ ভরা ঘরগুলোর একটানা জোট বাঁধা। জোট যত বড়, নতুন চাবি তাতে ধাক্কা খাওয়ার সম্ভাবনা তত বেশি, ফলে জোট আরও বড় হয়।যেখানে শিখবেন: পর্ব ৩৭
Prime numberপ্রাইম নাম্বার
মৌলিক সংখ্যা: ১-এর চেয়ে বড় যে পূর্ণসংখ্যার উৎপাদক শুধু ১ আর সে নিজে, যেমন ২, ৩, ৫, ৭, ১১. ১ prime নয়।যেখানে শিখবেন: পর্ব ৪৩পর্ব ৫৫
printf debuggingপ্রিন্টএফ ডিবাগিং
কোডের মাঝে মাঝে ভ্যারিয়েবলের মান ছেপে প্রোগ্রামের ভেতরের অবস্থা দেখা। সহজ ও সব জায়গায় চলে; ঠিকভাবে করতে লেখাগুলো stderr-এ, চিহ্নসহ পাঠাতে হয়।যেখানে শিখবেন: পর্ব ৩১
Priority inversionপ্রায়োরিটি ইনভার্শন
কম গুরুত্বের কাজ একটি lock ধরে রাখায় বেশি গুরুত্বের কাজকে অপেক্ষা করতে হয়, আর মাঝারি কাজগুলো কম গুরুত্বেরটিকে চলতে না দেওয়ায় অপেক্ষা দীর্ঘ হয়।যেখানে শিখবেন: পর্ব ৪৯পর্ব ৫১
Priority queueপ্রায়োরিটি কিউ
এমন queue, যেখানে আগে আসা নয়, সবচেয়ে জরুরি মানটি আগে বের হয় — হাসপাতালের জরুরি বিভাগের মতো। সাধারণত binary heap নামের একটি tree-কাঠামো দিয়ে বানানো হয়।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৩৬পর্ব ৪০
PRNG (Pseudo-random number generator)পি-আর-এন-জি
একটি সূত্র, যা আগের মান থেকে পরের “এলোমেলো” মান হিসাব করে। দেখতে এলোমেলো, কিন্তু একই seed দিলে হুবহু একই ধারা আসে।যেখানে শিখবেন: পর্ব ২৬
Processপ্রসেস
চলমান অবস্থায় থাকা একটি প্রোগ্রাম। প্রোগ্রাম হলো ডিস্কে রাখা ফাইল, আর প্রসেস হলো সেটি চালানোর সময় তৈরি জীবন্ত রূপ — নিজস্ব মেমরি, খোলা ফাইল আর একটি পরিচয় নম্বরসহ।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৮পর্ব ৪৯
Process isolationপ্রসেস আইসোলেশন
প্রতিটি প্রসেসকে আলাদা মেমরি ও অধিকারের দেয়ালে ঘিরে রাখা, যাতে একটির ভুল বা আক্রমণ অন্যটিতে ছড়াতে না পারে।যেখানে শিখবেন: পর্ব ৪৮
Producer-consumerপ্রডিউসার-কনজিউমার
একদল thread জিনিস তৈরি করে একটি buffer-এ রাখে, আরেকদল সেখান থেকে নেয়। Buffer ভরা হলে producer, খালি হলে consumer অপেক্ষা করে।যেখানে শিখবেন: পর্ব ৪৯
Programmer errorপ্রোগ্রামার এরর
প্রোগ্রামারের নিজের কোডের যুক্তিতে ভুল, অর্থাৎ একটি bug — যেমন নিজের কোড থেকেই ভুল index পাঠানো। এটি সামলানো নয়, ঠিক করতে হয়।যেখানে শিখবেন: পর্ব ৩০
Programming languageপ্রোগ্রামিং ল্যাঙ্গুয়েজ
কম্পিউটারকে নির্দেশ দেওয়ার জন্য তৈরি নিয়ম-বাঁধা লেখার ভাষা। মানুষ এতে লেখে, পরে অনুবাদ হয়ে কম্পিউটার তা চালায়।যেখানে শিখবেন: পর্ব ০১
Property-based testingপ্রপার্টি-বেসড টেস্টিং
নির্দিষ্ট উত্তরের বদলে একটি নিয়ম (property) লিখে, যন্ত্রকে দিয়ে হাজার হাজার এলোমেলো ইনপুটে সেই নিয়ম যাচাই করানো।যেখানে শিখবেন: পর্ব ৩২
Protocolপ্রোটোকল
দুটি প্রোগ্রাম কোন ভাষা ও নিয়মে বার্তা আদান-প্রদান করবে, তার লিখিত চুক্তি — যেমন কোন কমান্ডের উত্তরে কী ফেরত আসবে।যেখানে শিখবেন: পর্ব ৫০পর্ব ৫২
Pseudo-polynomial timeসিউডো-পলিনোমিয়াল
যে অ্যালগরিদমের সময় ইনপুটের একটি সংখ্যার মানের (যেমন ব্যাগের সীমা W) সমানুপাতিক, ইনপুটের দৈর্ঘ্যের নয়। সংখ্যাটি ছোট হলে দ্রুত, বিশাল হলে খুব ধীর।যেখানে শিখবেন: পর্ব ৪২
Pseudocodeসুডোকোড
কোনো নির্দিষ্ট প্রোগ্রামিং ভাষা ছাড়াই, সহজ ভাষায় ধাপে ধাপে লেখা অ্যালগরিদম — কোড লেখার আগের খসড়া।যেখানে শিখবেন: পর্ব ০২
pthread (POSIX threads)পি-থ্রেড
Linux, macOS ও অন্য Unix-ধাঁচের সিস্টেমে C-তে thread তৈরি ও নিয়ন্ত্রণের প্রচলিত library. এর ফাংশনের নাম শুরু হয় pthread_ দিয়ে।যেখানে শিখবেন: পর্ব ৪৯
ptrdiff_tপিটিআর-ডিফ-টি
একই array-র দুটি pointer বিয়োগ করলে যে টাইপের ফল আসে — মাঝে কয়টি ঘর, তার সংখ্যা। <stddef.h>-এ ঘোষিত, ছাপাতে %td.যেখানে শিখবেন: পর্ব ১৮
Public-key cryptographyপাবলিক-কি ক্রিপ্টোগ্রাফি
যে এনক্রিপশনে দুটি চাবি থাকে: একটি সবাইকে দেওয়া যায় (public), আরেকটি (private) থাকে শুধু মালিকের কাছে। HTTPS, ডিজিটাল স্বাক্ষর এর ওপর চলে।যেখানে শিখবেন: পর্ব ৪৩
Pure functionপিওর ফাংশন
যে ফাংশন একই ইনপুটে সবসময় একই ফল দেয় এবং কোনো side effect ঘটায় না। পরীক্ষা করা ও ভরসা করা সবচেয়ে সহজ।যেখানে শিখবেন: পর্ব ১৩পর্ব ৩২
Pushপুশ
Stack-এর একদম ওপরে নতুন একটি মান রাখার কাজ। জায়গা ভরা থাকলে push করা যায় না — তখন overflow হয়।যেখানে শিখবেন: পর্ব ৩৪
PWM (Pulse-Width Modulation)পিডব্লিউএম
একটি পিন খুব দ্রুত চালু-বন্ধ করে, কত ভাগ সময় চালু থাকবে তা বদলে গড় শক্তি নিয়ন্ত্রণের কৌশল। LED-এর উজ্জ্বলতা বা মোটরের গতি এভাবে বদলানো হয়।যেখানে শিখবেন: পর্ব ৫১

Q

qsortকিউ-সর্ট
C standard library-র সাজানোর ফাংশন। যেকোনো টাইপের array সাজাতে পারে, আর তুলনার নিয়মটি নেয় একটি comparator ফাংশন হিসেবে।যেখানে শিখবেন: পর্ব ২৮পর্ব ৪০পর্ব ৪১
Quadratic time — O(n²)কোয়াড্রাটিক টাইম
ইনপুট দ্বিগুণ হলে কাজ চার গুণ হয়। সাধারণত একটি লুপের ভেতরে আরেকটি পূর্ণ লুপ থাকলে, অর্থাৎ প্রতিটি জোড়া দেখতে হলে এমন হয়।যেখানে শিখবেন: পর্ব ৩৯
Queueকিউ
যে কাঠামোয় আগে ঢোকা জিনিস আগে বের হয় (FIFO) — টিকিট কাউন্টারের লাইনের মতো।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৪পর্ব ৩৫
QUICকুইক
UDP-র ওপর তৈরি নতুন transport protocol, যার ভেতরে নির্ভরযোগ্যতা ও TLS দুটোই আছে। HTTP/3 এর ওপর চলে।যেখানে শিখবেন: পর্ব ৫০
Quickselectকুইকসিলেক্ট
Quicksort-এর partition ব্যবহার করে শুধু দরকারি একদিকে নেমে k-তম ছোট বা বড় উপাদান বের করার অ্যালগরিদম। গড়ে O(n), খারাপ ক্ষেত্রে O(n²)।যেখানে শিখবেন: পর্ব ৫৬
Quicksortকুইকসর্ট
একটি pivot বেছে বাকিদের ছোট ও বড় দুই দলে ভাগ করা, তারপর প্রতিটি দল একইভাবে সাজানো। গড়ে খুব দ্রুত ও in-place, কিন্তু খারাপ pivot-এ ধীর।যেখানে শিখবেন: পর্ব ৪০

R

Race conditionরেস কন্ডিশন
যখন একাধিক কাজ একসাথে চলে আর ফলাফল নির্ভর করে কোনটি আগে শেষ হলো তার ওপর — ফলে মাঝে মাঝে, অনিয়মিতভাবে ভুল হয় আর সহজে ধরা পড়ে না।যেখানে শিখবেন: পর্ব ৩০পর্ব ৪৫পর্ব ৪৮
Radiation hardeningরেডিয়েশন হার্ডেনিং
মহাকাশের তেজস্ক্রিয় কণার আঘাতে চিপ যাতে নষ্ট না হয় বা বিট উল্টে না যায়, সেজন্য বিশেষ নকশা ও উপাদানে চিপ বানানো।যেখানে শিখবেন: পর্ব ৫১
Random accessর‍্যান্ডম অ্যাক্সেস
শুরু থেকে একে একে না পড়ে ফাইলের যেকোনো জায়গায় সরাসরি গিয়ে পড়া বা লেখা। “random” মানে এলোমেলো নয়, “যেকোনোটি”.যেখানে শিখবেন: পর্ব ২৪
Random seedর‍্যান্ডম সিড
এলোমেলো সংখ্যার ধারার শুরুর মান। একই seed দিলে প্রতিবার হুবহু একই সংখ্যার ধারা আসে, তাই ভুলটি আবার তৈরি করে দেখা যায়।যেখানে শিখবেন: পর্ব ২৬পর্ব ৪৪
Ratingরেটিং
কনটেস্টে আপনার ফলাফল থেকে হিসাব করা একটি সংখ্যা, যা মোটামুটি আপনার বর্তমান দক্ষতার স্তর বোঝায়। ভালো করলে বাড়ে, খারাপ করলে কমে।যেখানে শিখবেন: পর্ব ৪৪
Read-modify-writeরিড-মডিফাই-রাইট
মেমরি থেকে মান পড়া, বদলানো, তারপর আবার লেখা — এই তিন ধাপের কাজ। counter++ এমনই একটি কাজ, তাই মাঝখানে আরেক thread ঢুকে পড়তে পারে।যেখানে শিখবেন: পর্ব ৪৯পর্ব ৫১
Read-only memory regionরিড-অনলি মেমরি
প্রোগ্রামের মেমরির যে অংশ শুধু পড়া যায়, বদলানো যায় না। String literal সাধারণত এখানে থাকে; লিখতে গেলে প্রোগ্রাম প্রায়ই crash করে।যেখানে শিখবেন: পর্ব ১৯পর্ব ৪৫
READ_ONCE / WRITE_ONCEরিড ওয়ান্স / রাইট ওয়ান্স
Linux kernel-এর দুটি macro. ভেতরে volatile ব্যবহার করে নিশ্চিত করে যে একটি মান ঠিক একবার, পুরোটা একসাথে পড়া বা লেখা হবে; compiler সেটি বাদ দেবে, ভাঙবে বা দুবার করবে না।যেখানে শিখবেন: পর্ব ৪৫
READMEরিডমি
প্রজেক্টের মূল ফোল্ডারে রাখা প্রথম পড়ার ফাইল। এতে লেখা থাকে প্রজেক্টটি কী, কীভাবে চালাতে হয়, নকশা আর সীমাবদ্ধতা কী।যেখানে শিখবেন: পর্ব ৫২
Real-time systemরিয়েল-টাইম সিস্টেম
যে সিস্টেমে শুধু সঠিক উত্তর নয়, নির্দিষ্ট সময়ের মধ্যে উত্তর দেওয়াও বাধ্যতামূলক। দেরিতে দেওয়া সঠিক উত্তরও এখানে ব্যর্থতা।যেখানে শিখবেন: পর্ব ৫১
realloc()রি-অ্যালক
আগে নেওয়া block বড় বা ছোট করে। জায়গা না থাকলে নতুন জায়গায় সরিয়ে পুরোনো ডেটা কপি করে, তাই ঠিকানা বদলে যেতে পারে।যেখানে শিখবেন: পর্ব ২০পর্ব ২৩পর্ব ৩৬
Recipeরেসিপি
Target বানানোর কমান্ড — Makefile-এ target লাইনের নিচে লেখা হয়, আর প্রতিটি লাইন অবশ্যই একটি TAB অক্ষর দিয়ে শুরু করতে হয়।যেখানে শিখবেন: পর্ব ২৯
Recordরেকর্ড
ফাইল বা টেবিলে একটি জিনিসের সব তথ্য একসাথে — যেমন একটি বিক্রির নাম, পরিমাণ ও দাম। সব record একই মাপের হলে সরাসরি যেকোনোটিতে যাওয়া যায়।যেখানে শিখবেন: পর্ব ২৪
Record and replay debuggingরেকর্ড-রিপ্লে ডিবাগিং
প্রোগ্রাম একবার চালিয়ে তার সব অনির্দিষ্ট ঘটনা রেকর্ড করা, তারপর হুবহু একইভাবে বারবার, এমনকি পেছন দিকেও চালিয়ে দেখা। Linux-এ rr এমন একটি টুল।যেখানে শিখবেন: পর্ব ৩১
Recurrenceরিকারেন্স
যে সমীকরণ একটি অ্যালগরিদমের খরচকে তার নিজেরই ছোট আকারের খরচ দিয়ে প্রকাশ করে, যেমন T(n) = 2T(n/2) + n.যেখানে শিখবেন: পর্ব ৪১
Recursionরিকার্শন
যখন একটি ফাংশন একই সমস্যার একটি ছোট রূপ সমাধান করতে নিজেকেই আবার ডাকে, তাকে রিকার্শন বলে।যেখানে শিখবেন: পর্ব ১৫পর্ব ২২পর্ব ৩৫
Recursion treeরিকার্শন ট্রি
Recursive অ্যালগরিদমের প্রতিটি ডাককে একটি ঘর আর তার ছোট ডাকগুলোকে নিচের ঘর হিসেবে আঁকা গাছ। প্রতিটি স্তরের কাজ যোগ করে মোট খরচ বের করা যায়।যেখানে শিখবেন: পর্ব ৪১
Recursive caseরিকার্সিভ কেস
যে অংশে ফাংশন সমস্যাটিকে একটু ছোট করে নিজেকেই আবার ডাকে এবং সেই উত্তর দিয়ে নিজের উত্তর তৈরি করে।যেখানে শিখবেন: পর্ব ১৫পর্ব ৫৫
Red-black treeরেড-ব্ল্যাক ট্রি
নোডে লাল-কালো রঙের নিয়ম মেনে চলা একটি self-balancing BST. AVL-এর চেয়ে কিছুটা ঢিলেঢালা ভারসাম্য রাখে, কিন্তু insert-delete-এ কম ঘোরাতে হয়।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৬
Redirectionরিডাইরেকশন
Shell-এ <, > বা 2> দিয়ে কোনো পাইপের মুখ কিবোর্ড বা স্ক্রিনের বদলে একটি ফাইলের দিকে ঘুরিয়ে দেওয়া।যেখানে শিখবেন: পর্ব ১০পর্ব ২৫
Redzoneরেডজোন
Sanitizer প্রতিটি মেমরি-ব্লকের দুই পাশে যে নিষিদ্ধ ফাঁকা জায়গা রাখে। কেউ ব্লকের সীমা পেরিয়ে সেখানে পড়লে বা লিখলে সাথে সাথে ধরা পড়ে।যেখানে শিখবেন: পর্ব ৩১
Reentrant functionরি-এন্ট্র্যান্ট ফাংশন
যে ফাংশন নিজের কাজ শেষ হওয়ার আগে আবার ডাকা হলেও ঠিকঠাক কাজ করে। লুকানো static অবস্থা থাকলে ফাংশন সাধারণত reentrant থাকে না।যেখানে শিখবেন: পর্ব ১৪পর্ব ৫৬
Refactoringরিফ্যাক্টরিং
প্রোগ্রামের আচরণ একদম একই রেখে ভেতরের কোড আরও পরিষ্কার, ছোট বা সহজ করা। টেস্ট থাকলে নিরাপদে করা যায়।যেখানে শিখবেন: পর্ব ২৩পর্ব ৩২পর্ব ৫২
Register (hardware)রেজিস্টার
প্রসেসর বা microcontroller-এর ভেতরের ছোট একটি মেমরি-ঘর। কিছু রেজিস্টারের প্রতিটি বিট সরাসরি কোনো পিন বা যন্ত্র নিয়ন্ত্রণ করে।যেখানে শিখবেন: পর্ব ০৭পর্ব ০৯পর্ব ১৪
Regression testরিগ্রেশন টেস্ট
একবার ধরা পড়া বাগের জন্য রেখে দেওয়া টেস্ট, যা প্রতিবার আবার চালানো হয়। পুরোনো বাগ ফিরে এলে সাথে সাথে ধরা পড়ে।যেখানে শিখবেন: পর্ব ২৩পর্ব ৩২পর্ব ৪০
Rehashingরিহ্যাশিং
টেবিল বড় করার সময় নতুন, বড় array নিয়ে প্রতিটি চাবির ঘর নতুন ঘরের সংখ্যা দিয়ে আবার হিসাব করে নতুন জায়গায় বসানো।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৫২
Reinforcement learningরিইনফোর্সমেন্ট লার্নিং
AI-এর এমন একটি ধারা, যেখানে একটি এজেন্ট চেষ্টা আর পুরস্কার-শাস্তির মাধ্যমে শেখে কোন অবস্থায় কোন কাজ করলে শেষ পর্যন্ত সবচেয়ে বেশি লাভ।যেখানে শিখবেন: পর্ব ৪২
Rejection samplingরিজেকশন স্যাম্পলিং
যে মানগুলো সমান ভাগ নষ্ট করে, সেগুলো এলে ফেলে দিয়ে আবার নতুন মান নেওয়ার কৌশল। এতে প্রতিটি ফলের সম্ভাবনা সমান হয়।যেখানে শিখবেন: পর্ব ২৬
Relational / comparison operatorরিলেশনাল অপারেটর
দুটি মান তুলনা করার অপারেটর — == != < > <= >=. ফল হয় ১ (সত্য) অথবা ০ (মিথ্যা)।যেখানে শিখবেন: পর্ব ০৭
Requirementরিকোয়ারমেন্ট
সফটওয়্যারকে কী করতে হবে, তার স্পষ্ট লিখিত চাহিদা। কীভাবে করবে তা নয়, শুধু কী করবে সেটুকু।যেখানে শিখবেন: পর্ব ২৩পর্ব ৫২
restrictরেস্ট্রিক্ট
C99-এর একটি qualifier. পয়েন্টারে লিখলে আপনি প্রতিশ্রুতি দেন যে এই মেমরিতে পৌঁছানোর একমাত্র পথ এই পয়েন্টার। এতে compiler আরও দ্রুত কোড বানাতে পারে; প্রতিশ্রুতি ভাঙলে undefined behavior.যেখানে শিখবেন: পর্ব ৪৫
Retryরিট্রাই
ব্যর্থ কাজটি কিছুক্ষণ অপেক্ষা করে আবার চেষ্টা করা — যেমন নেটওয়ার্ক কেটে গেলে কয়েক সেকেন্ড পরে আবার সংযোগের চেষ্টা।যেখানে শিখবেন: পর্ব ৩০
Return addressরিটার্ন অ্যাড্রেস
ফাংশন শেষ হলে প্রোগ্রাম কোন জায়গায় ফিরে যাবে, সেই ঠিকানা। ফাংশন ডাকার মুহূর্তে এটি stack-এ রেখে দেওয়া হয়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৯পর্ব ৩৪
Return codeরিটার্ন কোড
ফাংশনের ফেরত-মান দিয়ে কাজ সফল হলো কি না জানানো — যেমন সফল হলে 0, ব্যর্থ হলে -1.যেখানে শিখবেন: পর্ব ৩০পর্ব ৫২
Return valueরিটার্ন ভ্যালু
কাজ শেষে একটি ফাংশন যে মানটি ফেরত দেয়। return 0; মানে 0 ফেরত দাও।যেখানে শিখবেন: পর্ব ০৪পর্ব ১০পর্ব ১৩
Right-left rule (declaration reading)রাইট-লেফট রুল
জটিল C ঘোষণা পড়ার নিয়ম: নাম থেকে শুরু করে আগে ডানে, তারপর বাঁয়ে পড়া, আর বন্ধনী এলে তার ভেতরটা আগে শেষ করা। Clockwise বা spiral rule একই ধারণার আরেক রূপ।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৬
Rolling arrayরোলিং অ্যারে
পুরো DP টেবিলের বদলে শুধু শেষ এক-দুটি সারি রেখে পালা করে ব্যবহার করা, যাতে মেমরি অনেক কম লাগে।যেখানে শিখবেন: পর্ব ৪২
Rootরুট
ট্রির সবচেয়ে ওপরের নোড, যার কোনো parent নেই। পুরো ট্রিতে ঢোকার দরজা এটিই।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৬
Root causeরুট কজ
Bug-এর আসল উৎস — যে ভুল সিদ্ধান্ত বা লাইন থেকে সমস্যার শুরু। যেখানে প্রোগ্রাম ভেঙে পড়ে (লক্ষণ), আসল কারণ প্রায়ই তার অনেক আগে থাকে।যেখানে শিখবেন: পর্ব ৩১
Round-robinরাউন্ড-রবিন
পালা করে সবাইকে সমান সুযোগ দেওয়ার নিয়ম — একে একে সবার কাছে যাওয়া, শেষজনের পর আবার প্রথমজনের কাছে ফেরা।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৫০
Row-major orderরো-মেজর অর্ডার
2D অ্যারে মেমরিতে রাখার রীতি, যেখানে প্রথম সারির সব ঘর আগে, তার ঠিক পরে দ্বিতীয় সারি — এভাবে সারির পর সারি। C এই রীতি মানে।যেখানে শিখবেন: পর্ব ১৬পর্ব ২১পর্ব ৫৫
RSAআরএসএ
১৯৭৭ সালে Rivest, Shamir ও Adleman-এর তৈরি public-key এনক্রিপশন। দুটি বড় prime-এর গুণফল ভাঙা কঠিন — এই ধারণার ওপর এর নিরাপত্তা দাঁড়িয়ে।যেখানে শিখবেন: পর্ব ৪৩
RTOS (Real-Time Operating System)আর-টস
মাইক্রোকন্ট্রোলারের জন্য খুব ছোট অপারেটিং সিস্টেম, যা কয়েকটি task-কে অগ্রাধিকার অনুযায়ী নির্দিষ্ট সময়ের মধ্যে চালানোর নিশ্চয়তা দেয়। FreeRTOS এর একটি জনপ্রিয় উদাহরণ।যেখানে শিখবেন: পর্ব ৫১
Rubber duck debuggingরাবার ডাক ডিবাগিং
একটি খেলনা হাঁস (বা যে কাউকে) লাইন ধরে ধরে কোড ব্যাখ্যা করা। জোরে বলতে গিয়ে নিজের ভুল ধারণা নিজের কানেই ধরা পড়ে।যেখানে শিখবেন: পর্ব ৩১
Run queueরান কিউ
অপারেটিং সিস্টেমের রাখা তালিকা, যেখানে CPU পাওয়ার অপেক্ষায় থাকা প্রোগ্রাম বা thread-গুলো লাইনে থাকে। Scheduler এখান থেকে বেছে বেছে পরের কাজটি চালায়।যেখানে শিখবেন: পর্ব ৩৪পর্ব ৩৬
Running medianরানিং মিডিয়ান
মান একটি একটি করে আসার সময় প্রতিবার মাঝের মান (median) জানা। ছোট অর্ধেকের জন্য একটি max-heap আর বড় অর্ধেকের জন্য একটি min-heap রেখে করা হয়।যেখানে শিখবেন: পর্ব ৩৬
Runtimeরানটাইম
প্রোগ্রাম যখন আসলে চলছে, সেই সময়টা। runtime error মানে চলতে চলতে হওয়া ভুল।যেখানে শিখবেন: পর্ব ০৩
Runtime errorরানটাইম এরর
কোড ঠিক থাকলেও চলার সময় পরিবেশের কারণে ঘটা ভুল — ফাইল নেই, মেমরি শেষ, ডিস্ক ভরা, ভুল ইনপুট। এগুলো ঘটবেই, তাই প্রোগ্রামকে সামলাতে হয়।যেখানে শিখবেন: পর্ব ৩০
Runtime Error (RE)রানটাইম এরর
জাজের রায়: প্রোগ্রাম চলতে চলতে crash করেছে বা শূন্য ছাড়া অন্য exit status দিয়েছে — যেমন array-র সীমার বাইরে যাওয়া, শূন্য দিয়ে ভাগ, stack ফুরিয়ে যাওয়া।যেখানে শিখবেন: পর্ব ৪৪
Rustরাস্ট
C-এর মতোই দ্রুত, কিন্তু compile করার সময়েই বেশিরভাগ মেমরি-ভুল আটকে দেয় এমন একটি আধুনিক ভাষা।যেখানে শিখবেন: পর্ব ০১পর্ব ২০পর্ব ৪৬

S

Sanitizer (ASan)স্যানিটাইজার
প্রোগ্রাম চলার সময় মেমরির ভুল হাতেনাতে ধরে ফেলে এমন পাহারাদার। -fsanitize=address দিয়ে চালু হয়।যেখানে শিখবেন: পর্ব ১৬পর্ব ১৭পর্ব ১৯
Scopeস্কোপ
কোডের যে অংশ থেকে একটি নাম (যেমন ভ্যারিয়েবলের নাম) দেখা ও ব্যবহার করা যায়। বাইরের অংশে সেই নাম অচেনা।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৪পর্ব ২৭
Scope creepস্কোপ ক্রিপ
কাজ চলার মাঝে একটু একটু করে নতুন চাহিদা ঢুকতে থাকা, যতক্ষণ না প্রজেক্ট কখনো শেষই হয় না।যেখানে শিখবেন: পর্ব ২৩পর্ব ৫২
Seed corpusসিড কর্পাস
Fuzzer-কে শুরুতে দেওয়া কয়েকটি স্বাভাবিক উদাহরণ-ইনপুট, যেগুলো বদলে বদলে সে নতুন ইনপুট বানায়।যেখানে শিখবেন: পর্ব ৩২
Segmentation faultসেগমেন্টেশন ফল্ট
প্রোগ্রাম এমন মেমরিতে হাত দিলে, যা তাকে দেওয়া হয়নি, অপারেটিং সিস্টেম প্রোগ্রামটি বন্ধ করে দেয় — তখন এই মেসেজ আসে। Windows-এ একে বলে Access violation.যেখানে শিখবেন: পর্ব ১৭পর্ব ১৯পর্ব ২১
Segmented sieveসেগমেন্টেড সিভ
বড় পরিসরকে cache-এ আঁটে এমন ছোট টুকরোয় ভাগ করে আলাদাভাবে ছাঁকা sieve. মেমরি কম লাগে, আর বাস্তবে অনেক দ্রুত চলে।যেখানে শিখবেন: পর্ব ৪৩
SEI CERT Cসার্ট সি
Carnegie Mellon বিশ্ববিদ্যালয়ের Software Engineering Institute-এর তৈরি নিরাপদ C কোড লেখার নিয়মাবলি। প্রতিটি নিয়মের সাথে ভুল ও ঠিক কোডের উদাহরণ থাকে।যেখানে শিখবেন: পর্ব ৪৬
Selection sortসিলেকশন সর্ট
বাকি অংশের সবচেয়ে ছোট উপাদানটি খুঁজে সামনে বসানো, তারপর আবার একই কাজ। সবসময় প্রায় n²/২ তুলনা করে, আর stable নয়।যেখানে শিখবেন: পর্ব ৪০
Self-balancing treeসেলফ-ব্যালান্সিং ট্রি
যে BST প্রতিটি insert বা delete-এর পর নিজেই কয়েকটি নোড ঘুরিয়ে (rotation) উচ্চতা কম রাখে। AVL আর red-black tree এর উদাহরণ।যেখানে শিখবেন: পর্ব ৩৫
Self-referential structসেলফ-রেফারেনশিয়াল স্ট্রাক্ট
এমন struct, যার ভেতরে নিজের টাইপেরই একটি pointer আছে — যেমন struct Node-এর ভেতরে struct Node *next. এভাবেই node একে অপরকে দেখাতে পারে।যেখানে শিখবেন: পর্ব ৩৩
Sentinel valueসেন্টিনেল ভ্যালু
ইনপুট শেষ হওয়ার সংকেত হিসেবে বেছে নেওয়া একটি বিশেষ মান, যেমন -1. এটি আসল ডেটায় কখনো আসা উচিত নয়।যেখানে শিখবেন: পর্ব ১২
Separate chainingসেপারেট চেইনিং
Collision সামলানোর একটি উপায়: প্রতিটি bucket-এ একটি linked list থাকে, আর একই ঘরে পড়া সব চাবি সেই তালিকায় যুক্ত হয়।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৫২
Separation of concernsসেপারেশন অব কনসার্নস
প্রোগ্রামের আলাদা দায়িত্ব আলাদা অংশে রাখার নীতি — যেমন ব্যবহারকারীর সাথে কথা বলা এক জায়গায়, হিসাবের যুক্তি আরেক জায়গায়।যেখানে শিখবেন: পর্ব ২৩পর্ব ২৯
Sequence pointসিকোয়েন্স পয়েন্ট
কোডের এমন একটি বিন্দু (যেমন ; বা && ), যেখানে পৌঁছানোর আগে আগের সব পরিবর্তন শেষ হওয়ার নিশ্চয়তা আছে। দুই বিন্দুর মাঝে একই ভ্যারিয়েবল দুবার বদলালে ফল অনির্ধারিত।যেখানে শিখবেন: পর্ব ০৭পর্ব ২৭পর্ব ৪৬
Serializationসিরিয়ালাইজেশন
মেমরির ডেটাকে নির্দিষ্ট নিয়মে বাইটের সারিতে সাজানো, যাতে ফাইলে রাখা বা নেটওয়ার্কে পাঠানো যায় এবং অন্য মেশিনেও ঠিকভাবে পড়া যায়।যেখানে শিখবেন: পর্ব ২২পর্ব ২৪
Serverসার্ভার
যে প্রোগ্রাম একটি নির্দিষ্ট port-এ অপেক্ষা করে এবং client-দের অনুরোধের উত্তর দেয়। যে কম্পিউটারে এটি চলে, তাকেও server বলে।যেখানে শিখবেন: পর্ব ৫০
setjmp / longjmpসেট-জাম্প / লং-জাম্প
setjmp একটি জায়গা চিহ্নিত করে রাখে, পরে longjmp অনেক ফাংশনের গভীর থেকে সরাসরি সেখানে ফিরিয়ে আনে। মাঝের কিছুই পরিষ্কার হয় না, তাই খুব কম ব্যবহার হয়।যেখানে শিখবেন: পর্ব ২৬
Shadow memoryশ্যাডো মেমরি
AddressSanitizer-এর রাখা একটি গোপন হিসাবের খাতা: প্রোগ্রামের প্রতি ৮ বাইট মেমরির জন্য ১ বাইট, যেখানে লেখা থাকে ওই বাইটগুলো ছোঁয়া বৈধ কি না।যেখানে শিখবেন: পর্ব ৩১
Shadowingশ্যাডোয়িং
ভেতরের block-এ বাইরের কোনো ভ্যারিয়েবলের একই নামে নতুন ভ্যারিয়েবল ঘোষণা করা। তখন ভেতরে বাইরেরটি ঢাকা পড়ে যায়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৪পর্ব ৫৩
Shared library (.so / .dll)শেয়ারড লাইব্রেরি
আলাদা ফাইলে থাকা library, যা প্রোগ্রাম খোলার সময় জোড়া লাগে এবং অনেক প্রোগ্রাম একসাথে ব্যবহার করতে পারে।যেখানে শিখবেন: পর্ব ২৯
Shared memoryশেয়ার্ড মেমরি
একই মেমরি-অংশ একাধিক প্রসেসের ঠিকানা-জগতে জুড়ে দেওয়া, যাতে কপি ছাড়াই সবাই একই ডেটা দেখে। সবচেয়ে দ্রুত IPC, তবে একসাথে লেখার শৃঙ্খলা নিজেকেই রাখতে হয়।যেখানে শিখবেন: পর্ব ৪৮
Shellশেল
Terminal-এর ভেতরে যে প্রোগ্রাম আপনার লেখা কমান্ড পড়ে অন্য প্রোগ্রাম চালায়। যেমন Linux-এর bash, Windows-এর cmd বা PowerShell.যেখানে শিখবেন: পর্ব ০৪পর্ব ১০পর্ব ৪৮
Shell quotingশেল কোটিং
কমান্ডে কোনো লেখাকে "…" বা '…'-এর ভেতরে রাখা, যাতে shell ফাঁকা জায়গায় না ভেঙে পুরোটাকে একটি আর্গুমেন্ট হিসেবে পাঠায়।যেখানে শিখবেন: পর্ব ২৫
Short-circuit evaluationশর্ট-সার্কিট ইভ্যালুয়েশন
&& বা || বাঁ পাশ দেখেই ফল নিশ্চিত হলে ডান পাশের হিসাব আর করেই না। একে নিরাপত্তা-পাহারা হিসেবে ব্যবহার করা যায়।যেখানে শিখবেন: পর্ব ০৭পর্ব ৫৩পর্ব ৫৪
Shortest pathশর্টেস্ট পাথ
দুটি vertex-এর মধ্যে সবচেয়ে ছোট পথ — ওজনহীন গ্রাফে সবচেয়ে কম edge, ওজনওয়ালা গ্রাফে ওজনের যোগফল সবচেয়ে কম।যেখানে শিখবেন: পর্ব ৩৮পর্ব ৪২পর্ব ৪৪
Side effectসাইড ইফেক্ট
ফাংশন ফেরত মান দেওয়ার বাইরে বাকি দুনিয়ায় যে বদল ঘটায় — স্ক্রিনে লেখা, ফাইলে লেখা, global ভ্যারিয়েবল বদলানো ইত্যাদি।যেখানে শিখবেন: পর্ব ০৭পর্ব ১৩পর্ব ২৭
Sieve of Eratosthenesসিভ অফ এরাটোসথেনিস
n পর্যন্ত সব prime খোঁজার প্রাচীন ছাঁকনি-পদ্ধতি: প্রতিটি prime p-এর গুণিতক p × p থেকে কেটে দেওয়া, যা বাকি থাকে সেগুলোই prime. খরচ O(n log log n).যেখানে শিখবেন: পর্ব ০৯পর্ব ৪৩
Sift-down (heapify-down)সিফট-ডাউন
কোনো নোডের মান তার বড় সন্তানের (min-heap-এ ছোট সন্তানের) চেয়ে ছোট হলে জায়গা বদল করে নিচে নামানো, যতক্ষণ নিয়ম ঠিক না হয়। খরচ O(log n).যেখানে শিখবেন: পর্ব ৩৬
Sift-up (bubble up)সিফট-আপ
নতুন মান heap-এর শেষে বসিয়ে, যতক্ষণ সেটি parent-এর চেয়ে বড় (min-heap-এ ছোট) ততক্ষণ parent-এর সাথে জায়গা বদল করে ওপরে তোলা। খরচ O(log n).যেখানে শিখবেন: পর্ব ৩৬
sig_atomic_tসিগ অ্যাটমিক টি
signal.h-এর একটি পূর্ণসংখ্যা টাইপ, যা signal এসে মাঝপথে থামিয়ে দিলেও অর্ধেক লেখা অবস্থায় থাকে না। Signal handler থেকে flag জানাতে volatile sig_atomic_t ব্যবহার করা হয়।যেখানে শিখবেন: পর্ব ৪৫
Sign bitসাইন বিট
সবচেয়ে বাঁ দিকের বিট। signed সংখ্যায় এটি ১ হলে সংখ্যাটি ঋণাত্মক, ০ হলে শূন্য বা ধনাত্মক।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৮
Sign extensionসাইন এক্সটেনশন
signed সংখ্যাকে বেশি বিটে বাড়ানোর সময় বাড়তি সব ঘরে sign bit কপি করা, যাতে ঋণাত্মক মান ঋণাত্মকই থাকে।যেখানে শিখবেন: পর্ব ০৮
Signalসিগন্যাল
Kernel বা অন্য প্রসেসের পাঠানো একটি ছোট সংকেত, যা প্রসেসকে জানায় কিছু একটা ঘটেছে — যেমন Ctrl+C চাপলে SIGINT, জোর করে বন্ধ করতে SIGKILL.যেখানে শিখবেন: পর্ব ২৬পর্ব ৩১পর্ব ৪৫
Signal handlerসিগন্যাল হ্যান্ডলার
অপারেটিং সিস্টেম প্রোগ্রামকে কোনো signal (যেমন Ctrl+C চাপলে SIGINT) পাঠালে যে ফাংশন ডাকা হয়। এর ভেতরে শুধু অল্প কিছু নিরাপদ কাজ করা যায়।যেখানে শিখবেন: পর্ব ২৬পর্ব ২৮পর্ব ৪৫
Signedসাইনড
চিহ্নযুক্ত পূর্ণসংখ্যা — ধনাত্মক ও ঋণাত্মক দুই রকম মানই রাখতে পারে।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৬পর্ব ২৬
SIMD (vectorization)সিমডি
Single Instruction, Multiple Data — CPU-র একটি নির্দেশে একসাথে ৪, ৮ বা আরও বেশি সংখ্যার ওপর একই কাজ করা। Compiler লুপকে এভাবে বদলালে তাকে vectorization বলে।যেখানে শিখবেন: পর্ব ৪৫
Single responsibilityসিঙ্গেল রেসপন্সিবিলিটি
নকশার একটি নীতি — প্রতিটি ফাংশনের থাকবে একটিমাত্র স্পষ্ট দায়িত্ব। এক বাক্যে বোঝানো না গেলে ফাংশনটি ভাঙা দরকার।যেখানে শিখবেন: পর্ব ১৩পর্ব ২৩
Singly linked listসিঙ্গলি লিংকড লিস্ট
যে লিংকড লিস্টের প্রতিটি node শুধু পরের node-এর ঠিকানা জানে — চলা যায় কেবল সামনের দিকে।যেখানে শিখবেন: পর্ব ৩৩
SipHashসিপহ্যাশ
Jean-Philippe Aumasson ও Daniel J. Bernstein-এর তৈরি একটি দ্রুত keyed hash. গোপন key না জানলে কোন চাবি কোন ঘরে যাবে আন্দাজ করা যায় না, তাই hash flooding ঠেকায়।যেখানে শিখবেন: পর্ব ৩৭
size_tসাইজ-টি
আকার ও দৈর্ঘ্য বোঝানোর unsigned পূর্ণসংখ্যা টাইপ। sizeof ও strlen()-এর ফল এই টাইপের; ৬৪-বিট Linux-এ এটি ৬৪ বিটের।যেখানে শিখবেন: পর্ব ০৮পর্ব ৪৬পর্ব ৫৩
sizeofসাইজঅফ
C-এর একটি অপারেটর, যা বলে দেয় কোনো টাইপ বা ভ্যারিয়েবল মেমরিতে কত বাইট জায়গা নেয়। মানটি compile করার সময়েই জানা যায়।যেখানে শিখবেন: পর্ব ০৬পর্ব ১৬পর্ব ১৮
Sleep modeস্লিপ মোড
চিপের যে অবস্থায় CPU আর অপ্রয়োজনীয় অংশ বন্ধ থাকে, বিদ্যুৎ খরচ অনেক কমে যায়, আর একটি interrupt এলে চিপ আবার জেগে ওঠে।যেখানে শিখবেন: পর্ব ৫১
Sliding windowস্লাইডিং উইন্ডো
অ্যারের একটি টানা অংশকে জানালার মতো ধরে ধীরে ধীরে ডানে সরানোর কৌশল। প্রতিবার পুরোটা নতুন করে না গুনে শুধু ঢোকা আর বেরোনো উপাদানের হিসাব বদলানো হয়।যেখানে শিখবেন: পর্ব ৫৬
snake_caseস্নেক কেস
নাম লেখার একটি রীতি — সব ছোট হাতের অক্ষর, শব্দের মাঝে আন্ডারস্কোর। যেমন student_count, total_marks.যেখানে শিখবেন: পর্ব ০৬
snprintfএস-এন-প্রিন্টএফ
printf-এর মতো লেখা তৈরি করে, কিন্তু স্ক্রিনে নয় — নির্দিষ্ট মাপের buffer-এ। কখনো সীমা পেরোয় না, সবসময় শেষ-চিহ্ন বসায়, আর পুরো লেখার দরকারি দৈর্ঘ্য ফেরত দেয়।যেখানে শিখবেন: পর্ব ১৯পর্ব ৪৬পর্ব ৪৭
SO_REUSEADDRএস-ও রিইউজ অ্যাড্রেস
একটি socket option, যা server আবার চালানোর সময় সদ্য বন্ধ সংযোগে আটকে থাকা port-এ আবার bind করতে দেয় — Address already in use এড়াতে।যেখানে শিখবেন: পর্ব ৫০
Socketসকেট
নেটওয়ার্ক যোগাযোগের একটি প্রান্ত। C-তে এটি একটি file descriptor, যেখানে লিখলে ডেটা অন্য প্রোগ্রামে যায়, আর পড়লে সেখান থেকে আসা ডেটা পাওয়া যায়।যেখানে শিখবেন: পর্ব ৪৮পর্ব ৪৯পর্ব ৫০
Software architectureসফটওয়্যার আর্কিটেকচার
একটি সিস্টেমের বড় নকশা — কোন কোন অংশ থাকবে, প্রত্যেকের দায়িত্ব কী, আর তারা একে অপরের সাথে কীভাবে কথা বলবে।যেখানে শিখবেন: পর্ব ৫২
Software licenseসফটওয়্যার লাইসেন্স
কোনো কোড কে, কীভাবে ব্যবহার, বদল ও বিতরণ করতে পারবে, তার আইনি শর্ত — যেমন MIT, GPL বা Apache লাইসেন্স।যেখানে শিখবেন: পর্ব ৫২
Sortingসর্টিং
ডেটাকে একটি নির্দিষ্ট নিয়মে সাজানো — ছোট থেকে বড়, বড় থেকে ছোট বা বর্ণানুক্রমে। সাজানো ডেটায় খোঁজা ও র‍্যাংকিং অনেক সহজ হয়।যেখানে শিখবেন: পর্ব ৪০
Sorting lower boundসর্টিং লোয়ার বাউন্ড
শুধু তুলনা করে সাজালে সবচেয়ে খারাপ ইনপুটে অন্তত প্রায় n log n তুলনা লাগবেই — এই গাণিতিক সীমা। কোনো comparison sort এর নিচে নামতে পারে না।যেখানে শিখবেন: পর্ব ৪০
Source codeসোর্স কোড
মানুষের লেখা প্রোগ্রাম — যেটি আপনি বা AI লিখে .c ফাইলে রাখেন। মানুষ পড়তে পারে, কিন্তু কম্পিউটার সরাসরি চালাতে পারে না।যেখানে শিখবেন: পর্ব ০৩
Space complexityস্পেস কমপ্লেক্সিটি
ইনপুট বড় হলে একটি অ্যালগরিদমের বাড়তি মেমরি কত দ্রুত বাড়ে, তার হিসাব। রিকার্শনের stack-এর গভীরতাও এর মধ্যে ধরা হয়।যেখানে শিখবেন: পর্ব ৩৯
Sparse graphস্পার্স গ্রাফ
যে গ্রাফে প্রতিটি vertex মাত্র অল্প কয়েকজনের সাথে যুক্ত — বাস্তবের রাস্তা, সামাজিক নেটওয়ার্ক প্রায় সবই এমন। এখানে adjacency list দরকার।যেখানে শিখবেন: পর্ব ২১পর্ব ৩৮
Sparse matrixস্পার্স ম্যাট্রিক্স
যে matrix-এর বেশিরভাগ ঘর শূন্য। পুরো টেবিল না রেখে শুধু অশূন্য ঘরগুলো (সারি, কলাম, মান) রাখলে বিপুল মেমরি বাঁচে।যেখানে শিখবেন: পর্ব ২১
Spatial localityস্প্যাশিয়াল লোকালিটি
এখন যে ঠিকানার ডেটা ছোঁয়া হলো, তার কাছাকাছি ডেটাও শিগগিরই ছোঁয়া হবে — এই প্রবণতা। অ্যারে পরপর পড়লে এর পুরো সুবিধা পাওয়া যায়।যেখানে শিখবেন: পর্ব ১৬পর্ব ২১পর্ব ৩৩
Specification (spec)স্পেসিফিকেশন
একটি প্রোগ্রাম ঠিক কী করবে তার নির্ভুল বর্ণনা — কী ইনপুট নেবে, কী আউটপুট দেবে, কোন নিয়ম মানবে, অস্বাভাবিক ইনপুটে কী করবে।যেখানে শিখবেন: পর্ব ০২পর্ব ২৩পর্ব ৩২
SPIএসপিআই
চার তারের দ্রুত যোগাযোগ পদ্ধতি, যা সাধারণত SD কার্ড, ডিসপ্লে বা flash চিপের সাথে ডেটা আদান-প্রদানে লাগে।যেখানে শিখবেন: পর্ব ৫১
Spurious wakeupস্পুরিয়াস ওয়েকআপ
কোনো signal ছাড়াই condition variable-এর wait থেকে thread জেগে ওঠা। POSIX এটি ঘটতে দেয়, তাই জাগার পর শর্ত সবসময় while লুপে আবার যাচাই করতে হয়।যেখানে শিখবেন: পর্ব ৪৯
SRAMএস-র‍্যাম
চিপের ভেতরের দ্রুত কাজের মেমরি, যেখানে ভ্যারিয়েবল আর stack থাকে। বিদ্যুৎ গেলে সব মুছে যায়।যেখানে শিখবেন: পর্ব ৫১
Stable sortস্টেবল সর্ট
যে sorting-এ সমান মানের উপাদানগুলোর আগের পারস্পরিক ক্রম বজায় থাকে। qsort এর নিশ্চয়তা দেয় না।যেখানে শিখবেন: পর্ব ২৮পর্ব ৩৬পর্ব ৪০
Stack (data structure)স্ট্যাক
ডেটা রাখার এমন একটি কাঠামো, যেখানে শুধু ওপরের দিক থেকে রাখা ও তোলা যায় — যেটি সবশেষে রাখা হয়েছে, সেটিই সবার আগে বের হয়। বিয়েবাড়ির থালার স্তূপের মতো।যেখানে শিখবেন: পর্ব ৩৩পর্ব ৩৪পর্ব ৩৫
Stack (memory region)স্ট্যাক
মেমরির যে অংশে ফাংশনের লোকাল ভ্যারিয়েবল ও stack frame থাকে। ফাংশন শেষ হলে জায়গা নিজে থেকেই খালি হয়; দ্রুত, কিন্তু আকারে ছোট।যেখানে শিখবেন: পর্ব ১৪পর্ব ২০পর্ব ৩৪
Stack canaryস্ট্যাক ক্যানারি
Compiler-এর বসানো একটি গোপন মান, যা stack-এ local ডেটার পাশে থাকে। ফাংশন শেষে মানটি বদলে গেলে বোঝা যায় overflow হয়েছে, আর প্রোগ্রাম সাথে সাথে বন্ধ হয়।যেখানে শিখবেন: পর্ব ১৯পর্ব ২৮পর্ব ৩৪
Stack frameস্ট্যাক ফ্রেম
Call stack-এ একটি ফাংশনের নিজের খোপ। এতে থাকে তার parameter, local ভ্যারিয়েবল আর ফেরার ঠিকানা।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৪পর্ব ১৫
Stack machineস্ট্যাক মেশিন
এমন যন্ত্র বা virtual machine, যার নির্দেশগুলো register-এর নাম না নিয়ে সরাসরি একটি stack থেকে মান তোলে আর ফল আবার stack-এ রাখে। JVM, CPython আর WebAssembly এভাবে কাজ করে।যেখানে শিখবেন: পর্ব ৩৪
Stack overflowস্ট্যাক ওভারফ্লো
এত বেশি ফাংশন একটির ভেতরে আরেকটি ডাকা হয়েছে যে call stack-এর জায়গা ফুরিয়ে গেছে। সাধারণত প্রোগ্রাম crash করে।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৫পর্ব ২১
STAR methodস্টার মেথড
আচরণগত প্রশ্নের উত্তর গোছানোর কাঠামো: Situation (পরিস্থিতি), Task (দায়িত্ব), Action (আপনি কী করলেন), Result (ফল ও শিক্ষা)।যেখানে শিখবেন: পর্ব ৫৬
Starvationস্টারভেশন
সিস্টেম চলছে, কিন্তু একটি নির্দিষ্ট thread বারবার পিছিয়ে পড়ে কখনো lock বা CPU-র পালা পায় না।যেখানে শিখবেন: পর্ব ৪৯
Statementস্টেটমেন্ট
C-এর একটি সম্পূর্ণ নির্দেশ, অনেকটা বাংলার একটি পূর্ণ বাক্যের মতো। বেশিরভাগ statement শেষ হয় সেমিকোলন (;) দিয়ে।যেখানে শিখবেন: পর্ব ০৪পর্ব ১১
Static analysisস্ট্যাটিক অ্যানালাইসিস
প্রোগ্রাম না চালিয়েই শুধু কোড পড়ে সম্ভাব্য bug খোঁজা — যেমন NULL pointer ব্যবহার বা leak-এর পথ। GCC-র -fanalyzer, clang-tidy, cppcheck এমন টুল।যেখানে শিখবেন: পর্ব ৩১
Static library (.a / .lib)স্ট্যাটিক লাইব্রেরি
অনেকগুলো .o ফাইল একসাথে বাঁধা একটি আর্কাইভ। Link করার সময় দরকারি অংশ প্রোগ্রামের ভেতরে কপি হয়ে যায়।যেখানে শিখবেন: পর্ব ২৯
Static variableস্ট্যাটিক ভ্যারিয়েবল
static দিয়ে ঘোষণা করা ভ্যারিয়েবল। ফাংশনের ভেতরে হলে ফাংশন শেষ হলেও মান হারায় না, পরের ডাকে আগের মান পাওয়া যায়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৪পর্ব ৫৩
static_assertস্ট্যাটিক অ্যাসার্ট
Compile করার সময়েই একটি শর্ত যাচাই করে; শর্ত মিথ্যা হলে প্রোগ্রাম তৈরিই হয় না। C11 থেকে আছে।যেখানে শিখবেন: পর্ব ০৯পর্ব ৩০পর্ব ৪৭
-std= flagড্যাশ এসটিডি ফ্ল্যাগ
GCC ও Clang-কে কোন C স্ট্যান্ডার্ড মেনে compile করতে হবে তা বলার option. যেমন -std=c11 বা -std=c23; gnu দিয়ে শুরু হলে GNU-র বাড়তি সুবিধাও চালু থাকে।যেখানে শিখবেন: পর্ব ৪৭
stdbit.hএসটিডি-বিট ডট এইচ
C23-এর নতুন header, যেখানে বিট গোনা, শুরুর শূন্য গোনা, দুইয়ের ঘাত কি না যাচাইয়ের মতো ফাংশন আছে — যেমন stdc_count_ones.যেখানে শিখবেন: পর্ব ৪৭
stdbool.hএসটিডি-বুল ডট এইচ
C99-এর header, যা bool, true, false নাম দেয় (ভেতরে _Bool টাইপ)। C23-এ এগুলো সরাসরি keyword, তাই header আর লাগে না।
__STDC_VERSION__স্টিডিসি ভার্সন ম্যাক্রো
Compiler যে স্ট্যান্ডার্ডে compile করছে তার সংখ্যা জানানো একটি predefined macro. যেমন C11-এ 201112L, C23-এ 202311L.যেখানে শিখবেন: পর্ব ৪৭
stderr (standard error)স্ট্যান্ডার্ড এরর
ভুল বা সতর্কবার্তার জন্য আলাদা আউটপুট পাইপ, নম্বর 2. আসল আউটপুট ফাইলে পাঠালেও এই বার্তা স্ক্রিনে দেখা যায়।যেখানে শিখবেন: পর্ব ১০পর্ব ২৫পর্ব ৩০
stdin (standard input)স্ট্যান্ডার্ড ইন
প্রোগ্রামের ইনপুটের পাইপ, নম্বর 0. সাধারণত কিবোর্ডের সাথে জোড়া থাকে; scanf এখান থেকে পড়ে।যেখানে শিখবেন: পর্ব ১০পর্ব ২৫পর্ব ৪৪
stdint.hএসটিডি-ইন্ট ডট এইচ
একটি standard header, যেখানে নির্দিষ্ট মাপের পূর্ণসংখ্যা টাইপ আছে — যেমন int32_t (ঠিক ৩২ বিট), uint8_t (ঠিক ৮ বিট, চিহ্নহীন)। যেকোনো কম্পিউটারে মাপ একই থাকে।যেখানে শিখবেন: পর্ব ০৬পর্ব ২৬পর্ব ৪৭
stdout (standard output)স্ট্যান্ডার্ড আউট
প্রোগ্রামের সাধারণ আউটপুটের পাইপ, নম্বর 1. সাধারণত স্ক্রিনে যায়; printf এখানে লেখে।যেখানে শিখবেন: পর্ব ১০পর্ব ২৫
Stepping (next / step)স্টেপিং
Debugger-এ প্রোগ্রামকে এক লাইন করে চালানো। next ফাংশন ডাকাকে এক লাইন ধরে পার হয়ে যায়; step সেই ফাংশনের ভেতরে ঢোকে।যেখানে শিখবেন: পর্ব ৩১
Storage classস্টোরেজ ক্লাস
একটি ভ্যারিয়েবল কোথায় রাখা হবে, কতক্ষণ বাঁচবে আর কোন ফাইল থেকে দেখা যাবে — এই নিয়মের নাম। যেমন auto, static, extern.যেখানে শিখবেন: পর্ব ১৩পর্ব ১৪পর্ব ৫৪
Storage durationস্টোরেজ ডিউরেশন
একটি ভ্যারিয়েবলের বাক্স মেমরিতে কতক্ষণ টিকে থাকে, তার নিয়ম। C-তে চার রকম: automatic, static, allocated আর thread.যেখানে শিখবেন: পর্ব ১৪
strcatস্ট্রিং ক্যাট
একটি স্ট্রিংয়ের শেষে আরেকটি জুড়ে দেয়। প্রতিবার শুরু থেকে শেষ খোঁজে, আর গন্তব্যের মাপ জানে না।যেখানে শিখবেন: পর্ব ১৯
strcmpস্ট্রিং কম্পেয়ার
দুটি স্ট্রিংয়ের লেখা তুলনা করে। সমান হলে ০, প্রথমটি অভিধানের ক্রমে আগে হলে ঋণাত্মক, পরে হলে ধনাত্মক সংখ্যা দেয়।যেখানে শিখবেন: পর্ব ১৯পর্ব ২৮পর্ব ৩৭
strcpyস্ট্রিং কপি
এক স্ট্রিং থেকে আরেক জায়গায় লেখা কপি করে, শূন্য বাইট না পাওয়া পর্যন্ত। গন্তব্যের মাপ জানে না, তাই buffer overflow-এর পরিচিত উৎস।যেখানে শিখবেন: পর্ব ১৯
Streamস্ট্রিম
একদিক থেকে আরেকদিকে ধারাবাহিকভাবে বয়ে চলা byte-এর সারি — যেন পানির পাইপ। প্রোগ্রাম এক মাথায় লেখে বা পড়ে, অন্য মাথায় কী আছে তা জানার দরকার পড়ে না।যেখানে শিখবেন: পর্ব ১০পর্ব ২৪
strerrorস্ট্র-এরর
errno-র সংখ্যাকে পড়ার মতো একটি বার্তায় (string) বদলে দেয়, যাতে নিজের মতো করে error message সাজানো যায়।যেখানে শিখবেন: পর্ব ৩০
Stress testingস্ট্রেস টেস্টিং
একটি ধীর কিন্তু নিশ্চিতভাবে সঠিক সমাধান আর একটি দ্রুত সমাধানকে হাজার হাজার এলোমেলো ইনপুটে চালিয়ে উত্তর মিলিয়ে দেখা, যতক্ষণ না কোনো অমিল পাওয়া যায়।যেখানে শিখবেন: পর্ব ৩২পর্ব ৩৬পর্ব ৪৪
strftimeস্ট্র-এফ-টাইম
struct tm থেকে format string অনুযায়ী তারিখ-সময়ের লেখা বানানোর ফাংশন, যেমন %d %b %Y দিয়ে “16 Oct 2026”.যেখানে শিখবেন: পর্ব ২৬
Strict aliasing ruleস্ট্রিক্ট অ্যালিয়াসিং রুল
C-এর নিয়ম: একটি object-কে তার নিজের টাইপের (বা char-এর) পয়েন্টার ছাড়া অন্য বেমানান টাইপের পয়েন্টার দিয়ে পড়া বা লেখা undefined behavior. Compiler এই নিয়ম ধরে নিয়েই optimization করে।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৬
Strideস্ট্রাইড
এক সারির শুরু থেকে পরের সারির শুরু পর্যন্ত বাইটের দূরত্ব। সারির শেষে ফাঁকা বাইট থাকলে stride সারির আসল ডেটার চেয়ে বড় হয়।যেখানে শিখবেন: পর্ব ২১
Stringস্ট্রিং
লেখা বা অক্ষরের সারি। C-তে এর আলাদা কোনো টাইপ নেই — এটি char-এর একটি array, যার শেষে থাকে শূন্য বাইট '\0'.যেখানে শিখবেন: পর্ব ১৯পর্ব ২৫পর্ব ৫৫
String literalস্ট্রিং লিটারাল
কোডের ভেতরে দুটি সোজা ডাবল কোট "…"-এর মাঝে সরাসরি লেখা টেক্সট, যেমন "Hello".যেখানে শিখবেন: পর্ব ০৪পর্ব ১৯পর্ব ২১
string.hস্ট্রিং ডট এইচ
C standard library-র যে header-এ স্ট্রিং নিয়ে কাজের ফাংশনগুলো (strlen, strcmp, strcpy ইত্যাদি) ঘোষণা করা থাকে।যেখানে শিখবেন: পর্ব ১৯
Stringize (#)স্ট্রিংগাইজ
Macro-র ভেতরে # অপারেটর, যা argument-এর লেখাকে হুবহু একটি string বানায় — x হলে "x".যেখানে শিখবেন: পর্ব ২৭পর্ব ৩২
strlenস্ট্রেন / স্ট্রিং লেংথ
স্ট্রিংয়ের দৈর্ঘ্য বের করার ফাংশন। শুরু থেকে শূন্য বাইট পর্যন্ত বাইট গোনে — অক্ষর নয়, আর শেষ-চিহ্নটি গোনে না।যেখানে শিখবেন: পর্ব ১৯পর্ব ৩৯
strncpyস্ট্রিং এন কপি
সর্বোচ্চ n বাইট কপি করে। কিন্তু লেখা n-এর সমান বা বড় হলে শেষে শূন্য বাইট বসায় না — তাই নিরাপদ বিকল্প হিসেবে ব্যবহার করা ঝুঁকিপূর্ণ।যেখানে শিখবেন: পর্ব ১৯
strtolস্ট্র-টু-এল
লেখাকে long সংখ্যায় বদলানোর standard ফাংশন, যা কোথায় পড়া থামল (end pointer) আর সীমা ছাড়াল কি না (ERANGE) জানায় — তাই ভুল ইনপুট ধরা যায়।যেখানে শিখবেন: পর্ব ২৫পর্ব ২৬পর্ব ৩০
structস্ট্রাক্ট
কয়েকটি ভিন্ন টাইপের তথ্যকে একটি নামের নিচে একসাথে বাঁধার উপায়। এতে আপনি নিজের একটি নতুন টাইপ বানান, যেমন Student বা Ticket.যেখানে শিখবেন: পর্ব ২২পর্ব ২৩পর্ব ৩৩
struct tmস্ট্রাক্ট টি-এম
সময়ের ভাঙা রূপ: বছর, মাস, দিন, ঘণ্টা, মিনিট, সেকেন্ড। এখানে মাস গোনা শুরু 0 থেকে, আর বছর রাখা হয় 1900-এর পর কত বছর হিসেবে।যেখানে শিখবেন: পর্ব ২৬
Structured programmingস্ট্রাকচার্ড প্রোগ্রামিং
এলোমেলো লাফ না দিয়ে শুধু ক্রম, সিদ্ধান্ত আর লুপ — এই পরিষ্কার গঠনগুলো দিয়ে প্রোগ্রাম লেখার পদ্ধতি।যেখানে শিখবেন: পর্ব ১২
Subnet maskসাবনেট মাস্ক
একটি IP ঠিকানার কোন অংশ নেটওয়ার্কের আর কোন অংশ যন্ত্রের, তা বলে দেওয়া মাস্ক — যেমন /24 মানে 255.255.255.0. IP-র সাথে AND করলে নেটওয়ার্ক ঠিকানা পাওয়া যায়।যেখানে শিখবেন: পর্ব ০৯
Subtreeসাবট্রি
কোনো একটি নোড আর তার নিচের সব বংশধর মিলে যে ছোট ট্রি হয়। প্রতিটি subtree নিজেই একটি পূর্ণ ট্রি।যেখানে শিখবেন: পর্ব ৩৫
Super-loopসুপার-লুপ
OS ছাড়া embedded প্রোগ্রামের সবচেয়ে সাধারণ কাঠামো: main-এর ভেতরে একটি অসীম লুপ, যা একই কাজগুলো চিরকাল পরপর করে যায়।যেখানে শিখবেন: পর্ব ৫১
SWD / JTAGএসডব্লিউডি / জেট্যাগ
চিপের ভেতরে সরাসরি ঢোকার হার্ডওয়্যার debug পথ। এর মাধ্যমে flash-এ প্রোগ্রাম লেখা, CPU থামানো, breakpoint বসানো আর রেজিস্টার পড়া যায়।যেখানে শিখবেন: পর্ব ৫১
switch statementসুইচ স্টেটমেন্ট
একটি পূর্ণসংখ্যা বা অক্ষরের মান দেখে মিলে যাওয়া case লেবেলে সরাসরি লাফ দেওয়ার নির্দেশ। মেনুর মতো কাজে সুবিধাজনক।যেখানে শিখবেন: পর্ব ১১পর্ব ২৮
Symbolসিম্বল
Object file-এ লেখা একটি নাম (ফাংশন বা global ভ্যারিয়েবল) — হয় “এটি আমার কাছে আছে”, নয়তো “এটি আমার দরকার”। Linker এই নামগুলো মিলিয়েই জোড়া দেয়।যেখানে শিখবেন: পর্ব ১৪পর্ব ২৯পর্ব ৩৭
Symbol tableসিম্বল টেবিল
Compiler-এর রাখা একটি তালিকা, যেখানে কোডের প্রতিটি নাম (ভ্যারিয়েবল, ফাংশন) আর তার টাইপ ও অবস্থানের তথ্য থাকে। সাধারণত hash table দিয়ে তৈরি।যেখানে শিখবেন: পর্ব ৩৭
Syntaxসিনট্যাক্স
ভাষার ব্যাকরণ — কোথায় ; বসবে, ব্র্যাকেট কীভাবে খুলবে-বন্ধ হবে ইত্যাদি নিয়ম।যেখানে শিখবেন: পর্ব ০৩
Syntax tree (AST)সিনট্যাক্স ট্রি
Compiler কোড পড়ে তার গঠন যে ট্রি আকারে সাজায় — যেমন a + b * c-তে গুণ নিচে, যোগ ওপরে।যেখানে শিখবেন: পর্ব ৩৫
System callসিস্টেম কল
সাধারণ প্রোগ্রাম যখন kernel-কে কোনো কাজ করে দিতে অনুরোধ করে — ফাইল পড়া, স্ক্রিনে লেখা, নেটওয়ার্কে পাঠানো — সেই অনুরোধের নাম।যেখানে শিখবেন: পর্ব ০১পর্ব ০৪পর্ব ১০
System design interviewসিস্টেম ডিজাইন ইন্টারভিউ
যে ইন্টারভিউতে একটি সফটওয়্যার ব্যবস্থার নকশা করতে বলা হয়, যেমন কোন অংশ কী করবে আর ডেটা কোথায় থাকবে। নতুনদের জন্য সাধারণত ছোট ও হালকা সংস্করণ হয়।যেখানে শিখবেন: পর্ব ৫৬

T

Tabulationট্যাবুলেশন
Bottom-up DP-র আরেক নাম — রিকার্শন ছাড়া একটি টেবিল (array) ছোট থেকে বড় ঘরে লুপ দিয়ে ভরে উত্তর বের করা।যেখানে শিখবেন: পর্ব ৪২
Tagged unionট্যাগড ইউনিয়ন
একটি enum ট্যাগ আর একটি union একসাথে রাখা struct. ট্যাগ বলে দেয় union-এর কোন member এখন বৈধ, তাই ভুল member পড়ার ঝুঁকি কমে।যেখানে শিখবেন: পর্ব ২২পর্ব ৫৫
Tail call / tail recursionটেইল কল
যখন নিজেকে ডাকাটাই ফাংশনের একদম শেষ কাজ, ডাকের পরে আর কোনো হিসাব বাকি থাকে না। এমন ডাককে compiler চাইলে লুপে বদলে দিতে পারে।যেখানে শিখবেন: পর্ব ১৫
Tail pointerটেইল পয়েন্টার
লিংকড লিস্টের শেষ node-এর ঠিকানা আলাদা করে রেখে দেওয়া pointer, যাতে শেষে নতুন node যোগ করতে পুরো তালিকা হাঁটতে না হয়।যেখানে শিখবেন: পর্ব ৩৩
Take-home assignmentটেক-হোম অ্যাসাইনমেন্ট
কয়েক দিনের সময় দিয়ে বাড়িতে বসে করার ছোট একটি প্রজেক্ট। পরে সেটি নিয়ে ইন্টারভিউতে আলোচনা হয়।যেখানে শিখবেন: পর্ব ৫৬
Target (Make)টার্গেট
Makefile-এ যা বানাতে চান — সাধারণত একটি ফাইল, যেমন shop বা ledger.o. কোলনের বাঁ পাশে লেখা হয়।যেখানে শিখবেন: পর্ব ২৯পর্ব ৩২
Tautological testটটোলজিক্যাল টেস্ট
যে test সংজ্ঞা অনুযায়ীই সবসময় পাস করে, যেমন একটি মানকে নিজের সাথেই তুলনা বা কোডের সূত্র নকল করা। কিছুই প্রমাণ করে না।যেখানে শিখবেন: পর্ব ৩২
TCP (Transmission Control Protocol)টিসিপি
নির্ভরযোগ্য transport protocol: হারানো ডেটা আবার পাঠায়, ক্রম ঠিক রাখে, আর ডেটাকে একটানা byte stream হিসেবে দেয়।যেখানে শিখবেন: পর্ব ৫০পর্ব ৫২
TDD (Test-driven development)টিডিডি
আগে একটি ফেল করা test লেখা, তারপর তা পাস করানোর মতো কোড, তারপর কোড পরিষ্কার করা — red, green, refactor চক্রে এগোনো।যেখানে শিখবেন: পর্ব ৩২
Technical debtটেকনিক্যাল ডেট
আজ দ্রুত এগোনোর জন্য নেওয়া শর্টকাট, যার “সুদ” পরে বাড়তি কাজ হিসেবে দিতে হয়। জেনেশুনে নেওয়া আর লিখে রাখা ঋণ ক্ষতিকর নয়, ভুলে যাওয়া ঋণ বিপজ্জনক।যেখানে শিখবেন: পর্ব ২৩পর্ব ৫২
Technical interviewটেকনিক্যাল ইন্টারভিউ
চাকরির যে ধাপে প্রার্থীর প্রোগ্রামিং, সমস্যা সমাধান ও প্রযুক্তিগত জ্ঞান যাচাই করা হয়। সাধারণত সমস্যা সমাধান করতে দিয়ে সাথে আলোচনা চলে।যেখানে শিখবেন: পর্ব ৫৬
Temporary fileটেম্প ফাইল
কাজের মাঝে সাময়িকভাবে বানানো ফাইল। নিরাপদ save-এ নতুন ডেটা আগে এখানে পুরো লেখা হয়, তারপর আসল ফাইলের জায়গা নেয়।যেখানে শিখবেন: পর্ব ২৪
Tensorটেনসর
AI ও মেশিন লার্নিংয়ে বহুমাত্রিক অ্যারের নাম — ভেক্টর (1D), matrix (2D), ছবির ব্যাচ (4D) সবই tensor.যেখানে শিখবেন: পর্ব ২১
Tentative definitionটেনটেটিভ ডেফিনিশন
ফাইলের স্তরে মান ছাড়া লেখা global, যেমন int total;. ফাইলে আর কোনো definition না থাকলে এটি শূন্য মানের definition হিসেবে ধরা হয়।যেখানে শিখবেন: পর্ব ১৪
Terminalটার্মিনাল
কালো/সাদা লেখার জানালা, যেখানে মাউস ছাড়া শুধু লিখে কম্পিউটারকে কমান্ড দেওয়া হয়।যেখানে শিখবেন: পর্ব ০৩
Ternary operator ( ? : )টার্নারি অপারেটর
এক লাইনে দুটি মানের একটি বেছে নেওয়ার উপায়: শর্ত ? মান১ : মান২. শর্ত সত্য হলে প্রথমটি, নইলে দ্বিতীয়টি।যেখানে শিখবেন: পর্ব ১১
Test caseটেস্ট কেস
একটি নির্দিষ্ট ইনপুট আর তার জন্য প্রত্যাশিত সঠিক আউটপুট — প্রোগ্রাম ঠিক আছে কি না মিলিয়ে দেখার জন্য।যেখানে শিখবেন: পর্ব ০২পর্ব ১২পর্ব ৩২
Test double (mock, stub, fake)টেস্ট ডাবল
Test-এর সময় আসল নির্ভরতার জায়গায় বসানো নকল সংস্করণ, যেমন নির্দিষ্ট সময় দেওয়া একটি নকল ঘড়ি।যেখানে শিখবেন: পর্ব ৩২
Test harnessটেস্ট হারনেস
Test চালানোর ছোট কাঠামো — শর্ত যাচাইয়ের macro বা ফাংশন, পাস-ফেলের গণনা আর শেষে ফলাফল দেখানো।যেখানে শিখবেন: পর্ব ২৫পর্ব ৩২পর্ব ৫২
Test planটেস্ট প্ল্যান
কোন কোন পরিস্থিতিতে প্রোগ্রাম পরীক্ষা করা হবে, কী ইনপুট দেওয়া হবে আর কী ফল আশা করা হচ্ছে — তার আগাম লিখিত তালিকা।যেখানে শিখবেন: পর্ব ২৩পর্ব ৫২
Test pyramidটেস্ট পিরামিড
Test সাজানোর একটি নির্দেশিকা: নিচে অনেক দ্রুত unit test, মাঝে কম integration test, চূড়ায় অল্প কয়েকটি end-to-end test.যেখানে শিখবেন: পর্ব ৩২
Test suiteটেস্ট স্যুট
একটি প্রোগ্রাম বা মডিউলের সব test case-এর সংগ্রহ, যা একসাথে একটি কমান্ডে চালানো হয়।যেখানে শিখবেন: পর্ব ৩২
Text (code) segmentটেক্সট সেগমেন্ট
মেমরির যে অংশে প্রোগ্রামের machine code থাকে। সাধারণত শুধু পড়া যায়, বদলানো যায় না।যেখানে শিখবেন: পর্ব ১৪পর্ব ২০পর্ব ২৮
Text fileটেক্সট ফাইল
যে ফাইলে শুধু পড়া যায় এমন অক্ষর আর লাইন-ভাঙা থাকে, Notepad-এ খুললেই মানুষ পড়তে পারে। সংখ্যাও অক্ষর হিসেবে লেখা থাকে।যেখানে শিখবেন: পর্ব ২৪পর্ব ৫৫
Think aloudথিংক অ্যালাউড
সমস্যা সমাধানের সময় মনের ভাবনা জোরে জোরে বলে যাওয়া, যাতে পরীক্ষক আপনার যুক্তির পথ দেখতে পান। ভুল হলেও পথ দেখে তিনি আংশিক কৃতিত্ব দিতে পারেন।যেখানে শিখবেন: পর্ব ৫৫পর্ব ৫৬
Threadথ্রেড
একটি প্রোগ্রামের ভেতরে স্বাধীনভাবে চলা একটি কাজের ধারা। একই process-এর সব thread মেমরি ভাগ করে নেয়, কিন্তু প্রত্যেকের নিজের stack ও register থাকে।যেখানে শিখবেন: পর্ব ১৪পর্ব ৪৫পর্ব ৪৮
Thread poolথ্রেড পুল
আগে থেকে বানিয়ে রাখা কয়েকটি thread, যারা একটি কাজের queue থেকে একটির পর একটি কাজ তুলে নেয়। প্রতিটি কাজের জন্য নতুন thread বানানোর খরচ বাঁচে।যেখানে শিখবেন: পর্ব ৪৯
Thread-safeথ্রেড-সেফ
যে ফাংশন একাধিক থ্রেড একসাথে ডাকলেও ঠিক ফল দেয়। localtime-এর মতো ফাংশন ভেতরের একটি static জায়গা ভাগ করে বলে thread-safe নয়।যেখানে শিখবেন: পর্ব ২৬
ThreadSanitizer (TSan)থ্রেড স্যানিটাইজার
GCC ও Clang-এর একটি টুল, যা প্রোগ্রাম চলার সময় data race ধরে দুটি সংঘর্ষের লাইন দেখিয়ে দেয়। -fsanitize=thread দিয়ে চালু হয়।যেখানে শিখবেন: পর্ব ৪৯পর্ব ৫২
Three-way handshakeথ্রি-ওয়ে হ্যান্ডশেক
TCP সংযোগ শুরুর তিনটি বার্তা — SYN, SYN-ACK, ACK — যা দিয়ে দুপক্ষ নিশ্চিত হয় দুই দিকেই কথা যাচ্ছে।যেখানে শিখবেন: পর্ব ৫০
Tie-breakingটাই-ব্রেকিং
দুটি উপাদানের মূল মাপ (যেমন priority) সমান হলে কে আগে যাবে, তা ঠিক করার বাড়তি নিয়ম — যেমন যে আগে এসেছে তার ক্রমিক নম্বর ছোট, সে আগে।যেখানে শিখবেন: পর্ব ৩৬
Time complexityটাইম কমপ্লেক্সিটি
ইনপুট বড় হলে একটি অ্যালগরিদমের কাজের পরিমাণ কত দ্রুত বাড়ে, তার হিসাব। সাধারণত O(n) বা O(log n)-এর মতো Big-O চিহ্ন দিয়ে এটি লেখা হয়।যেখানে শিখবেন: পর্ব ০২পর্ব ১২পর্ব ১৯
Time Limit Exceeded (TLE)টাইম লিমিট এক্সিডেড
প্রোগ্রাম নির্ধারিত সময়ের (প্রায়ই ১–২ সেকেন্ড) মধ্যে শেষ হয়নি। সাধারণত অ্যালগরিদমটিই বেশি ধীর, কখনো অসীম লুপ বা ধীর ইনপুট পড়া।যেখানে শিখবেন: পর্ব ৪৪
time.hটাইম ডট এইচ
সময় ও তারিখের header — time, localtime, mktime, strftime, clock, difftime.যেখানে শিখবেন: পর্ব ২৬
time_tটাইম-টি
সময়কে একটি সংখ্যা হিসেবে রাখার টাইপ, সাধারণত epoch থেকে কত সেকেন্ড। পুরোনো সিস্টেমে ৩২ বিট, আধুনিকগুলোতে ৬৪ বিট।যেখানে শিখবেন: পর্ব ২৬
Timeoutটাইমআউট
কোনো কাজের জন্য সর্বোচ্চ অপেক্ষার সময়। এর মধ্যে উত্তর না এলে প্রোগ্রাম অপেক্ষা ছেড়ে অন্য ব্যবস্থা নেয়।যেখানে শিখবেন: পর্ব ৫০
Timer wheelটাইমার হুইল
ঘড়ির কাঁটার মতো একটি গোল অ্যারে, যার প্রতিটি ঘর একটি সময়-খণ্ড। Timer সরাসরি তার ঘরে যায়, তাই অনেক timer যোগ ও বাতিল করা খুব দ্রুত।যেখানে শিখবেন: পর্ব ৩৬
Timsortটিমসর্ট
ডেটার ভেতরে আগে থেকে সাজানো টুকরো খুঁজে, insertion sort আর merge মিলিয়ে সাজানোর stable hybrid পদ্ধতি। Tim Peters ২০০২ সালে Python-এর জন্য লেখেন।যেখানে শিখবেন: পর্ব ৪০
TLS (Transport Layer Security)টিএলএস
সংযোগের ডেটা encrypt করে ও server-এর পরিচয় যাচাই করে এমন protocol. HTTPS মানে TLS-এর ভেতরে HTTP.যেখানে শিখবেন: পর্ব ৫০
TOCTOUটক-টু
Time of check to time of use — কোনো কিছু যাচাই করার সময় আর ব্যবহারের সময়ের ফাঁকে অবস্থা বদলে যাওয়ার race condition. যেমন অনুমতি যাচাইয়ের পর ফাইলটিই বদলে যাওয়া।যেখানে শিখবেন: পর্ব ৪৬
Tokenটোকেন
Compiler যে ক্ষুদ্রতম অর্থবহ টুকরোগুলো চেনে, যেমন keyword, নাম, সংখ্যা, operator ও যতিচিহ্ন। কোডের লাইন প্রথমে এই টুকরোয় ভাঙা হয়।যেখানে শিখবেন: পর্ব ৫৫
Token pasting (##)টোকেন পেস্টিং
Macro-র ভেতরে ## অপারেটর, যা দুই পাশের শব্দ জোড়া দিয়ে নতুন একটি নাম বানায় — count_ আর login মিলে count_login.যেখানে শিখবেন: পর্ব ২৭
Toleranceটলারেন্স
দুটি দশমিক সংখ্যাকে সমান ধরার জন্য অনুমোদিত সর্বোচ্চ পার্থক্য, যেমন 1e-9. দশমিকে == এর বদলে এটি ব্যবহার করা হয়।যেখানে শিখবেন: পর্ব ০৮পর্ব ৫৩
Tombstoneটুম্বস্টোন
Open addressing টেবিলে মুছে ফেলা ঘরে বসানো বিশেষ চিহ্ন (“এখানে কেউ ছিল”)। খোঁজা এখানে থামে না, তাই পরে সরে বসা চাবিগুলো হারায় না।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৫২
Toolchainটুলচেইন
কয়েকটা প্রোগ্রামের একটা চেইন, যারা পালা করে কাজ করে আপনার সোর্স কোডকে চালানো যায় এমন প্রোগ্রামে বদলে দেয়।যেখানে শিখবেন: পর্ব ০৩
Top-down DPটপ-ডাউন
বড় প্রশ্ন দিয়ে শুরু করে রিকার্শনে ছোট প্রশ্নের দিকে নামা, আর প্রতিটি উত্তর প্রথমবার পেলেই memo টেবিলে লিখে রাখা।যেখানে শিখবেন: পর্ব ৪২
Top-kটপ-কে
অনেক মানের মধ্যে সবচেয়ে বড় (বা ছোট) k টি বের করার সমস্যা। k ঘরের min-heap দিয়ে O(n log k) সময় আর মাত্র O(k) মেমরিতে করা যায়।যেখানে শিখবেন: পর্ব ৩৬
Topological sortটপোলজিক্যাল সর্ট
Directed গ্রাফের vertex-গুলোকে এমন ক্রমে সাজানো, যাতে প্রতিটি edge আগের থেকে পরের দিকে যায় — যেমন কোন কোর্স আগে পড়তে হবে তার ক্রম। গ্রাফে cycle থাকলে এমন ক্রম হয় না।যেখানে শিখবেন: পর্ব ৩৮
Tower of Hanoiটাওয়ার অব হ্যানয়
তিনটি খুঁটি আর বিভিন্ন আকারের চাকতির একটি ধাঁধা — বড় চাকতি কখনো ছোটটির ওপর রাখা যাবে না। রিকার্শন শেখানোর সবচেয়ে বিখ্যাত উদাহরণ।যেখানে শিখবেন: পর্ব ১৫
Trace tableট্রেস টেবিল
Dry run-এর খাতা: প্রতিটি কলামে একটি ভ্যারিয়েবল, প্রতিটি সারিতে একটি ধাপ, আর একটি কলামে যা ছাপা হলো। দেখে যেকোনো মুহূর্তে প্রোগ্রামের অবস্থা বলা যায়।যেখানে শিখবেন: পর্ব ৫৩
Tracebackট্রেসব্যাক
DP টেবিলে উত্তরের ঘর থেকে পিছিয়ে গিয়ে খুঁজে বের করা কোন কোন পছন্দ মিলে সেই উত্তর এসেছিল — যেমন কোন কয়েন বা কোন জিনিস নেওয়া হয়েছিল।যেখানে শিখবেন: পর্ব ৪২পর্ব ৫৬
Transistorট্রানজিস্টর
বিদ্যুৎ দিয়ে নিয়ন্ত্রিত একটি অতি ক্ষুদ্র সুইচ। আধুনিক CPU-তে এমন কোটি কোটি সুইচ থাকে, আর প্রতিটি অন-অফ দিয়েই ১ ও ০ বোঝায়।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৯
Transition (recurrence)ট্রানজিশন
একটি DP ঘরের মান কোন কোন ছোট ঘর থেকে কীভাবে হিসাব হয়, তার সূত্র — যেমন dp[i] = dp[i − 1] + dp[i − 2].যেখানে শিখবেন: পর্ব ৪২
Translation unitট্রান্সলেশন ইউনিট
Preprocessor-এর কাজ শেষে একটি .c ফাইল আর তার ভেতরে ঢোকা সব header মিলিয়ে যে একটি বড় লেখা হয় — compiler এটিকেই একবারে compile করে।যেখানে শিখবেন: পর্ব ২৭পর্ব ২৯
Transposeট্রান্সপোজ
একটি matrix-এর সারিগুলোকে কলাম বানিয়ে দেওয়া: T[j][i] = A[i][j]. ২ × ৩ matrix-এর transpose হয় ৩ × ২.যেখানে শিখবেন: পর্ব ২১পর্ব ৫৫পর্ব ৫৬
Traversalট্রাভার্সাল
কোনো ডেটা স্ট্রাকচারের প্রতিটি ঘর একে একে ঘুরে দেখা। লিংকড লিস্টে head থেকে শুরু করে next ধরে ধরে NULL পর্যন্ত যাওয়া।যেখানে শিখবেন: পর্ব ৩৩
Treeট্রি
ডেটা সাজানোর এমন কাঠামো যেখানে একটি মাথা থেকে শাখা নেমে আসে, প্রতিটি অংশের ঠিক একজন ওপরের অভিভাবক থাকে আর কোনো চক্র থাকে না। ফোল্ডারের ভেতরে ফোল্ডার এর পরিচিত উদাহরণ।যেখানে শিখবেন: পর্ব ৩৫পর্ব ৩৭পর্ব ৩৮
Tree traversalট্রি ট্রাভার্সাল
নির্দিষ্ট একটি নিয়মে ট্রির প্রতিটি নোডে ঠিক একবার করে যাওয়া।যেখানে শিখবেন: পর্ব ৩৫
Truncationট্রাঙ্কেশন
দশমিক সংখ্যাকে পূর্ণসংখ্যায় বদলানোর সময় দশমিকের পরের অংশ কেটে ফেলা — গোল করা নয়। 3.99 হয়ে যায় 3.যেখানে শিখবেন: পর্ব ০৬পর্ব ০৮পর্ব ২৬
Truth tableট্রুথ টেবিল
সত্য-মিথ্যার সব সম্ভাব্য জোড়ায় একটি লজিক্যাল অপারেটর কী ফল দেয়, তার পূর্ণ তালিকা।যেখানে শিখবেন: পর্ব ০৭পর্ব ০৯
TSan (ThreadSanitizer)টিস্যান
GCC ও Clang-এর একটি sanitizer, যা চলার সময় একাধিক thread-এর মধ্যে lock ছাড়া একই ডেটায় হাত দেওয়া (data race) ধরে ফেলে।যেখানে শিখবেন: পর্ব ৫২
Two's complementটুজ কমপ্লিমেন্ট
ঋণাত্মক পূর্ণসংখ্যা বিটে লেখার প্রচলিত পদ্ধতি — ধনাত্মক সংখ্যার সব বিট উল্টে ১ যোগ করলে তার ঋণাত্মক রূপ পাওয়া যায়।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৬পর্ব ২৬
Two-pointer techniqueটু-পয়েন্টার
অ্যারে বা স্ট্রিংয়ে দুটি index একসাথে চালানোর কৌশল, যেমন দুই প্রান্ত থেকে মাঝের দিকে, বা একটি পড়ার আর একটি লেখার জন্য। প্রায়ই O(n²) কাজকে O(n) বানায়।যেখানে শিখবেন: পর্ব ৫৬
Type conversionটাইপ কনভার্শন
একটি মানকে এক টাইপ থেকে আরেক টাইপে বদলানো — যেমন int থেকে double. নিজে থেকে হলে implicit; প্রোগ্রামার নিজে লিখে দিলে তাকে cast বলে।যেখানে শিখবেন: পর্ব ০৬পর্ব ০৮
Type inferenceটাইপ ইনফারেন্স
টাইপ না লিখে শুরুর মান দেখে compiler-কে নিজেই টাইপ ঠিক করতে দেওয়া। C23-এ auto x = 3.5; লিখলে x হয় double.যেখানে শিখবেন: পর্ব ১৪পর্ব ৪৭
Type punningটাইপ পানিং
একই বাইটগুলোকে একটি টাইপ হিসেবে লিখে অন্য টাইপ হিসেবে পড়া। যেমন float-এর বিটগুলো int হিসেবে দেখা।যেখানে শিখবেন: পর্ব ২২পর্ব ৪৫
Type qualifierটাইপ কোয়ালিফায়ার
টাইপের সাথে জুড়ে দেওয়া একটি বাড়তি শর্ত বা প্রতিশ্রুতি, যেমন const, volatile, restrict. এগুলো ডেটার আকার বদলায় না, শুধু ডেটাটি কীভাবে ব্যবহার করা যাবে তা জানায়।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৫৪
typedefটাইপডেফ
একটি টাইপকে নতুন ও সহজ নাম দেওয়ার কীওয়ার্ড। এরপর প্রতিবার struct লিখতে হয় না, শুধু Student লিখলেই চলে।যেখানে শিখবেন: পর্ব ২২পর্ব ২৮পর্ব ৪৫
typeof / typeof_unqualটাইপ-অফ
কোনো expression-এর টাইপ নিয়ে নতুন ঘোষণায় ব্যবহার করার অপারেটর। বহু বছর GNU extension ছিল, C23-এ স্ট্যান্ডার্ড হয়েছে। typeof_unqual const-এর মতো qualifier বাদ দেয়।যেখানে শিখবেন: পর্ব ৪৭

U

UARTইউআর্ট
দুটি তারে (TX আর RX) একটি একটি বিট পাঠিয়ে লেখা আদান-প্রদানের সহজ পদ্ধতি। Embedded প্রোগ্রাম সাধারণত এর মাধ্যমেই কম্পিউটারে লগ পাঠায়।যেখানে শিখবেন: পর্ব ৫১
UBSan (UndefinedBehaviorSanitizer)ইউবিস্যান
GCC ও Clang-এর একটি sanitizer, যা প্রোগ্রাম চলার সময় undefined behavior (যেমন signed overflow, ভুল shift) ঘটলেই জানিয়ে দেয়।যেখানে শিখবেন: পর্ব ২১পর্ব ৩১পর্ব ৪৬
UDP (User Datagram Protocol)ইউডিপি
হালকা ও দ্রুত transport protocol: প্রতিটি বার্তা আলাদা করে পাঠায়, পৌঁছাল কি না বা ক্রম ঠিক আছে কি না দেখে না।যেখানে শিখবেন: পর্ব ৫০
UMPIRE methodআম্পায়ার মেথড
কোডিং সমস্যা সমাধানের একটি ধাপভিত্তিক পদ্ধতি: Understand, Match, Plan, Implement, Review, Evaluate. অর্থাৎ বোঝা, চেনা ছাঁচ খোঁজা, পরিকল্পনা, কোড, যাচাই আর মূল্যায়ন।যেখানে শিখবেন: পর্ব ৫৬
Unbounded knapsackআনবাউন্ডেড ন্যাপস্যাক
Knapsack-এর যে রূপে একই জিনিস যতবার খুশি নেওয়া যায়। 1D array-তে ধারণক্ষমতার লুপ ছোট থেকে বড় দিকে চালালে এটি পাওয়া যায়; coin change এরই একটি রূপ।যেখানে শিখবেন: পর্ব ৪২
Undefined behaviorআনডিফাইনড বিহেভিয়ার
C-এর নিয়মে যে কাজের ফল নির্দিষ্ট করা নেই (যেমন array-র বাইরে পড়া)। তখন প্রোগ্রাম যা খুশি করতে পারে — ঠিক চলতেও পারে, crash-ও করতে পারে।যেখানে শিখবেন: পর্ব ০১পর্ব ০৩পর্ব ০৪
Undefined reference (link error)আনডিফাইন্ড রেফারেন্স
Linker-এর error: কোনো ফাংশন বা ভ্যারিয়েবল ব্যবহার করা হয়েছে, কিন্তু কোনো object file বা library-তে তার সংজ্ঞা পাওয়া যায়নি। Compile ঠিক হলেও প্রোগ্রাম তৈরি হয় না।যেখানে শিখবেন: পর্ব ৩১
Underflowআন্ডারফ্লো
খালি stack থেকে pop বা খালি queue থেকে dequeue করার চেষ্টা। যাচাই না করলে প্রোগ্রাম array-র সীমার বাইরের আবর্জনা মান পড়ে ফেলে।যেখানে শিখবেন: পর্ব ৩৪
Undirected graphআনডিরেক্টেড গ্রাফ
যে গ্রাফে সংযোগ দুই দিকেই খাটে — A আর B যুক্ত মানে A থেকে B, B থেকে A দুটোই যাওয়া যায়। যেমন Facebook-এর বন্ধুত্ব।যেখানে শিখবেন: পর্ব ৩৮
Unicodeইউনিকোড
পৃথিবীর প্রায় সব ভাষার অক্ষর ও চিহ্নকে একটি করে নম্বর দেওয়ার আন্তর্জাতিক মান — বাংলা, আরবি, চীনা, এমনকি ইমোজিও এতে আছে।যেখানে শিখবেন: পর্ব ০৫
unionইউনিয়ন
এমন একটি টাইপ, যার সব member একই মেমরির জায়গা ভাগ করে নেয়। একসময় শুধু একটি member-এর মান অর্থপূর্ণ থাকে।যেখানে শিখবেন: পর্ব ২২পর্ব ৫৩পর্ব ৫৫
Unit testইউনিট টেস্ট
প্রোগ্রামের একটি ছোট অংশ (সাধারণত একটি ফাংশন) আলাদাভাবে পরীক্ষা করার কোড — নির্দিষ্ট ইনপুটে ঠিক ফল আসছে কি না।যেখানে শিখবেন: পর্ব ১৩পর্ব ২৩পর্ব ২৫
Unixইউনিক্স
১৯৬৯ সালে Bell Labs-এ শুরু হওয়া একটি অপারেটিং সিস্টেম। আজকের Linux, macOS ও Android-এর নকশা এর চিন্তা থেকেই এসেছে।যেখানে শিখবেন: পর্ব ০১
Unix epochইউনিক্স ইপক
১ জানুয়ারি ১৯৭০, রাত ১২টা (UTC) — যে মুহূর্ত থেকে বেশিরভাগ সিস্টেম সময় সেকেন্ডে গোনে।যেখানে শিখবেন: পর্ব ২৬
Unix philosophyইউনিক্স ফিলোসফি
Unix-এর নকশার মূলনীতি: প্রতিটি প্রোগ্রাম একটি কাজ ভালোভাবে করবে, আর ছোট ছোট প্রোগ্রাম pipe দিয়ে জুড়ে বড় কাজ হবে।যেখানে শিখবেন: পর্ব ২৫
unreachable()আনরিচেবল
C23-এ stddef.h-এর একটি macro, যা compiler-কে জানায় “এখানে কখনো পৌঁছানো যাবে না”. সত্যিই পৌঁছালে undefined behavior, তাই খুব সাবধানে ব্যবহার করতে হয়।যেখানে শিখবেন: পর্ব ৪৭
Unsignedআনসাইনড
চিহ্নহীন পূর্ণসংখ্যা — শুধু শূন্য ও ধনাত্মক মান রাখতে পারে, ঋণাত্মক নয়।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৬পর্ব ০৭
Unspecified behaviorআনস্পেসিফায়েড বিহেভিয়ার
যে আচরণে স্ট্যান্ডার্ড কয়েকটি বৈধ ফলের যেকোনোটি হতে দেয়, আর compiler কোনটি বেছে নিল তা জানাতে বাধ্য নয়। যেমন function argument কোন ক্রমে মূল্যায়ন হবে।যেখানে শিখবেন: পর্ব ৪৬পর্ব ৫৩
upper_boundআপার বাউন্ড
সাজানো তালিকায় প্রথম যে ঘরের মান খোঁজা মানের চেয়ে বড়, তার index — অর্থাৎ শেষ মিলে যাওয়া ঘরের ঠিক পরের ঘর।যেখানে শিখবেন: পর্ব ৪১
Upsolvingআপসলভিং
কনটেস্ট শেষ হওয়ার পর যে সমস্যাগুলো সমাধান করতে পারেননি, সেগুলো পরে বুঝে নিজে সমাধান করা। উন্নতির সবচেয়ে কার্যকর অভ্যাসগুলোর একটি।যেখানে শিখবেন: পর্ব ৪৪পর্ব ৫৬
Usage messageইউসেজ মেসেজ
ভুলভাবে চালালে বা --help দিলে টুল যে ছোট নির্দেশিকা ছাপে — কীভাবে চালাতে হয়, কোন অপশন আছে।যেখানে শিখবেন: পর্ব ২৫
Use-after-freeইউজ-আফটার-ফ্রি
free করে দেওয়া block-এ আবার পড়া বা লেখা। ততক্ষণে block-টি অন্য কারও হাতে চলে যেতে পারে, তাই এটি গুরুতর নিরাপত্তা-ত্রুটির উৎস।যেখানে শিখবেন: পর্ব ২০পর্ব ২১পর্ব ৩১
User spaceইউজার স্পেস
যে সীমিত অধিকার নিয়ে সাধারণ প্রোগ্রাম চলে। এখান থেকে সরাসরি হার্ডওয়্যার বা অন্য প্রোগ্রামের মেমরিতে হাত দেওয়া যায় না, kernel-কে অনুরোধ করতে হয়।যেখানে শিখবেন: পর্ব ৪৮
User storyইউজার স্টোরি
ব্যবহারকারীর চোখে লেখা একটি ছোট চাহিদা: “আমি (কে) হিসেবে (কী) চাই, যাতে (কেন)।” কাজটি কার জন্য আর কেন দরকার, দুটোই মনে রাখায়।যেখানে শিখবেন: পর্ব ২৩
Usual arithmetic conversionsইউজুয়াল অ্যারিথমেটিক কনভার্শনস
দুই পাশে আলাদা টাইপ থাকলে হিসাব বা তুলনার আগে একটি সাধারণ টাইপ বেছে নেওয়ার নিয়মের সেট।যেখানে শিখবেন: পর্ব ০৮পর্ব ৪৬পর্ব ৫৩
UTF-8ইউ-টি-এফ এইট
Unicode নম্বরকে বাইটে রূপান্তরের সবচেয়ে প্রচলিত নিয়ম। ইংরেজি অক্ষরে লাগে ১ বাইট, বাংলা অক্ষরে ৩ বাইট।যেখানে শিখবেন: পর্ব ০৪পর্ব ০৫পর্ব ১৯

V

va_argভিএ আর্গ
পরের বাড়তি argument-টি বের করে আনার macro. কোন টাইপ হিসেবে পড়বে সেটা আপনাকেই বলে দিতে হয়, যেমন va_arg(ap, int). ভুল টাইপ বললে ফল undefined.যেখানে শিখবেন: পর্ব ২৫
va_endভিএ এন্ড
va_list-এর কাজ শেষ হলে ডাকার macro. প্রতিটি va_start-এর জন্য একই ফাংশনে একটি va_end থাকতে হয়।যেখানে শিখবেন: পর্ব ২৫
va_listভিএ লিস্ট
Variadic ফাংশনের ভেতরে “বাড়তি argument-গুলোর কোনটি পরের পালা” মনে রাখার একটি বিশেষ টাইপ। একে সরাসরি ছোঁয়া হয় না, শুধু macro দিয়ে চালানো হয়।যেখানে শিখবেন: পর্ব ২৫
va_startভিএ স্টার্ট
va_list-কে প্রস্তুত করার macro — শেষ নাম-দেওয়া parameter-এর ঠিক পরের argument থেকে পড়া শুরু হবে।যেখানে শিখবেন: পর্ব ২৫
Valgrindভ্যালগ্রিন্ড
Linux-এ বহুল ব্যবহৃত একটি টুল। প্রোগ্রামকে নিজের নিয়ন্ত্রণে চালিয়ে প্রতিটি মেমরি ব্যবহার পরীক্ষা করে, আর leak ও ভুল ব্যবহার জানায়; তবে প্রোগ্রাম অনেক ধীর চলে।যেখানে শিখবেন: পর্ব ২০পর্ব ৩১পর্ব ৩৩
Variableভ্যারিয়েবল
প্রোগ্রামের ভেতরে নাম দেওয়া একটি বাক্স, যেখানে একটি মান রাখা যায় এবং পরে বদলানো যায়।যেখানে শিখবেন: পর্ব ০২পর্ব ০৬পর্ব ৫৫
Variadic functionভ্যারিয়াডিক ফাংশন
যে ফাংশন যতগুলো খুশি argument নিতে পারে, যেমন printf. Compiler সাধারণ নিয়মে এদের ধরন যাচাই করতে পারে না।যেখানে শিখবেন: পর্ব ০৮পর্ব ১০পর্ব ২৫
Verdictভার্ডিক্ট
জাজের দেওয়া রায় — আপনার সমাধান ঠিক হলো কি না, না হলে কোন ধরনের সমস্যা হলো — যেমন AC, WA বা TLE জানিয়ে দেওয়া।যেখানে শিখবেন: পর্ব ৪৪
Vertex (node)ভার্টেক্স / নোড
গ্রাফের একটি বিন্দু বা জিনিস — যেমন একটি স্টেশন, একজন মানুষ বা একটি ওয়েব পেজ। বহুবচনে vertices.যেখানে শিখবেন: পর্ব ৩৮
vfprintf / vprintf / vsnprintfভি-এফ-প্রিন্ট-এফ
printf-পরিবারের যে সংস্করণগুলো আলাদা আলাদা মানের বদলে একটি va_list নেয়। নিজের variadic ফাংশন থেকে printf-এর কাজ চালিয়ে দিতে এগুলো লাগে।যেখানে শিখবেন: পর্ব ২৫
Virtual memoryভার্চুয়াল মেমরি
প্রতিটি প্রোগ্রামকে নিজস্ব কল্পিত ঠিকানা-জগৎ দেওয়ার ব্যবস্থা; হার্ডওয়্যার (MMU) ও অপারেটিং সিস্টেম মিলে সেই ঠিকানাকে আসল RAM-এর ঠিকানায় বদলায় আর অন্যের মেমরিতে হাত দেওয়া আটকায়।যেখানে শিখবেন: পর্ব ১৭পর্ব ৪৮
Visited array / setভিজিটেড অ্যারে
কোন vertex আগেই দেখা হয়েছে তার হিসাব। এটি না থাকলে cycle-ওয়ালা গ্রাফে খোঁজা একই জায়গায় ঘুরতে ঘুরতে কখনো শেষ হয় না।যেখানে শিখবেন: পর্ব ৩৮
Viterbi algorithmভিটারবি অ্যালগরিদম
গোলমাল-ভরা সংকেত থেকে সবচেয়ে সম্ভাব্য বার্তা বা ধ্বনির ক্রম খুঁজে বের করার DP অ্যালগরিদম; মোবাইল সংকেত আর speech recognition-এ ব্যবহৃত।যেখানে শিখবেন: পর্ব ৪২
Viva (oral exam)ভাইভা
মৌখিক পরীক্ষা। পরীক্ষক মুখে প্রশ্ন করেন, আপনি মুখে উত্তর দেন, আর উত্তরের সূত্র ধরে তিনি একের পর এক পরের প্রশ্ন করেন।যেখানে শিখবেন: পর্ব ৫৫
VLA (variable length array)ভি-এল-এ
যে অ্যারের মাপ compile-এর সময় নয়, চলার সময় ঠিক হয়। C99-এ আসে, C11-এ ঐচ্ছিক হয়। ফাংশনের প্যারামিটারে মাপ জানাতে খুব কাজের, কিন্তু stack-এ বড় VLA বানানো ঝুঁকিপূর্ণ।যেখানে শিখবেন: পর্ব ২১
void functionভয়েড ফাংশন
যে ফাংশন কোনো মান ফেরত দেয় না, শুধু একটি কাজ করে। Return type-এর জায়গায় লেখা থাকে void.যেখানে শিখবেন: পর্ব ১৩
void pointer (void *)ভয়েড পয়েন্টার
এমন pointer, যা শুধু একটি ঠিকানা বহন করে কিন্তু সেখানে কোন টাইপের ডেটা আছে তা বলে না। printf-এর %p এই টাইপই আশা করে.যেখানে শিখবেন: পর্ব ১৭পর্ব ২৮পর্ব ৫৫
volatileভোলাটাইল
C-এর একটি qualifier. Compiler-কে জানায়, এই মান প্রোগ্রামের অজান্তে বাইরে থেকে বদলাতে পারে, তাই প্রতিবার সত্যিই মেমরি থেকে পড়তে ও লিখতে হবে, কোনো পড়া বা লেখা বাদ দেওয়া যাবে না।যেখানে শিখবেন: পর্ব ৪৫পর্ব ৪৯পর্ব ৫১
vtable (virtual table)ভি-টেবিল
C++-এর মতো ভাষায় compiler প্রতিটি class-এর জন্য যে ফাংশন-ঠিকানার টেবিল বানায়। Virtual method ডাকা হয় এই টেবিল থেকে ঠিকানা পড়ে।যেখানে শিখবেন: পর্ব ২৮
Vulnerabilityভালনারেবিলিটি
সফটওয়্যারের এমন একটি দুর্বলতা বা বাগ, যা কাজে লাগিয়ে কেউ ডেটা চুরি, প্রোগ্রাম বন্ধ বা অনুমতি ছাড়া নিয়ন্ত্রণ নিতে পারে।যেখানে শিখবেন: পর্ব ৪৬

W

wait() / waitpid()ওয়েট-পিড
Parent যে system call দিয়ে child শেষ হওয়া পর্যন্ত অপেক্ষা করে এবং তার exit status সংগ্রহ করে। এটি না ডাকলে শেষ হওয়া child zombie হয়ে থাকে।যেখানে শিখবেন: পর্ব ৪৮
Warningওয়ার্নিং
সতর্কবার্তা — প্রোগ্রাম তৈরি হবে, কিন্তু compiler সন্দেহ করছে কোথাও গোলমাল আছে। প্রায়ই এটাই আসল বাগ।যেখানে শিখবেন: পর্ব ০৩পর্ব ৩১পর্ব ৪৬
Watchdog timerওয়াচডগ টাইমার
একটি হার্ডওয়্যার ঘড়ি, যা প্রোগ্রাম নির্দিষ্ট সময়ে সংকেত না পাঠালে ধরে নেয় সেটি আটকে গেছে এবং যন্ত্রটি রিসেট করে।যেখানে শিখবেন: পর্ব ১২পর্ব ৫১
Watchpointওয়াচপয়েন্ট
Debugger-কে বলা “এই ভ্যারিয়েবলের মান যখনই বদলাবে, তখনই থামো।” কোন লাইন কোনো মান নষ্ট করছে, তা খুঁজতে খুব কাজের। GDB-তে watch কমান্ড।যেখানে শিখবেন: পর্ব ৩১
Weighted graphওয়েটেড গ্রাফ
যে গ্রাফে প্রতিটি edge-এর সাথে একটি সংখ্যা (ওজন) থাকে — দূরত্ব, ভাড়া বা সময়।যেখানে শিখবেন: পর্ব ৩৮
-Werrorডব্লিউ-এরর
GCC/Clang-এর flag, যা প্রতিটি warning-কে error বানিয়ে দেয় — warning থাকলে প্রোগ্রাম তৈরিই হয় না। দলের কোডে warning জমতে না দেওয়ার উপায়।যেখানে শিখবেন: পর্ব ৩১
WG14ডাব্লিউ-জি ফোর্টিন
ISO-র যে কমিটি C স্ট্যান্ডার্ড লেখে ও হালনাগাদ করে। এতে compiler নির্মাতা, কোম্পানি ও বিশেষজ্ঞরা প্রস্তাব নিয়ে আলোচনা করে ভোট দেন।যেখানে শিখবেন: পর্ব ৪৭
while loopহোয়াইল লুপ
যে লুপ প্রতিবার আগে শর্ত দেখে, সত্য হলে তবেই body চালায়। কতবার ঘুরবে আগে জানা না থাকলে কাজে লাগে।যেখানে শিখবেন: পর্ব ১২পর্ব ৫৫
Whitespaceহোয়াইটস্পেস
ফাঁকা জায়গা তৈরি করে এমন অক্ষর — স্পেস, ট্যাব আর নতুন লাইন। C-তে এগুলো মূলত শব্দ আলাদা করে; কতগুলো দিলেন তাতে অর্থ বদলায় না।যেখানে শিখবেন: পর্ব ০৪পর্ব ১০
Widening conversionওয়াইডেনিং কনভার্শন
ছোট টাইপ থেকে বড় টাইপে রূপান্তর, যেমন char থেকে int বা int থেকে long long. সাধারণত মান অক্ষত থাকে।যেখানে শিখবেন: পর্ব ০৮
Wild pointerওয়াইল্ড পয়েন্টার
যে pointer-কে কোনো মান না দিয়েই ঘোষণা করা হয়েছে; ভেতরে আবর্জনা ঠিকানা থাকে। এতে লিখলে crash হতে পারে বা নীরবে অন্য ডেটা নষ্ট হতে পারে।যেখানে শিখবেন: পর্ব ১৭পর্ব ৫৫
Wildcard (glob) expansionওয়াইল্ডকার্ড এক্সপ্যানশন
Linux ও Mac-এর shell *.txt-এর মতো নকশাকে প্রোগ্রাম চালানোর আগেই মিলে যাওয়া সব ফাইলের নামে বদলে দেয়। প্রোগ্রাম নকশাটি নয়, নামগুলো পায়।যেখানে শিখবেন: পর্ব ২৫
Worst caseওয়ার্স্ট কেস
সবচেয়ে প্রতিকূল ইনপুটে একটি অ্যালগরিদম কত সময় নেয় তার হিসাব — যা-ই ঘটুক, এর চেয়ে খারাপ হবে না।যেখানে শিখবেন: পর্ব ৩৭পর্ব ৩৯পর্ব ৪০
Wraparoundর‍্যাপঅ্যারাউন্ড
সর্বোচ্চ মান পেরিয়ে গেলে আবার শুরুর মানে ফিরে আসা — যেমন ঘড়ির কাঁটা ১২ পেরিয়ে ১-এ ফেরে।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৬পর্ব ০৮
Wrong Answer (WA)রং আনসার
প্রোগ্রাম সময়মতো চলেছে, কিন্তু অন্তত একটি টেস্টে আউটপুট প্রত্যাশিত উত্তরের সাথে মেলেনি। যুক্তি, overflow বা আউটপুটের ফরম্যাটে ভুল আছে।যেখানে শিখবেন: পর্ব ৪৪

X

XOR cipherএক্সর সাইফার
একটি চাবি দিয়ে বার্তার প্রতিটি byte XOR করে লুকানোর পদ্ধতি। ছোট চাবি বারবার ব্যবহার করলে এটি খুব সহজে ভাঙা যায় — আসল নিরাপত্তার জন্য নয়।যেখানে শিখবেন: পর্ব ০৯
XOR swapএক্সর সোয়াপ
অস্থায়ী ভ্যারিয়েবল ছাড়া তিনটি XOR দিয়ে দুটি মান অদলবদলের কৌশল। দুটি একই জায়গা হলে মান মুছে যায়, তাই আসল কোডে ব্যবহার না করাই ভালো।যেখানে শিখবেন: পর্ব ০৯

Y

Y2038 problemওয়াই-টু-থাউজ্যান্ড-থার্টি-এইট
৩২-বিট signed time_t ১৯ জানুয়ারি ২০৩৮ তারিখে সর্বোচ্চ মান পেরিয়ে ঋণাত্মক হয়ে যাওয়ার সমস্যা; তখন ঘড়ি ১৯০১ সাল দেখাতে পারে।যেখানে শিখবেন: পর্ব ২৬

Z

Zero extensionজিরো এক্সটেনশন
unsigned সংখ্যাকে বেশি বিটে বাড়ানোর সময় বাড়তি সব ঘরে ০ বসানো।যেখানে শিখবেন: পর্ব ০৮
Zombie processজম্বি প্রসেস
যে child শেষ হয়ে গেছে, কিন্তু parent এখনো wait করে তার exit status নেয়নি। এর মেমরি মুক্ত হয়ে যায়, শুধু process table-এ একটি ছোট এন্ট্রি থেকে যায়।যেখানে শিখবেন: পর্ব ৪৮

← C প্রোগ্রামিং কোর্সের হোম পেজে ফিরে যান