Blog

#Computer Science #CSE #Career Guideline #Programming #Algorithm #Data Structure #Artificial Intelligence #Machine Learning #Cyber Security #Data Science #Cloud Computing #Software Engineering #University Admission #কম্পিউটার সায়েন্স #সিএসই #ভর্তি পরীক্ষা #সাবজেক্ট চয়েস #ক্যারিয়ার গাইডলাইন #প্রোগ্রামিং #অ্যালগরিদম #ডেটা স্ট্রাকচার #আর্টিফিশিয়াল ইন্টেলিজেন্স #মেশিন লার্নিং #সাইবার সিকিউরিটি #ডেটা সায়েন্স #ক্লাউড কম্পিউটিং #সফটওয়্যার ইঞ্জিনিয়ারিং #প্রোগ্রামিং কনটেস্ট #উচ্চশিক্ষা #বিশ্ববিদ্যালয়

কম্পিউটার সায়েন্সে আসলে কী পড়ানো হয়?

2026-08-23 · 20 min read

কম্পিউটার সায়েন্সে আসলে কী পড়ানো হয়?

প্রথমে কিছু ভুল ধারণা সরিয়ে নেওয়া যাক

"কম্পিউটার সায়েন্স মানে তো ওয়ার্ড-এক্সেল-পাওয়ারপয়েন্ট।" এটা এখনও অনেক অভিভাবক বিশ্বাস করেন। সত্যি হলো, চার বছরের সিলেবাসে অফিস সফটওয়্যার শেখানোর জন্য এক ঘণ্টাও বরাদ্দ নেই। ওগুলো টুল, বিষয় নয়।

"এখানে শুধু ওয়েবসাইট বানানো শেখায়।" এই ধারণাটা সাধারণত তাদের, যারা নিজে কিছুটা কোডিং জানেন। ওয়েব ডেভেলপমেন্ট কম্পিউটার সায়েন্সের একটা প্রয়োগক্ষেত্র মাত্র — অনেকটা যেমন সেতু বানানো সিভিল ইঞ্জিনিয়ারিংয়ের একটা প্রয়োগ। মূল বিষয়টা হলো: গণনা (computation) কীভাবে কাজ করে, এবং সীমিত সময় ও স্মৃতি দিয়ে সমস্যার সমাধান কীভাবে বের করতে হয়।

"AI তো এসেই গেছে, প্রোগ্রামার আর লাগবে না।" এটা এখনকার সবচেয়ে জনপ্রিয় ভয়। বাস্তবতা হলো, AI টুল কোড লেখার গতি বাড়িয়েছে — ঠিক যেমন ক্যালকুলেটর হিসাবের গতি বাড়িয়েছিল, কিন্তু গণিতবিদের দরকার ফুরায়নি। যে জানে না সিস্টেমটা কীভাবে কাজ করে, সে AI-এর দেওয়া ভুল উত্তরটা ধরতেও পারবে না। বরং উল্টোটা ঘটছে — এখন যে কাজগুলোর দাম বেড়েছে সেগুলো হলো সিস্টেম ডিজাইন, ডিবাগিং, নিরাপত্তা ও আর্কিটেকচারের সিদ্ধান্ত — অর্থাৎ ঠিক সেই জিনিসগুলো যেগুলো সিলেবাসের মূল অংশ।

"তিন মাসের বুটক্যাম্প করলেই তো হয়, চার বছর কেন?" বুটক্যাম্প তোমাকে একটা নির্দিষ্ট প্রযুক্তি শেখায়, যেটার আয়ু হয়তো পাঁচ বছর। ডিগ্রি শেখায় ভিত্তি, যেটার আয়ু পুরো ক্যারিয়ার। যে অ্যালগরিদম আর অপারেটিং সিস্টেম বোঝে, সে নতুন ফ্রেমওয়ার্ক দুই সপ্তাহে তুলে নিতে পারে; উল্টোটা কঠিন।

"গণিতে জিনিয়াস না হলে এখানে টেকা যায় না।" জিনিয়াস হওয়ার দরকার নেই, কিন্তু গণিতকে অপছন্দ করলে সমস্যা হবে — কারণ এই বিষয়ের একটা বড় অংশই ফলিত গণিত। এটা নিয়ে বিস্তারিত নিচে আছে।

