কম্পিউটার সাইন্স বা সিএসই/cse একটি উচ্চ লেভেলের সাবজেক্ট। প্রতিবছর বহু ছাত্র-ছাত্রী এই সাবজেক্টে ভর্তি হয়। কিন্তু সমস্যা হচ্ছে সঠিক গাইডলাইন এর অভাবে তারা কম্পিউটার সাইন্সে ভালো করতে পারে না। তাই আমি এই পোষ্টে চেষ্টা করব কম্পিউটার সাইন্স সম্পর্কে বিস্তারিত বলতে। কম্পিউটার সাইন্সের ভবিষ্যৎ, এখানে কি কি পড়ানো হয় সহ একজন শিক্ষার্থীর কিভাবে পড়ালেখা করা উচিত সেই সম্পর্কে বিস্তারিত বলবো। সুতরাং আজ আমদের রিভিউ এর বিষয়, সাব্জেক্ট রিভিউ: CSE.
তার আগে কিছু কথা:
একটি কথা সব সময় বলি, যে কোন সাবজেক্টে যদি তুমি কঠোর পরিশ্রম করতে পারো তাহলে সফলতা আসবে। কারণ যে কোন সাবজেক্টে ভবিষ্যৎ রয়েছে বলেই সেই সাবজেক্ট টি ভার্সিটিতে অন্তর্ভুক্ত করা হয়েছে। অন্যদিকে ধরো, তুমি খুব ভালো একটি সাবজেক্ট পেয়েছো। কিন্তু তোমার পরিশ্রম নেই। তাহলে তোমার ভাল সাবজেক্টে তোমার কিছুই হবে না। পরিশ্রমই সৌভাগ্যের প্রসূতি এটি শুধু শুধু সত্য নয় বরং চরম বাস্তবতা। অনেকেই ভালো সাবজেক্ট পেয়ে ভাবে, আমি সব পেয়ে গেছি। কিন্তু পরিশ্রম না করলে তুমি কিছুই পাবে না। তাই তোমার সাফল্যের জন্য সাবজেক্ট এর চেয়ে তোমার পরিশ্রমই মূল চাবিকাঠি। আমরা মূলত সাবজেক্ট রিভিউ করি তোমাদের চেষ্টাকে একটু সহজ করতে। কিন্তু আমাদের পরামর্শ থাকবে যেন তোমরা সঠিক সাবজেক্ট চয়েজ করে পরিশ্রম করার মাধ্যমে এবং জানার মাধ্যমে তোমার সাফল্যে পৌছাও।
কম্পিউটার সাইন্স কি?
অনেকের ধারনা কম্পিউটার সাইন্স বা CSE মানে ms word , powerpoint , HTML,CSS , PHP , Photoshop, Website বানানো ইত্যাদি। আমার এক বন্ধু একদিন আমাকে বলতে ছিল, আমাদের কবে এমএস ওয়ার্ড, পাওয়ারপয়েন্ট, এক্সেল এগুলা শেখাবে! আমি অবাক হয়ে তাকে বললাম বন্ধু এগুলা আমাদের শিখাবেনা।
ভর্তি পরীক্ষার্থীদের অনুরোধ, যে সাবজেক্টে পড়ার চিন্তা করছো প্রতিটা সম্পর্কে ভালোভাবে জানার চেষ্টা করো,অনুসন্ধান চালাও, প্রয়োজনে গোয়েন্দা হও, সেখানে কি কি পড়ানো হয় খোজ নাও, এবং যদি সেগুলো তোমার সত্যিই পছন্দ হয় তাহলেই ভর্তি হয়ে যাও। কোন সাবজেক্টই ১ নম্বর বা ২ নম্বর না, যেটা তোমার পছন্দ, সেইটা যদি মানুষের চোখে নিচের দিকের সাবজেক্টও হয় তাতেও সমস্যা নেই।
এখন আমরা কম্পিউটার সাইন্সে কি কি পড়ানো হয় তা ধাপে ধাপে জানবো। এরপরে তুমি ঠিক করবে তুমি কম্পিউটার সাইন্স পড়বে নাকি অন্য কোন সাবজেক্ট পড়বে।
কম্পিউটার সাইন্স(CSE) পড়তে হলে তোমাকে ৩ টা স্কিল বা যোগ্যতা থাকতেই হবে।
১. গণিতে মোটামুটি দক্ষতা,
২. নতুন কিছু করার চিন্তা,
৩. প্রোগ্রামিং করার মানসিকতা এবং ধৈর্য্য।
প্রোগ্রামিং:
প্রোগ্রামিং কি:
প্রোগ্রামিং এর মাধ্যমে বিভিন্ন সমস্যার সমাধান করা যায়। সমস্যা সমাধানের জন্য একজন প্রোগ্রামার কম্পিউটারের ভাষায় প্রোগ্রামিং তৈরি করে থাকেন ।অর্থাৎ প্রোগ্রামিং হচ্ছে কম্পিউটার কে বোঝানোর জন্য কম্পিউটারের নিজস্ব ভাষা।
প্রোগ্রামিং শিখে সফটওয়্যার ডেভেলপমেন্ট, ওয়েবসাইট ডেভেলপমেন্ট হিসেবে ক্যারিয়ার গঠন করা যায়। এছাড়া প্রোগ্রামিং শিখে গাণিতিক সমস্যা সমাধান, রকেটের গতিপথ, কোয়ান্টাম মেকানিক্স, মেডিকেল সাইন্স সহ বিভিন্ন ক্ষেত্রে গবেষনা সম্ভব। আমরা বর্তমানে যে কম্পিউটার ব্যবহার করি সেটি বিভিন্ন প্রোগ্রামের মাধ্যমে করা হয়েছে। বিভিন্ন ইন্সট্রাকশন এর মাধ্যমে কম্পিউটার কাজ করে। যেটি অপারেটর এর মধ্যে কোডিং আকারে করা আছে।
অধিকাংশ বিশ্ববিদ্যালয়ে প্রথমে শিখানো হয় সি প্রোগ্রামিং (C_Programming_Language)। সি ভাষাকে বলা হয় প্রোগ্রামারদের মাতৃভাষা। এরপরে Object Oriented Programming হিসেবে শিখানো হয় সি++ অথবা জাভা। বিভিন্ন বিশ্ববিদ্যালয়ে জাভা শেখানোর সময় অ্যান্ড্রয়েডে ডেভেলপমেন্ট শেখানো হয়। কারণ অ্যান্ড্রয়েড ডেভেলপমেন্ট এর জন্য জাভা প্রোগ্রামিং জনপ্রিয়। এছাড়া বর্তমানে পাইথন গুরুত্বপূর্ণ ভাষা হয়ে ওঠায় প্রায় সব বিশ্ববিদ্যালয়ে পাইথন প্রোগ্রামিং ভাষা করানো হয়। পাইথনের প্রচুর ফ্রেমওয়ার্ক এবং লাইব্রেরী থাকার কারণে এটি খুবই জনপ্রিয় একটি প্রোগ্রামিং ভাষা।
পরবর্তীতে অ্যাসেম্বলী ল্যাংগুয়েজ শেখানো হয়। এখানে লো-লেভেলে সরাসরি মেমরির বিভিন্ন অংশ নিয়ে কাজ করা হয়। কম্পিউটার মেমরিতে বিভিন্ন ডাটা, বিট/বাইট আকারে সেভ রাখে। কিভাবে আসলে কাজটি হয় তা অ্যাসেম্বলী ল্যাংগুয়েজ জানতে সাহায্য করে। হার্ডওয়্যার লেভেলে কিভাবে ডাটা সেভ রাখা হয় এটিও অ্যাসেম্বলী ল্যাংগুয়েজ জানতে সাহায্য করে। অ্যাসেম্বলী ল্যাংগুয়েজ ভালোভাবে শিখতে পারলে ভাইরাস বানানোর মতো কাজ করা সম্ভব। তবে অ্যাসেম্বলী প্রোগ্রামিং করে মূলত মেমরির বিভিন্ন অংশ কন্ট্রোল করা হয়।
প্রোগ্রামিং ল্যাংগুয়েজ কোর্স মূলত থিওরিটিকাল এবং ল্যাব এই দুই ভাগে করানো হয়ে থাকে। আসলে অধিকাংশ শিক্ষার্থীদের থিওরি ক্লাস ভালো লাগে। কিন্তু যখনই ল্যাব করানো হয় তখন তাদের যেন ভয়ংকর অবস্থা হয়। প্রোগ্রামিং এর মূল কাজ মূলত ল্যাবেই করতে হয় এবং কম্পিউটার সায়েন্সের স্টুডেন্ট মানেই প্রোগ্রামিং করতে হবে। তাই আপনি প্রোগ্রামিং কতোটুকু করতে পারবেন সেটি আপনাকে ভাবতে হবে এবং বেশি বেশি করতে হবে। প্রথমদিকে প্রোগ্রামিং আপনার কাছে বিভীষিকাময় মনে হবে কিন্তু একবার যদি আপনি প্রোগ্রামিং কে ভালবাসতে পারেন তাহলে প্রোগ্রামিং করতে আপনার ভালো লাগবে। প্রয়োজনে নিজের স্ত্রীর মতো, প্রোগ্রামিং নিয়ে সকালে দুপুরে রাত্রে সব সময় ভাবুন। প্রোগ্রামিংকে জীবনের একটি অংশ বানিয়ে ফেলুন। বিভিন্ন সমস্যা প্রোগ্রামিং এর মাধ্যমে সমাধান করার চেষ্টা করুন এবং লজিক ডেভলপ করার চেষ্টা করুন।
ল্যাবে সাধারণত প্রজেক্ট করতে দেয়া হয় যেন শিক্ষার্থীরা ক্রিয়েটিভিটি দেখানোর সুযোগ পায়।
কম্পিউটার সায়েন্সে আরো অনেক অংশ থাকলেও ভালো প্রোগ্রামিং জানা মূলত এই সাবজেক্টে ভালো করার প্রধান হাতিয়ার।
ডাটা স্ট্রাকচার (Data Structure) :
একবার ভাবুন তো Google, Facebook কিভাবে এত তথ্য সংরক্ষণ করে? আবার এলোমেলো ভাবে তথ্য সংরক্ষণ করলে খুজে পাওয়ার সমস্যা, সুতরাং তথ্য সংরক্ষণ করার নির্দিষ্ট কিছু নিয়ম আছে। নির্দিষ্ট নিয়ম মেনে যদি আমরা তথ্য সংরক্ষণ করি তাহলে সেগুলো এলোমেলো হবে না। আর এই কাজে আমাদের সহায়তা করে ডাটা স্ট্রাকচার। অর্থাৎ ডাটার গঠন কেমন হবে, কেমন করে ডাটা সাজাতে হবে সেগুলো ডাটা স্ট্রাকচার কোর্সে শেখানো হয়।
একটা ড্রয়ারে যদি ক্রমানুযায়ী কাগজপত্র রাখা যায় তাহলে যেমন সহজে খুজে পাওয়া যায় তেমনি নির্দিষ্ট স্ট্রাকচার ফলো করে ডাটা সেভ করলে সহজে পাওয়া যাবে।
অ্যালগরিদম:
কম্পিউটারকে কিছু নির্দেশ দিলে খুব দ্রুতই করে দেয়। কিন্তু প্রশ্ন হচ্ছে কিভাবে এত দ্রুত কাজটা করতে পারছে? কিভাবে বড় ফাইলকে কমপ্রেস করে সাইজ কমিয়ে ফেলা সম্ভব? কীভাবে গুগল অসংখ্য ওয়েবসাইট থেকে চোখের পলকেই প্রয়োজনীয় তথ্য খুজে পায়?
আপনি যদি এগুলোর উত্তর খুঁজে পেতে চান তাহলে আপনাকে অ্যালগরিদম কোর্সে মনোযোগী হতে হবে।
কারণ এমন ধরণের প্রবলেম সলভিং এর হাতেখড়ি হয় মূলত অ্যালগোরিদম কোর্সে। অ্যালগোরিদমকে আমরা বলতে পারি, সমস্যাকে সমাধান করার বিভিন্ন ধাপ। যদিও বিশ্ববিদ্যালয় সরাসরি problem-solving করে দেখানো হবে না তারপরেও এই কোর্সটি প্রবলেম সলভ করার জন্য যে টেকনিক প্রয়োজন তার একটি বেজ তৈরি করে দেয়।
কিছু কমন প্রবলেম সলভিং টেকনিক শিখিয়ে দিতে পারে। কম্পিউটারে কম জায়গা এবং সময় কম খরচ করে কিভাবে বিভিন্ন সমস্যা সমাধান করা যায় সেগুলো শিখিয়ে দিবে।
এই কোর্সেটিও ল্যাব এবং থিওরী দুই ভাগে করানো হয়ে থাকে। থিওরি বুঝে ল্যাবে সেইগুলো ইমপ্লিমেন্ট করতে পারলে আপনি আলগরিদম ভালো বুঝতে পারবেন।
সত্য বলতে অ্যালগোরিদম এবং ডাটা স্ট্রাকচার হলো কম্পিউটার সাইন্সের মূল ভিত্তি।
ম্যাথমেটিক্স:
বাইরের দেশে কম্পিউটার সাইন্স department এর নাম -Department of Computer Science and Mathematics. নাম দেখেই বোঝা যায় গণিতের গুরুত্ব।
নতুন অ্যালগোরিদম বা ডাটা স্ট্রাকচার ডিজাইন করার সময় গণিত প্রয়োজন। একটা সমস্যা বিভিন্ন ভাবে সমাধান করা যেতে পারে, কোন পদ্ধতি অবলম্বন করলে মেমোরিতে জায়গা কম নিবে এবং দ্রুত প্রোগ্রামটি করা যাবে এসব হিসাবের জন্য গণিতের প্রয়োজন। আপনি যত বেশি গণিত পারবেন , প্রবলেম সলভিং স্কিল তত ইমপ্রুভ হবে।
গণিতের ক্যারকুলাস, প্রোবাবিলিটি, নাম্বার থিওরি, জিওমেট্রি এবং লিনিয়ার অ্যালজেব্রা ইত্যাদি শেখানো হয়ে থাকে। গণিত ভালো পারলে তার জন্য কম্পিউটার সায়েন্সে ভালো করা অনেকটাই সহজ হয় যায়। কেউ যদি গণিতের রিয়েল লাইফ অ্যাপ্লিকেশন শিখতে চায় তাহলেও কম্পিউটার সাইন্স ভালো সাবজেক্ট হতে পারে।
অপারেটিং সিস্টেম এবং সিস্টেম প্রোগ্রামিং:
বর্তমানে সবচেয়ে জনপ্রিয় অপারেটিং সিস্টেম হচ্ছে উইন্ডোজ। অপারেটিং সিস্টেম কম্পিউটার সাইন্স থেকে গুরুত্বপূর্ণ কোর্স। এই কোর্সে অপারেটিং সিস্টেম কিভাবে কাজ করে তা শিখানো হয় । এখানে অপারেটিং সিস্টেমের ইন্টারনাল স্ট্রাকচার শিখানো হয় । কম্পিউটারে একই সাথে যদি আমরা ২০ টা কাজ করি তাহলে অপারেটিং সিস্টেমকে ২০টা কাজের জন্য শিডিউল তৈরি করতে হয়। কিভাবে সিডিউল তৈরি হয় তা এখানে জানতে পারবে। এছাড়া ম্যানেজমেন্ট সিস্টেম সম্পর্কে জানতে পারবে। যেমন ধরো তোমাকে অনেকগুলো ফল খেতে দেয়া হলো এখন তুমি কোন ফল আগে খাবে তা নির্ভর করে তোমার পছন্দের উপর। তেমনি ভাবে, আমরা যখন কম্পিউটারে বিভিন্ন রকম ইনপুট দেই, তখন কোন ইনপুট কম্পিউটার আগে গ্রহণ করবে এবং আউটপুট প্রদর্শন করবে, এর জন্য যে ম্যানেজমেন্ট প্রয়োজন তা এই কোর্সে শেখানো হয়।
ইউনিক্স/লিনাক্সের অপারেটিং সিস্টেম সোর্সকোড নিয়ে এই কোর্সে ঘাটাঘাটি করা হয়।
ডাটাবেজ:
বিভিন্ন ওয়েবসাইট বা সফটওয়্যার প্রচুর পরিমাণে ডাটা সংরক্ষণ করে রাখে। যেমন ফেসবুক। এখানে প্রচুর মানুষের ডাটা সংরক্ষিত আছে। কথা হচ্ছে কিভাবে আছে? ওয়েবসাইট বা সফটওয়্যার এই বিশাল ডাটা সংরক্ষিত করে রাখে “ডাটাবেস” এর ভিতর। ডাটাবেসে কিভাবে ডাটা ইনপুট দিতে হয়, কিভাবে থেকে ডাটা নিয়ে আসতে হয়, ডাটা সর্ট করতে হয় ইত্যাদি নিয়ে মূলত এই কোর্স। এই কোর্সে mysql, mongoDB সহ বিভিন্ন প্রকার ডাটাবেজ নিয়ে আলোচনা করা হতে পারে।
Artificial Intelligence:
এই কোর্সটি থিসিসের বা গবেষণার জন্য পপুলার একটা টপিক। রোবটকে দিয়ে কিভাবে কাজ করানো যায়, গেমের ক্যারেক্টার নিজে নিজে কিভাবে বিভিন্ন সিদ্ধান্ত নেয়, কম্পিউটার কিভাবে দাবা খেলে এমন ধরনের দারুণ সব ইন্টারেস্টিং টপিক Artificial Intelligence এর অন্তর্ভূক্ত। প্রোগ্রামিং করে এসব টপিক ইমপ্লিমেন্টও করতে হয়। গেম বা রোবোটিকস এ আগ্রহ থাকলে এই কোর্সটি তোমার জন্য।
Data Communications and Networking:
একটি কম্পিউটারকে অনেকগুলো কম্পিউটার এর সাথে যুক্ত করে কাজ করা যায়। কিভাবে এই কাজগুলো করা যায়, কিভাবে ডাটা আদান-প্রদান হয়, কিভাবে ডাটা পাঠানো হয় এবং অন্য প্রান্তে রিসিভ করা হয় ইত্যাদি এই কোর্সে শেখানো হয়। জেনে খুশি হবে যে, নেটওয়ার্ক সিকিউরিটিও এই কোর্সের অন্তর্ভূক্ত। আরও শেখানো হবে ল্যান, ডিএনএস সার্ভার, আইপিভি-৬, ক্রিপ্টোগ্রাফি ইত্যাদি।
কম্পিউটার সাইন্সে চাকুরি বা কর্মক্ষেত্রঃ
কম্পিউটার সায়েন্সে রয়েছে চাকরির অপার সম্ভাবনা। এখানে অনেক ফিল্ড রয়েছে। এছাড়া যে কোন ফিল্ডে কম্পিউটার সায়েন্সের স্টুডেন্ট রা জব করতে পারে। যেমন,

