কম্পিউটার বিজ্ঞান

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

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

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

““We are told from childhood onward that everything we want to do is impossible. We grow up with this idea, and as the years accumulate, so too do the layers of prejudice, fear and guilt. There comes a time when our personal calling is so deeply buried in our soul as to be invisible. But it’s still there” – The alchemist,Paulo Coelho”

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

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

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

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

বাংলাদেশে বেশিভাগ বিশ্ববিদ্যালয়ে প্রথম সেমিস্টারে শিখানো হয় সি ল্যাংগুয়েজ যেটাকে বলা যেতে পারে প্রোগ্রামারদের মাতৃভাষা। এরপরে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং কোর্সে শিখানো হয় জাভা। সফটওয়্যার প্রোগ্রামিং এবং বড় বড় প্রজেক্টের জন্য জাভা জনপ্রিয়। কোনো কোনো বিশ্ববিদ্যালয়ে জাভা শেখানোর সময় অ্যান্ড্রয়েডে প্রোগ্রামিং শেখানো হয়।

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

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

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

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

অ্যালগোরিদম এবং ডাটা স্ট্রাকচার হলো কম্পিউটার সায়েন্সের মূল ভিত্তি, প্রতিটা টপিকে এগুলো কাজে লাগে।

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

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

অপারেটিং সিস্টেম এবং সিস্টেম প্রোগ্রামিং: এখানে শিখানো হয় কিভাবে অপারেটিং সিস্টেম কাজ করে। তবে তারমানে এই না যে উইন্ডোজ চালানো শেখানো হয়! এখানে শিখায় অপারেটিং সিস্টেমের ইন্টারনাল স্ট্রাকচার কিরকম। কম্পিউটারে একই সাথে ১০টা কাজ করলে অপারেটিং সিস্টেমকে ১০টা কাজের জন্য বিশেষ শিডিউল তৈরি করতে হয়, সেগুলো এখানে শিখানো হয়। তারপর ধরো ২টা প্রোগ্রাম একই সাথে প্রিন্টার ব্যবহার করতে চাইলো, কাকে অপেক্ষায় রেখে কাকে দিবে এ ধরণের রিসোর্স ম্যানেজমেন্টের কাজও শিখানো হয়।

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

ডাটাবেস: ওয়েবসাইট বা বড়বড় সফটওয়্যার বিশাল ডাটা রাখে “ডাটাবেস” এর ভিতর। ডাটাবেসে কিভাবে ডাটা রাখতে হয়, কিভাবে সেখান থেকে ডাটা নিয়ে আসতে হয় ইত্যাদি নিয়ে এই কোর্স।

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

কম্পাইলার: সাদামাটা ভাষায় কম্পাইলার জিনিসটার কাজ প্রোগ্রামিং ল্যাংগুয়েজকে মেশিন ভাষায় পরিণত করা যাতে হার্ডওয়্যার সেটা বুঝতে পারে। প্রোগ্রামিং ল্যাংগুয়েজ কিভাবে কাজ করে, কিভাবে নিজের প্রোগ্রামিং ল্যাংগুয়েজ তৈরি করা যায় এগুলো নিয়েই কম্পাইলার কোর্স। প্রোগ্রামিং ল্যাংগুয়েজের ইনস্ট্রাকশন গুলো কম্পিউটার কিভাবে মেশিন কোড বানিয়ে কাজ করে সেগুলো শেখানো হয় এখানে। মানুষের ভাষার মতো প্রোগ্রামিং ভাষারও গ্রামার থাকে, সেগুলো নিয়ে জানতে পারবে।