মূল ভিত্তি: যে কোর্সগুলো সব বিশ্ববিদ্যালয়েই থাকে

প্রোগ্রামিং

কম্পিউটার নিজে থেকে কিছুই বোঝে না — সে শুধু নির্দেশ মানে। প্রোগ্রামিং হলো সেই নির্দেশ লেখার কৌশল, একটা নির্দিষ্ট ভাষায়, যেখানে অস্পষ্টতার কোনো জায়গা নেই। মানুষের ভাষায় "একটু পরে ফাইলটা সেভ করো" বলা যায়; প্রোগ্রামিংয়ে "একটু পরে" বলে কিছু নেই, তোমাকে বলতে হবে ঠিক কখন, কোন অবস্থায়, ব্যর্থ হলে কী হবে। এই নিখুঁতভাবে চিন্তা করতে শেখাটাই আসল শিক্ষা — ভাষাটা গৌণ।

বাংলাদেশের বেশিরভাগ বিশ্ববিদ্যালয়ে প্রথম সেমিস্টারে C পড়ানো হয়, কিছু জায়গায় এখন Python দিয়ে শুরু হচ্ছে। এরপর অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং কোর্সে আসে Java বা C++ — বড় প্রজেক্টের কোড কীভাবে গুছিয়ে রাখতে হয় সেটা শেখার জন্য। এই কোর্সগুলোর প্রাণ থাকে ল্যাবে: ক্লাসে কিছু তত্ত্ব শোনার পর ল্যাবে বসে নিজের হাতে সমস্যা সমাধান করতে হয়, সেমিস্টারের শেষে একটা প্রজেক্ট জমা দিতে হয়।

একটা কথা পরিষ্কার করে বলা দরকার — ভালো প্রোগ্রামিং না জানলে কম্পিউটার সায়েন্সের বাকি কোনো কোর্সেই ভালো করা যাবে না। এটা এই বিষয়ের সাক্ষরতা।

ডেটা স্ট্রাকচার

ওষুধের দোকানে হাজার হাজার ওষুধ থাকে, তবু দোকানদার দশ সেকেন্ডে তোমার ওষুধটা বের করে ফেলেন — কারণ জিনিসগুলো এলোমেলোভাবে রাখা নেই, একটা কাঠামো মেনে সাজানো। ডেটা স্ট্রাকচার কোর্স ঠিক এই জিনিসটাই শেখায়, তবে তথ্যের জন্য।

অ্যারে, লিংকড লিস্ট, স্ট্যাক, কিউ, ট্রি, গ্রাফ, হ্যাশ টেবিল — প্রতিটার নিজস্ব শক্তি আর দুর্বলতা আছে। কোনটা দিয়ে খোঁজা দ্রুত, কোনটায় নতুন তথ্য যোগ করা সহজ, কোনটা কম মেমরি খায় — এই ট্রেড-অফগুলো বোঝাই কোর্সের মূল লক্ষ্য। ফেসবুকের নিউজফিড, গুগল ম্যাপের রুট, ডেটাবেজের ইনডেক্স — সবকিছুর নিচে এই কাঠামোগুলোই কাজ করছে।

অ্যালগরিদম

বড় একটা ভিডিও ফাইল কীভাবে অর্ধেক সাইজে নেমে আসে, অথচ দেখতে প্রায় একই থাকে? লক্ষ কোটি ওয়েবপেজ থেকে গুগল কীভাবে চোখের পলকে ফলাফল আনে? দুই শহরের মধ্যে সবচেয়ে কম সময়ের পথটা ম্যাপ কীভাবে বের করে?

অ্যালগরিদম হলো সমস্যা সমাধানের ধাপে ধাপে লেখা পদ্ধতি। এই কোর্সে তোমাকে রেডিমেড উত্তর দেওয়া হবে না — দেওয়া হবে কতগুলো চিন্তার কৌশল: ডিভাইড অ্যান্ড কনকার, গ্রিডি, ডায়নামিক প্রোগ্রামিং, গ্রাফ সার্চ, ব্যাকট্র্যাকিং। সাথে শেখানো হয় কমপ্লেক্সিটি অ্যানালাইসিস — অর্থাৎ কোড না চালিয়েই বলে দেওয়া যে ইনপুট দশ গুণ বাড়লে প্রোগ্রামটা দশ গুণ ধীর হবে নাকি এক হাজার গুণ।