১. সরকারী বিভিন্ন বিভাগ যেমন বিদ্যুৎ উন্নয়ন অধিদপ্তর, পল্লীবিদ্যুতায়ন বোর্ড, জনস্বাস্থ্য অধিদপ্তর, দূর্যোগ ব্যবস্থাপনা অধিদপ্তর, পরিবেশ অধিদপ্তর, আবহাওয়া অধিদপ্তর সহ প্রায় সবজায়গায় প্রকৌশলী হিসেবে চাকুরি করতে পারবে।
২. Software Engineer, Programmer, IT expert হিসেবে বিভিন্ন ফার্মে চাকুরি করতে পারবে।
৩. Network Management, System Analyst হিসেবে চাকুরির সুযোগ রযেছে।
৪. Web Design & Developer হিসেবে চাকুরির সুযোগ রযেছে।
৫. Graphics Designer হিসেবে বিভিন্ন ফার্মে চাকুরি করতে পারবে।
৬. Film Industry
৭. সামরিক বাহিনীতে প্রচুর IT expert প্রয়োজন।
৮. শিক্ষকতা।
৯. শিল্পকারখানায় প্রসেস কন্ট্রোলিং।
১০. মোবাইল কোম্পানি।
১১. Microsoft, Google, Yahoo, Facebook, Intel এগুলো তো আছেই।
১২. NASA বাদ যাবে কেন!
১৩. এছাড়া আইটি ফার্ম দিলে সমস্যা কোথায়!
১৪. ফ্রিল্যান্সিং করা যেতে পারে।
১৫. প্রয়োজনমত অ্যাপ, গেম, ওয়েব বানিয়ে ফেলতে পারো।
১৬. প্রোগ্রামিং শিখে তুমি বানিয়ে ফেলতে পারো তোমার শখের রোবট। তারপর গুগল, মাইক্রোসফটে জব পেয়ে যেতে পারো।
১৭. Android Developer
১৮. নেটওয়ার্কিং।
এছাড়া তুমি যদি কম্পিউটার সাইন্সে দক্ষ হও তাহলে তুমি নিজেই একটি আইটি ফার্ম দিতে পারবে এবং শুধু নিজের কর্মসংস্থান নয় বরং অনেক লোকের কর্মসংস্থানের সুযোগ করে দিতে পারবে। কিন্তু একটি কথা থেকেই যায় সেটি হচ্ছে তোমাকে দক্ষ হতে হবে।
কম্পিউটার সাইন্সে স্কলারশীপঃ
স্কলারশীপ নিয়ে পড়াশুনা করার সুযোগ কম্পিউটার সায়েন্সে অনেক বেশি। Massachusetts Institute of Technology (MIT), Harvard University, The University of Melbourne, University of California at Berkeley (UCB) এর মতো হাই রেংকিং বিশ্ববিদ্যালয়গুলো কম্পিউটার সায়েন্সে প্রচুর স্কলারশীপ দিয়ে থাকে।
এছাড়া এছাড়াও প্রায় প্রতিটি বিশ্ববিদ্যালয় কম্পিউটার সায়েন্স সাবজেক্ট রয়েছে। তাই তুমি যে কোন দেশে স্কলারশিপ পেতে পারো। একথা নিশ্চিত হবে বলা যায়, ভবিষ্যৎ পৃথিবী হবে টেকনোলজি এবং বিজ্ঞানভিত্তিক। সুতরাং কম্পিউটার এর জনপ্রিয়তা কমার কোনো সুযোগ নেই। তাই উন্নত দেশগুলোতে খুব সহজেই এ বিষয়ে স্কলারশিপ পাওয়া যায় এবং প্রতি বছর বাংলাদেশ থেকে প্রচুর স্টুডেন্ট বাইরে এ বিষয়ে ডিগ্রী নিতে যায়।
হয়তো লেখাটা বেশি বড় হয়ে যাচ্ছে। তোমাদের প্রতি অনুরোধ তোমরা যে সাবজেক্টেই পড়ো সঠিকভাবে সঠিক গন্তব্যে পৌঁছানোর জন্য চেষ্টা করো, পরিশ্রম করো। তোমাদের কম্পিউটার সায়েন্স রিলেটেড যদি কোন প্রশ্ন থেকে থাকে আমাদের কমেন্টের মাধ্যমে জানাও অথবা আমাদের মেইল করো।
Post a Comment