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_copymacro.যেখানে শিখবেন: পর্ব ২৫ - 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বাইনারি সার্চ
- সাজানো তালিকার মাঝখানে দেখে প্রতিবার খোঁজার জায়গা অর্ধেক করে ফেলার পদ্ধতি — খুব দ্রুত, কিন্তু তালিকা আগে থেকে সাজানো থাকতে হয়।যেখানে শিখবেন: পর্ব ০২পর্ব ১৫পর্ব ২৩
- 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 linkingডায়নামিক লিংকিং
- Library আলাদা ফাইলে থাকে (
.dll/.so), প্রোগ্রাম খোলার সময় জোড়া লাগে। ফাইলটি না পেলে প্রোগ্রাম খোলেই না।যেখানে শিখবেন: পর্ব ০৩পর্ব ২৯
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 পুরো ফাংশনের ভেতরে দেখা যায়, লেখার আগের লাইন থেকেও।যেখানে শিখবেন: পর্ব ১৪
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 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 তুলে দ্রুত বেরিয়ে যাওয়াই নিয়ম।যেখানে শিখবেন: পর্ব ৫১
J
- Jagged arrayজ্যাগড অ্যারে
- সারির pointer-এর একটি অ্যারে, যার প্রতিটি সারি আলাদা block আর দৈর্ঘ্যও আলাদা হতে পারে। নমনীয়, কিন্তু সারিগুলো পাশাপাশি থাকে না আর প্রতিটি আলাদা করে free করতে হয়।যেখানে শিখবেন: পর্ব ২১
- Join (pthread_join)জয়েন
- একটি thread-এর কাজ শেষ হওয়া পর্যন্ত অপেক্ষা করা। join না করলে main শেষ হওয়ার সাথে সাথে বাকি thread-গুলোও বন্ধ হয়ে যেতে পারে।যেখানে শিখবেন: পর্ব ৪৯
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 searchলিনিয়ার সার্চ
- তালিকার শুরু থেকে একটি একটি করে মিলিয়ে দেখে কোনো কিছু খোঁজার পদ্ধতি।যেখানে শিখবেন: পর্ব ০২পর্ব ১৬পর্ব ২৩
- 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 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-এর শক্তি মাপা হয়।যেখানে শিখবেন: পর্ব ৩২
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ওভারফ্লো
- হিসাবের ফল এত বড় বা ছোট হয়ে যাওয়া যে নির্দিষ্ট সংখ্যক বিটের ঘরে আর আঁটে না। তখন ভুল মান পাওয়া যায়।যেখানে শিখবেন: পর্ব ০৫পর্ব ০৬পর্ব ০৭
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 ফুরিয়ে যাওয়া।যেখানে শিখবেন: পর্ব ৪৪
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-এ বাইরের কোনো ভ্যারিয়েবলের একই নামে নতুন ভ্যারিয়েবল ঘোষণা করা। তখন ভেতরে বাইরেরটি ঢাকা পড়ে যায়।যেখানে শিখবেন: পর্ব ১৩পর্ব ১৪পর্ব ৫৩
- 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 linkingস্ট্যাটিক লিংকিং
- Library-র দরকারি কোড সরাসরি আপনার প্রোগ্রামের ভেতরে ঢুকিয়ে দেওয়া। প্রোগ্রাম বড় হয়, কিন্তু একা একাই চলে।যেখানে শিখবেন: পর্ব ২৯
- 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ইউজার স্টোরি
- ব্যবহারকারীর চোখে লেখা একটি ছোট চাহিদা: “আমি (কে) হিসেবে (কী) চাই, যাতে (কেন)।” কাজটি কার জন্য আর কেন দরকার, দুটোই মনে রাখায়।যেখানে শিখবেন: পর্ব ২৩
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-এ একটি ছোট এন্ট্রি থেকে যায়।যেখানে শিখবেন: পর্ব ৪৮
এই শব্দটি পাওয়া যায়নি। বানান বদলে বা বাংলায় লিখে দেখুন।