এই কোর্সটা করার সময়ই বেশিরভাগ শিক্ষার্থী প্রথমবার বুঝতে পারে যে ভাষা জানা আর সমস্যা সমাধান করতে পারা এক জিনিস নয়। ডেটা স্ট্রাকচার আর অ্যালগরিদম — এই দুটোই কম্পিউটার সায়েন্সের মেরুদণ্ড, বাকি প্রতিটা কোর্সে এগুলো ঘুরেফিরে আসবে।

গণিত

এই অংশটা নিয়ে সবচেয়ে বেশি বিভ্রান্তি। কম্পিউটার সায়েন্সে গণিত লাগে কেন? কারণ একটা সমস্যার দশটা সমাধান থাকতে পারে, আর কোনটা ভালো সেটা প্রমাণ করতে গণিত লাগে। নতুন একটা পদ্ধতি ডিজাইন করার পর সেটা সব ক্ষেত্রে কাজ করবে কি না, কত সময় নেবে, কত মেমরি খাবে — এসব হিসাবের ভাষাই গণিত।

যেসব শাখা মূলত লাগে: ডিসক্রিট ম্যাথ ও লজিক, কম্বিনেটরিক্স, প্রোবাবিলিটি ও স্ট্যাটিসটিক্স, নাম্বার থিওরি (ক্রিপ্টোগ্রাফির ভিত্তি), জ্যামিতি (গ্রাফিক্সের ভিত্তি), এবং লিনিয়ার অ্যালজেব্রা। শেষেরটা নিয়ে আলাদা করে বলা দরকার — মেশিন লার্নিং আর AI-এর উত্থানের পর লিনিয়ার অ্যালজেব্রা এখন আর ঐচ্ছিক নয়, এটা প্রায় বাধ্যতামূলক ভিত্তি হয়ে দাঁড়িয়েছে। নিউরাল নেটওয়ার্কের ভেতরে যা ঘটে তার প্রায় পুরোটাই ম্যাট্রিক্সের হিসাব।

গণিত ভালো লাগলে এখানে তুমি সুবিধাজনক অবস্থায় থাকবে। আর কেউ যদি গণিতের বাস্তব প্রয়োগ দেখতে চায়, কম্পিউটার সায়েন্স তার জন্য চমৎকার একটা জায়গা।

কম্পিউটার আর্কিটেকচার ও অ্যাসেম্বলি

প্রোগ্রামের নিচে থাকে অপারেটিং সিস্টেম, তার নিচে হার্ডওয়্যার। কম্পিউটার আর্কিটেকচার কোর্স সেই নিচের তলাটা দেখায় — প্রসেসর কীভাবে একটা নির্দেশ পড়ে ও চালায়, ক্যাশ মেমরি কেন এত গুরুত্বপূর্ণ, পাইপলাইনিং কী, একাধিক কোর কীভাবে কাজ ভাগ করে নেয়।

অ্যাসেম্বলি ল্যাংগুয়েজে তুমি সরাসরি রেজিস্টার আর মেমরি অ্যাড্রেস নিয়ে কাজ করবে। এখানে কোনো আরাম নেই, কিন্তু এই কোর্সের পর "ভেরিয়েবল" শব্দটার মানে তোমার কাছে বদলে যাবে — তুমি জানবে ওটা আসলে মেমরির একটা নির্দিষ্ট জায়গা, আর জানবে বাফার ওভারফ্লোর মতো নিরাপত্তা দুর্বলতাগুলো কেন ঘটে।

অপারেটিং সিস্টেম