গ্রাফিক্স: আমরা কম্পিউটার গেমস বা অ্যানিমেটেড মুভিতে এত সুন্দর গ্রাফিক্স দেখি তার পিছনে আছে প্রচুর ম্যাথমেটিকাল থিওরী। যেমন গেমসে লাইটিং, শেডিং কিভাবে বাস্তবসম্মত করা যায় তার পিছনে আছে অনেক থিওরী। গেমারদের কাছে প্রচলিত শব্দ “এন্টি এলিয়াসিং”, “শেডিং” ইত্যাদি সম্পর্কে এই টপিকে বিস্তারিত পড়ানো হয়। প্রচুর জ্যামিতি দরকার হয় এখানে। যেমন একটা ৩-ডি বাক্সকে ৪৫ ডিগ্রী ঘুরালে কো-অর্ডিনেট কত পরিবর্তন হবে এসব হিসাব এখানে করতে হয় এবং ল্যাবে সেই অনুযায়ি গ্রাফিকাল প্রোগ্রাম লিখতে হয়, তাই শেখাটা শুধু মুখস্থে সীমাবদ্ধ থাকেনা। তুমি কলেজে থাকতে হয়তো বৃত্ত, সরলরেখার ইকুয়েশন শিখেছো, এখানে শিখবে ওগুলো ব্যবহার করে কিভাবে গ্রাফিক্স তৈরি হয়।

নেটওয়ার্কিং: কিভাবে একটা কম্পিউটারকে আরো ১০ কম্পিউটারের সাথে কানেক্ট করতে হয়, কিভাবে ইন্টারনেট কাজ করে, কিভাবে নেটওয়ার্কে ডাটা প্যাকেট পাঠানো হয় এবং অন্য প্রান্তে রিসিভ করা হয় ইত্যাদি শেখানো হয়। নেটওয়ার্ক সিকিউরিটিও এই টপিকের অন্তর্ভূক্ত। জানতে পারবে ল্যান, ডিএনএস সার্ভার, আইপিভি-৬, ক্রিপ্টোগ্রাফি ইত্যাদি সম্পর্কে।

ডিস্ট্রিবিউটেড সিস্টেম: তুমি হয়তো জানো বড় বড় যেসব কাজে অনেক মেমরি, শক্তি দরকার হয় সেসব কাজে অনেকগুলো কম্পিউটারকে একসাথে ব্যবহার করে কাজ করা হয়। বড় বড় রিসার্চের কাজ এভাবে করা হয়, ওয়েবসাইটগুলোতেও অনেকগুলো সার্ভার একসাথে কাজ করে। কিভাবে ডিস্ট্রিবিউটেড সিস্টেম ডিজাইন করা যায় সেটা নিয়েই এই কোর্স।

সফটওয়্যার ইঞ্জিনিয়ারিং: আধুনিক সফটওয়্যার ডিজাইনের টেকনিক পড়ানো হয় এই টপিকে। সব বিশ্ববিদ্যালয়ের কারিকুলামে সম্ভবত এটা নেই।

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

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

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

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

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

ভর্তি পরীক্ষার্থীদের বলবো, যেসব সাবজেক্ট পড়ার কথা ভাবছো প্রতিটা সম্পর্কে ভালোভাবে জানার চেষ্টা করো, সেখানে কি কি পড়ানো হয় সেটা খোজ নাও, এবং যদি সেগুলো তোমার সত্যিই পছন্দ হয় তাহলেই ভর্তি হয়ে যাও, কোনো সাবজেক্টই ১ নম্বর-২ নম্বর না, ইলেক্ট্রিকাল মোটেও মেকানিকালের থেকে “ভালো সাবজেক্ট” না, সেটাই তোমার কাছে “ভালো সাবজেক্ট” যেটা তোমার পছন্দ, সেটা যদি পুষ্টিবিজ্ঞানের মতো মানুষের চোখে পিছের দিকের সাবজেক্ট হয় তাহলেও সেটা ভালো, মানুষই তৈরি বিভাজন অনুসরণ করলে নিজের সাথে প্রতারণা করা হয়।

সকল ভর্তি পরীক্ষার্থীদের প্রতি শুভকামনা, আশা করি ভয়াবহ এই সময় সহজে পার করে ফেলতে পারবে।

“What’s the world’s greatest lie?” the boy asked, completely surprised. “It’s this: that at a certain point in our lives, we lose control of what’s happening to us, and our lives become controlled by fate. That’s the world’s greatest lie.”- The alchemist,Paulo Coelho

Print Friendly, PDF & Email

ফেসবুকে মন্তব্য

comments

Powered by Facebook Comments

103,778 times read (exlcuding bots)