এই কোর্সে উইন্ডোজ বা লিনাক্স চালানো শেখানো হয় না — শেখানো হয় সেগুলো ভেতরে কীভাবে কাজ করে। তুমি একসাথে ব্রাউজার, গান, ডাউনলোড আর কোড এডিটর চালাচ্ছো, অথচ প্রসেসর একবারে একটা করে কাজই করতে পারে। এই বিভ্রমটা তৈরি করে অপারেটিং সিস্টেম — প্রসেস শিডিউলিং, মেমরি ম্যানেজমেন্ট, ভার্চুয়াল মেমরি, ফাইল সিস্টেম, ডেডলক আর সিনক্রোনাইজেশন দিয়ে।

দুটো প্রোগ্রাম একই সময়ে একই ফাইলে লিখতে চাইলে কী হবে? কে আগে যাবে, কাকে অপেক্ষা করানো হবে, আর অপেক্ষা করাতে গিয়ে দুজনই যদি চিরকাল আটকে যায়? — এই সমস্যাগুলোর সমাধান কনকারেন্সির যুগে সোনার দামে বিক্রি হয়।

ডেটাবেজ

ডেটাবেজ কোর্সে শেখানো হয় বিপুল পরিমাণ তথ্য কীভাবে গুছিয়ে রাখতে হয় এবং দ্রুত বের করতে হয়। রিলেশনাল মডেল, নরমালাইজেশন, SQL, ইনডেক্সিং, ট্রানজেকশন ও ACID প্রপার্টি — এগুলো ভিত্তি। ব্যাংকে টাকা ট্রান্সফারের মাঝপথে বিদ্যুৎ চলে গেলে টাকাটা কোথায় থাকবে — এই প্রশ্নের উত্তরই ট্রানজেকশন।

আধুনিক সিলেবাসে এখন NoSQL ডেটাবেজ (MongoDB, Redis), ডিস্ট্রিবিউটেড ডেটাবেজ, ডেটা ওয়্যারহাউজিং এবং CAP থিওরেমও যুক্ত হয়েছে — কারণ আজকের অ্যাপ্লিকেশনগুলোর ডেটা এক সার্ভারে আর ধরে না।

নেটওয়ার্কিং

তুমি ব্রাউজারে একটা ঠিকানা লিখে এন্টার চাপার পর কী কী ঘটে — এই একটা প্রশ্নের পুরো উত্তরই নেটওয়ার্কিং কোর্স। DNS কীভাবে নামকে ঠিকানায় বদলায়, TCP কীভাবে নিশ্চিত করে যে কোনো প্যাকেট হারায়নি, রাউটার কীভাবে পথ বাছে, HTTPS-এর ভেতরে এনক্রিপশন কীভাবে কাজ করে। সাথে আসে নেটওয়ার্ক নিরাপত্তা, ক্রিপ্টোগ্রাফির ভিত্তি এবং IPv6-এর মতো আধুনিক বিষয়।

কম্পাইলার ও থিওরি অফ কম্পিউটেশন

মানুষের ভাষার যেমন ব্যাকরণ আছে, প্রোগ্রামিং ভাষারও আছে। কম্পাইলার কোর্সে তুমি শিখবে কীভাবে একটা টেক্সট ফাইলকে টোকেনে ভাঙা হয়, ব্যাকরণ অনুযায়ী গাছের মতো কাঠামোয় সাজানো হয়, তারপর ধাপে ধাপে মেশিন কোডে রূপান্তর করা হয় — এবং মাঝখানে কীভাবে কোডটাকে দ্রুততর করে দেওয়া হয়।

এর পাশাপাশি থাকে থিওরি অফ কম্পিউটেশন — অটোমেটা, টিউরিং মেশিন, কমপ্লেক্সিটি ক্লাস। এই কোর্সটা তোমাকে একটা অস্বস্তিকর কিন্তু গুরুত্বপূর্ণ সত্য শেখাবে: কিছু সমস্যা কম্পিউটার দিয়ে কখনোই সমাধান করা সম্ভব নয়, তা তোমার কম্পিউটার যত শক্তিশালীই হোক।

সফটওয়্যার ইঞ্জিনিয়ারিং

একা একটা প্রোগ্রাম লেখা আর দশজন মিলে পাঁচ বছর ধরে একটা সিস্টেম বানানো ও চালু রাখা — সম্পূর্ণ আলাদা দুটো দক্ষতা। এই কোর্সে আসে রিকোয়্যারমেন্ট অ্যানালাইসিস, ডিজাইন প্যাটার্ন, ভার্সন কন্ট্রোল (Git), কোড রিভিউ, টেস্টিং, এবং Agile/Scrum-এর মতো কাজের পদ্ধতি। আগে এটা অনেক জায়গায় ঐচ্ছিক ছিল; এখন প্রায় সব ভালো কারিকুলামেই এটা বাধ্যতামূলক — কারণ ইন্ডাস্ট্রিতে গিয়ে দিনের বেশিরভাগ সময় নতুন কোড লেখা নয়, পুরোনো কোড বোঝা ও বদলানোর কাজেই যায়।

কম্পিউটার গ্রাফিক্স

গেম বা অ্যানিমেশনে যে বাস্তবসম্মত আলো-ছায়া দেখো, তার পেছনে রয়েছে ঘন জ্যামিতি আর লিনিয়ার অ্যালজেব্রা। একটা ত্রিমাত্রিক বস্তুকে ঘোরালে তার প্রতিটা বিন্দুর স্থানাঙ্ক কত বদলাবে, আলো কোন কোণে পড়লে কোন পিক্সেল কতটা উজ্জ্বল হবে, রে-ট্রেসিং কীভাবে প্রতিফলন হিসাব করে — এসবই গ্রাফিক্স কোর্সের বিষয়। ল্যাবে তোমাকে নিজের হাতে এগুলো কোড করতে হবে, তাই মুখস্থ করে পার পাওয়ার সুযোগ নেই।

যা নতুন যুক্ত হয়েছে: আধুনিক কারিকুলামের অংশ

গত দশ বছরে কম্পিউটার সায়েন্সের সিলেবাস উল্লেখযোগ্যভাবে বদলেছে। যেসব বিষয় আগে গবেষণাগারে সীমাবদ্ধ ছিল, সেগুলো এখন স্নাতক পর্যায়ের কোর্স।

আর্টিফিশিয়াল ইন্টেলিজেন্স ও মেশিন লার্নিং

আগে AI কোর্স মানে ছিল সার্চ অ্যালগরিদম, লজিক আর গেম-প্লেয়িং। এখন সেটা একটা পুরো ধারায় পরিণত হয়েছে। ভিত্তি কোর্সে আসে সুপারভাইজড ও আনসুপারভাইজড লার্নিং, রিগ্রেশন, ক্লাসিফিকেশন, ডিসিশন ট্রি, ক্লাস্টারিং, ওভারফিটিং ও মডেল ইভ্যালুয়েশন। এরপর ডিপ লার্নিং কোর্সে নিউরাল নেটওয়ার্ক, ব্যাকপ্রোপাগেশন, CNN (ছবি চেনার জন্য), RNN ও সিকোয়েন্স মডেল।

একটা কথা মনে রাখা দরকার — এই কোর্সগুলো তোমাকে লাইব্রেরি ব্যবহার করা শেখানোর জন্য নয়। ইউটিউব দেখে দুই দিনে একটা মডেল ট্রেইন করে ফেলা যায়। কোর্স শেখাবে মডেলটা কেন কাজ করে, কখন কাজ করবে না, এবং ফলাফলটা বিশ্বাসযোগ্য কি না সেটা কীভাবে যাচাই করতে হয়।

জেনারেটিভ AI ও লার্জ ল্যাংগুয়েজ মডেল

এটা একেবারে সাম্প্রতিক সংযোজন। ট্রান্সফরমার আর্কিটেকচার ও অ্যাটেনশন মেকানিজম, টোকেনাইজেশন, এমবেডিং, প্রি-ট্রেনিং ও ফাইন-টিউনিং, রিট্রিভাল-অগমেন্টেড জেনারেশন (RAG), এবং কীভাবে LLM ব্যবহার করে অ্যাপ্লিকেশন বানাতে হয় — অনেক বিশ্ববিদ্যালয়ে এখন এগুলো নিয়ে আলাদা ইলেকটিভ কোর্স আছে। হ্যালুসিনেশন কেন ঘটে, মডেলের সীমাবদ্ধতা কোথায় — এই প্রশ্নগুলোও এখানেই আলোচিত হয়।