38 thoughts on “কম্পিউটার বিজ্ঞান

  1. অসাধারন একটি লিখা। আমি নিজে যদিও কম্পিউটার বিজ্ঞানের ছাত্র, এই বিষয় নিয়ে আমার কিছু প্রশ্ন ছিলো, যার জবাব পেলাম এই লিখাটি পড়ে। অসংখ্য ধন্যবাদ, শাফায়েত ভাইয়া 🙂

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

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

    2. আমার খুব শখ IT বা Computer Science নিয়ে পড়ার। কিন্তু আমার রেজাল্ট ভালো না হওয়ায় আমা কোনো varsity তে সিটপাইনি। এখন এটা নিয়ে পড়তে চাইলে আমি কি করতে পরি।
      private varsity তে পড়ার মত আমার ability নাই….
      এ নিয়ে যদি আমাকে help করতেন খুব উপকার হতো

    1. আমি এখনো অনার্স পাশ করিনি তাই ডিটেইলস বলতে পারছিনা। তবে মাস্টার্সে যেসব টপিকে কাজ করা যায় সেগুলোর কয়েকটার নাম বলছি, আপনাকে একটু কষ্ট করে গুগল করতে হবে। Machine Learning/Data Mining/Artificial Intelligence এখন বেশ জনপ্রিয়, বেশ আধুনিক সাবজেক্ট এগুলো, রিসার্চের প্রচুর সুযোগ আছে, “Cryptography and Network Security” পড়তে পারেন, গ্রাফিক্স নিয়ে কাজ করতে চাইলে “Digital Image Processing” পড়তে পারেন, হার্ডওয়ার রিলেটেড টপিক পছন্দ হলে “Optical Fiber Communication”, “VLSI Systems” পড়তে পারেন, কোয়ান্টাম কম্পিউটিং নিয়ে কাজ করার সুযোগ আছে, “গ্রাফ থিওরি” নিয়ে কাজ করতে পারেন এটা আমার ব্যক্তিগত ভাবে খুবই পছন্দের টপিক। এছাড়া আরো কিছু টপিক নিয়ে কাজ করার সুযোগ আছে, সবথেকে ভালো হয় মাস্টার্স/পিএইচডি করছেন এমন অভিজ্ঞ কাওকে জিজ্ঞেস করলে।

  3. অনেক সুন্দর লেখা। এটা থেকে সবার এই সাবজেক্ট টা সম্পর্কে ভ্রান্ত ধারণা ভেঙ্গে যাবে।
    সিএসই এর স্টুডেন্ট দের জন্য লেখাটি Motivational……

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

  5. ভাইয়া আমি নতুন সি এস ই তে পড়তে চাই।বিষয়টার ডিটেলস দয়া করে বলবে;মানে ঠিক কি কি সেখানো হয়।

  6. অনেক সুন্দর একটি লেখা । আমি নিজে এই বিষয়ে পড়ি । প্রথম এ কিছু না বুঝেই ভর্তি হয়ে ছিলাম , কিন্তু সৌভাগ্য যে পরে দেখলাম বিষয় টা আমার ভালো লাগে । এখানে আমার অনেক অজানা বিষয় জানলাম এখন মানুষ কে অন্তত এইটুকু বোঝাতে পারব যে কম্পিউটার বিজ্ঞান আসলে কি বা কেন পড়ব । এতো সুন্দর একটা লেখার জন্য অনেক ধন্যবাদ । 🙂 🙂

    1. দুইটার ফোকাস ভিন্ন ধরণের। কম্পিউটার সাইন্স অনেক বড় একটা রেঞ্জ ফোকাস করে, সফটওয়‍্যার ইঞ্জিনিয়ারিং এ মূলত প্রোগ্রামিং, ডিজাইনিং এর উপর জোর দেয়া হয়। কোনটা ভাল সেটা নির্ভর করে তোমার কি লক্ষ‍্য সেটার উপর।

  7. আমি ক্লাস ৮ এ পরি,
    আমার ইচ্ছা, বড় হয়ে সফটওয়ার ইঞ্জিনিয়ার হওয়া,
    কিন্তু আমার পরিবারের আর্থিক সচ্ছলতা কম,

    তো আমি এখন কি করতে পারি ?
    ক্লাশ নাইন এ কোন বিষয় নিয়ে পরবো,

    আমি সিদ্ধান্ত নিতে পারছিনা,
    Please Help Me

    1. সায়েন্স পড়লে তোমার জন্য সুবিধা হবে। সফটওয়্যার ইঞ্জিনিয়ার হতে অনেক টাকা দরকার নেই, একটা মোটামুটি ধরণের পিসি আর ইচ্ছাশক্তিই যথেষ্ট! শুভকামনা থাকলো।

  8. ভাই আমি এইচ এস সি তে মানবিক শাখায় পড়ছি তো সরকারি বা ভালো কোন বিশ্ববিদ্যালয়ে কম্পিউটার সায়েন্স পড়তে পাড়বো। সি প্রোগ্রামিং এ নিয়ে ৩ মাসের কোর্স করেছি। মোটামোটি ধারনা আছে নেটওয়ার্কিং এ। যদি ভালো কোন ইউনিভার্সিটি পড়তে পাড়ি সে গুলোর নাম গুলা দয়াকরে বলেন ভাইয়া।

  9. অনেক ভাল লাগলো পড়ে। সত্যিই ভাল লাগছে।
    আমি এ বছর National Polytechnic Institu (ফার্মগেট, ঢাকা) এ ভর্তি হয়েছি।
    কম্পিউটার ইঞ্জিনিয়ারিংয়ে…
    আমার পিসি আছে।
    আর এটার প্রতি আমার ছোট বেলা থেকেই আগ্রহ ছিলো।
    সবাই আমার জন্য দোয়া করবেন, আমি যেন আমার লক্ষ্যে পৌঁছাতে পারি।

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

  11. মাঝে মাঝে স্বপ্নটাকে বাস্তবে রুপ দিতে ইচ্ছে করে কিন্তু হাতের কাছে কেউ নই বলার মত এটার পর এটা কর , এই বই টা ভাল / ভাইয়া এখান টায় প্রভলেম হচ্ছে কাইন্ডলি বলবেন কিভাবে , ,কেউ নেই !!! তারপর ও দেখি কেননা এটাই আমার শখ / স্বপ্ন … সেমিস্টার এক্সাম শেষের দিকে , দয়া করে ভাইয়া বলবেন কি পড়ব আই মিন কোনটার পরে কোনটা অথবা কোন বই আমাকে আমার স্বপ্ন পুরণে লক্ষে পৌছে দিবে … উত্তর পেলে অনেক উপকৃত হতাম 🙂

    1. হার্ভার্ড শিল্ডের বই কিনে ল্যাপটপে সি কম্পাইলার সেটআপ করে কোড লিখতে বসে যাও :)।

  12. থ্যাঙ্কস ফর রিপ্লায়িং তবে ঠিক বুঝলাম না ভাইয়া ! বইয়ের নাম মেনশন করলে ভাল হত।।

  13. কম্পিউটার সায়েন্স নিয়ে পড়ার ইচ্ছে। পাবলিকে পারবোনা তাই প্রাইভেট ই ভরষা। ভর্তি হওয়ার আগে অন্তত তিন মাসের একটা কোর্স করতে চাই।কোন কোর্সটা করলে পরবর্তিতে পড়ায় সহায়ক হবে? একটু হেল্প করেন শাফায়েত ভাই।

  14. আমি এ বছর ইন্টার পাশ করেছি ব্যবসায় শাখা থেকে ।কিন্তু ছোট থেকে কম্পিউটারে আমার বেশ শখ এবং নিজের ল্যাপটপ ও আছে ।অর্নাস এ কি কম্পিউটার বিষয়ে পড়ার সুযোগ আছে ?নাকি অন্য কোন প্রতিষ্টানে পড়তে হবে ?

  15. ভাইয়া, আমি ক্লাস 9এ পড়ি । Computer Programming আমার খুবই পছন্দের একটা বিষয় । আমি ইতিমধ্যেই Python Programming Language এর Basic ধারনাটা শেষ করেছি । এখন আমি C Programming Language এর শিখছি । আমার জন্য Computer Science এর কোণ বিষয়টা পরলে ভালো হবে?

  16. আমি ফার্মেসীতে ডিপ্লোমা করেছি। এখন cse তে পড়তে চাচ্ছি তাহলে আমার ক্যারিয়ার কেন হতে পারে এবং আমার এই ডিসিশন টা কেমন হবে। তবে হা আমার এ বিষয়ে অনেক আগ্রহ আছে।

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

Leave a Reply

Your email address will not be published. Required fields are marked *