ডেটা সায়েন্স ও বিগ ডেটা

তথ্য এখন প্রচুর, কিন্তু কাঁচা তথ্য থেকে অর্থপূর্ণ সিদ্ধান্তে পৌঁছানোটাই আসল কাজ। ডেটা সায়েন্স কোর্সে আসে ডেটা ক্লিনিং, এক্সপ্লোরেটরি অ্যানালাইসিস, ভিজ্যুয়ালাইজেশন, স্ট্যাটিস্টিক্যাল ইনফারেন্স এবং বড় আকারের ডেটা প্রসেসিংয়ের কাঠামো। এটা এমন একটা ক্ষেত্র যেখানে গণিত-পরিসংখ্যান ভালোবাসা মানুষেরা দারুণ করে।

সাইবার সিকিউরিটি

আগে নিরাপত্তা নেটওয়ার্কিং কোর্সের একটা অধ্যায় ছিল, এখন এটা স্বতন্ত্র ধারা। ক্রিপ্টোগ্রাফি, অথেনটিকেশন, সাধারণ দুর্বলতা (SQL ইনজেকশন, XSS, বাফার ওভারফ্লো), পেনিট্রেশন টেস্টিং, ডিজিটাল ফরেনসিক — এসব এখন নিয়মিত পড়ানো হয়। ব্যবহারিক দিক থেকে এটা সবচেয়ে মজার ক্ষেত্রগুলোর একটা; CTF (Capture The Flag) প্রতিযোগিতায় অংশ নিয়ে অনেকেই এখানে ক্যারিয়ার গড়ছে।

ক্লাউড কম্পিউটিং, DevOps ও ডিস্ট্রিবিউটেড সিস্টেম

আজকের কোনো বড় সফটওয়্যারই একটা কম্পিউটারে চলে না। ডিস্ট্রিবিউটেড সিস্টেম কোর্সে শেখানো হয় বহু সার্ভার কীভাবে একসাথে কাজ করে, একটা সার্ভার নষ্ট হয়ে গেলেও সিস্টেম কীভাবে টিকে থাকে, কনসিস্টেন্সি আর অ্যাভেইলেবিলিটির মধ্যে কী ট্রেড-অফ। সাথে এসেছে কনটেইনারাইজেশন (Docker), অর্কেস্ট্রেশন (Kubernetes), CI/CD পাইপলাইন এবং ক্লাউড প্ল্যাটফর্মের ধারণা। এই দক্ষতাগুলোর চাহিদা ইন্ডাস্ট্রিতে এখন সবচেয়ে বেশি।

মোবাইল, IoT ও এমবেডেড সিস্টেম

মোবাইল অ্যাপ ডেভেলপমেন্ট এখন প্রায় সব কারিকুলামেই আছে — নেটিভ (Android/iOS) ও ক্রস-প্ল্যাটফর্ম দুই ধারাতেই। এর পাশাপাশি IoT ও এমবেডেড সিস্টেম কোর্সে ছোট ছোট ডিভাইসের জন্য সীমিত শক্তি ও মেমরিতে প্রোগ্রামিং শেখানো হয় — স্মার্ট মিটার, কৃষিতে সেন্সর, স্বাস্থ্যসেবার ডিভাইস, সবই এর প্রয়োগ।

হিউম্যান-কম্পিউটার ইন্টারঅ্যাকশন

প্রযুক্তিগতভাবে নিখুঁত সফটওয়্যারও ব্যর্থ হয় যদি মানুষ সেটা ব্যবহার করতে না পারে। HCI কোর্সে আসে ইউজার রিসার্চ, ইউজেবিলিটি টেস্টিং, অ্যাক্সেসিবিলিটি এবং ইন্টারফেস ডিজাইনের নীতি। যারা প্রযুক্তি ও ডিজাইন — দুটোতেই আগ্রহী, তাদের জন্য এটা চমৎকার একটা সেতু।

AI এথিক্স ও দায়িত্বশীল প্রযুক্তি

এটা নতুন, এবং সম্ভবত সবচেয়ে জরুরি সংযোজন। একটা অ্যালগরিদম যখন ঠিক করে কে চাকরি পাবে, কে ঋণ পাবে, বা কে জামিন পাবে — তখন তার ভুলের দাম মানুষ দেয়। ডেটার পক্ষপাত, মডেলের স্বচ্ছতা, গোপনীয়তা, এবং প্রযুক্তির সামাজিক প্রভাব নিয়ে আলোচনা এখন কারিকুলামের অংশ। এই কোর্সে কোড কম, চিন্তা বেশি — কিন্তু এটাই তোমাকে একজন প্রকৌশলী থেকে একজন দায়িত্বশীল প্রকৌশলীতে পরিণত করে।

কোয়ান্টাম কম্পিউটিং ও আন্তঃশাস্ত্রীয় ক্ষেত্র

কোয়ান্টাম কম্পিউটিং এখনও গবেষণার পর্যায়ে, তবে কিছু বিশ্ববিদ্যালয়ে পরিচিতিমূলক কোর্স চালু হয়েছে — কিউবিট, সুপারপজিশন, কোয়ান্টাম অ্যালগরিদম, এবং বর্তমান ক্রিপ্টোগ্রাফির ওপর এর সম্ভাব্য প্রভাব। এর পাশাপাশি বায়োইনফরমেটিক্স (DNA সিকোয়েন্স বিশ্লেষণ), অ্যাস্ট্রোইনফরমেটিক্স, কম্পিউটেশনাল ফিন্যান্স — এমন বহু আন্তঃশাস্ত্রীয় ক্ষেত্র খুলে যায় কম্পিউটার সায়েন্সের ভিত্তি থাকলে।

হার্ডওয়্যারের দিকটা

কম্পিউটার সায়েন্স পুরোপুরি সফটওয়্যারের বিষয় নয়। ডিজিটাল লজিক ডিজাইনে শেখানো হয় লজিক গেট থেকে শুরু করে কীভাবে যোগ করার সার্কিট, মেমরি সেল বা একটা ছোট প্রসেসর বানানো যায়। ল্যাবে ব্রেডবোর্ডে সার্কিট বসিয়ে জিনিসটা চোখের সামনে কাজ করতে দেখা একটা আলাদা অভিজ্ঞতা। মাইক্রোপ্রসেসর ও ইন্টারফেসিং কোর্সে শেখা যায় বাইরের যন্ত্র কীভাবে কম্পিউটারের সাথে কথা বলে। প্রজেক্টে এখানে ক্রিয়েটিভিটির অনেক জায়গা — কেউ লাইন-ফলোয়িং রোবট বানায়, কেউ মোবাইল দিয়ে নিয়ন্ত্রিত গাড়ি, কেউ স্বয়ংক্রিয় সেচব্যবস্থা।

ক্লাসরুমের বাইরে যা তোমাকে গড়ে তোলে

প্রোগ্রামিং কনটেস্ট। সারা বছরই দেশজুড়ে বিশ্ববিদ্যালয় ও কোম্পানিগুলো কনটেস্ট আয়োজন করে, আর অনলাইনে Codeforces-এর মতো প্ল্যাটফর্মে যেকোনো দিন যেকোনো সময় অংশ নেওয়া যায়। ICPC-তে বাংলাদেশের দলগুলো বহু বছর ধরে ভালো করছে — এটা আমাদের গর্ব করার মতো কম জিনিসগুলোর একটা। কনটেস্ট তোমার সমস্যা সমাধানের ক্ষমতা যেভাবে ধারালো করে, ক্লাসের কোনো কোর্স সেভাবে করে না।

হ্যাকাথন ও প্রজেক্ট প্রতিযোগিতা। ২৪ বা ৪৮ ঘণ্টায় একটা সমস্যার সমাধান বানিয়ে ফেলার চাপ তোমাকে দলবদ্ধ কাজ, দ্রুত সিদ্ধান্ত আর উপস্থাপনা — তিনটাই শেখায়।

ওপেন সোর্স। এটা এখন অন্যতম সেরা শেখার পথ। GitHub-এ বাস্তব প্রজেক্টে অবদান রাখলে তুমি পেশাদার মানের কোড পড়তে শিখবে, কোড রিভিউ পাবে অভিজ্ঞ ডেভেলপারদের কাছ থেকে, এবং একটা প্রকাশ্য পোর্টফোলিও তৈরি হবে — যেটা অনেক সময় সিভির চেয়ে বেশি কাজে দেয়।

গবেষণা। শেষ বর্ষে থিসিস বা প্রজেক্টের জন্য ক্রেডিট থাকে, এবং প্রতি বছরই স্নাতক পর্যায়ের শিক্ষার্থীরা ভালো জার্নাল ও কনফারেন্সে পেপার প্রকাশ করছে। কম্পিউটার সায়েন্সের একটা বড় সুবিধা — কোটি টাকার গবেষণাগার ছাড়াও নিজের ল্যাপটপ আর ইন্টারনেট দিয়ে অর্থবহ কাজ শুরু করা যায়।

এই সাবজেক্ট কার জন্য, কার জন্য নয়

এটা সম্ভবত তোমার জন্য ভালো হবে যদি — একটা সমস্যা আটকে গেলে সেটা নিয়ে ঘণ্টার পর ঘণ্টা লেগে থাকতে তোমার ভালো লাগে; কোনো জিনিস "কীভাবে কাজ করে" সেটা না জানা পর্যন্ত তোমার অস্বস্তি হয়; যুক্তি ও গণিত তোমাকে বিরক্ত করে না; আর নতুন জিনিস শেখা তোমার কাছে বোঝা নয়, আনন্দ — কারণ এই ক্ষেত্রে শেখা কখনও শেষ হয় না।

এটা তোমার জন্য কঠিন হতে পারে যদি — শুধু চাকরির বাজার দেখে আসছো; একটানা স্ক্রিনের সামনে বসে সূক্ষ্ম ভুল খুঁজে বের করার কাজটা তোমার ধৈর্যে কুলায় না; অথবা যেকোনো ধরনের গাণিতিক চিন্তা তোমার কাছে যন্ত্রণা। এতে লজ্জার কিছু নেই — এর মানে শুধু এই যে অন্য কোনো বিষয়ে তুমি বেশি ভালো করবে।

শেষ কথা

চাকরির বাজার নিয়ে আমি খুব বেশি কিছু বলব না, কারণ যে আগে চাকরির হিসাব কষে সাবজেক্ট বাছে এই লেখা তার জন্য নয়। শুধু এটুকু বলি — বাজার বদলায়, প্রযুক্তি বদলায়, দশ বছর পর যে দক্ষতার চাহিদা থাকবে তার নাম আজ হয়তো কেউ জানেই না। এই অনিশ্চয়তার মধ্যে একমাত্র নির্ভরযোগ্য বিনিয়োগ হলো এমন একটা বিষয়ে গভীর দক্ষতা, যেটা শিখতে তোমার ভালো লাগে। ভালো লাগলে তুমি লেগে থাকবে; লেগে থাকলে তুমি ভালো করবে; ভালো করলে সুযোগ তোমাকে খুঁজে নেবে।

ভর্তিচ্ছুদের প্রতি একটাই অনুরোধ — যে বিষয়গুলোর কথা ভাবছো, তার প্রতিটার সিলেবাস নামিয়ে পড়ো, ওই বিষয়ের সিনিয়রদের সাথে কথা বলো, ইউটিউবে ওই বিষয়ের একটা ক্লাস লেকচার দেখো। কোনো সাবজেক্ট এক নম্বর বা দুই নম্বর নয়। ইলেকট্রিক্যাল মেকানিক্যালের চেয়ে "ভালো" নয়, কম্পিউটার সায়েন্স পদার্থবিজ্ঞানের চেয়ে "ভালো" নয়। তোমার কাছে সেটাই ভালো সাবজেক্ট যেটা তুমি সকালে ঘুম থেকে উঠে পড়তে চাও। মানুষের বানানো ক্রমতালিকা মেনে চললে ঠকবে শুধু তুমিই।

সবার জন্য শুভকামনা। এই সময়টা কঠিন, কিন্তু এটা পার হয়ে যাবে — আর সিদ্ধান্তটা যদি নিজের বোঝাপড়া থেকে নাও, তাহলে পরের চার বছর অনেক সহজ হবে।