কম্পিউটার ইঞ্জিনিয়ারিং কি ও কেন
কম্পিউটার প্রকৌশল একটি এমন একটি ফলিতবিদ্যা যাতে তড়িৎ প্রকৌশল ও কম্পিউটার বিজ্ঞানের উপাদানগুলো সু-সমন্বয় রয়েছে। কম্পিউটার প্রকৌশলীদের ইলেকট্রনিক্স প্রকৌশল, সফটওয়ার ডিজাইন ও হার্ডওয়ার-সফটওয়ার একত্রীকরণ প্রভৃতি ক্ষেত্রে বিশেষ শিক্ষা ও দক্ষতা আছে। কম্পিউটার প্রকৌশলী কম্পিউটিং এর মাইক্রোপ্রসেসর, পার্সোনাল কম্পিউটার, এবং সুপারকম্পিউটার ডিজাইন থেকে শুরু করে সার্কিট ডিজাইন সহ বিভিন্ন ক্ষেত্রে অবদান রাখেন। এই প্রকৌশলবিদ্যা ডিভাইস ও যন্ত্রে বিভিন্ন এমবেডেড সিস্টেমকে (উদাহরণস্বরুপ, কিছু এমবেডেড কম্পিউটার সিস্টেম মোটরযানের বিভিন্ন অংশ নিয়ন্ত্রন ও পর্যবেক্ষণে ব্যবহৃত হয়) ব্যবহারে ভূমিকা রাখে।
কম্পিউটার সায়েন্স ফিল্ডটি মোটামুটি অনেক ক্ষেত্রকেই নিজের আয়ত্তে করে নিচ্ছে। যেমন-
- চিকিৎসা ক্ষেত্রেঃ রোগ নির্ণয় (এক্সরে রিপোর্ট), উচ্চ রক্তচাপ নির্ণয়, রক্ত পরীক্ষা, চক্ষু অপারেশন, সিজার করা ইত্যাদি।
- কৃষি ক্ষেত্রেঃ ধানের পাতের রোগ নির্ণয়, রাসায়নিক সার কম সময়ে ছিটানো, জমি স্বয়ংক্রিয় পদ্ধতিতে চাষ করানো ইত্যাদি।
- যোগাযোগ ক্ষেত্রেঃ মোবাইল টেকনোলজি, মোটামুটি সবাই জানি এতে কি রকম অবদান আছে। যেমনটা- অ্যান্ড্রয়েড ফোন প্রযুক্তিকে জানার ক্ষেত্রে অনেক সুবিধাকে আমাদের হাতের মুঠোয় নিয়ে এসেছে।
- নির্মাণ ক্ষেত্রেঃ ব্রিজ তৈরিতে পিলারের দূরত্ব নির্ণয়, বিল্ডিং বানানোর নকশা তৈরি ইত্যাদি। রাসায়নিক ক্ষেত্রেঃ ওষুধ বানানোর কাজে নিখুত পরিমান নির্ণয়, পরিশুদ্ধকরনের কাজে ইত্যাদি।
- যানবাহন ক্ষেত্রেঃ বিমানে আকাশপথ নির্ণয়, মহাকাশে রকেট যান পাঠাতে ইত্যাদি। ইলেক্ট্রনিক্স ক্ষেত্রেঃ তারবিহীন তথ্য সম্প্রচার, সিগনাল সিস্টেম তৈরিতে, সিসি ক্যামেরা, মোবাইল, কম্পিউটার ইত্যাদি।
- পোশাক শিল্পেঃ আগুন ধরলে স্বয়ংক্রিয়ভাবে ফায়ার অফিসকে জানানো, কাপড়ের নকশা অঙ্কনে ইত্যাদি। কেনা-বেচা ক্ষেত্রেঃ রকমারি ডট কম, এখানেই ডট কম, টেক শপ বিডি ইত্যাদি।
-
কম্পিউটার প্রকৌশলীদের কাজটা কি
কম্পিউটার প্রকৌশলীর সাধারণ কার্যাবলীর মধ্যে রয়েছে সাধারণ ও বিশেষ কম্পিউটারের জন্য সফটওয়ার তৈরি করা, এমবেডেড মাইক্রোকন্ট্রোলারের জন্য ফার্মওয়ার লিখা, বিভিন্ন ভিএলএসআই চিপ ডিজাইন, বিভিন্ন এনালগ সেন্সর ডিজাইন, বিভিন্ন সার্কিট বোর্ড ডিজাইন এবং অপারেটিং সিস্টেম ডিজাইন প্রভৃতি। কম্পিউটার প্রকৌশলীরা রোবোটিক্স গবেষণার জন্য উপযুক্ত, যা বিভিন্ন তড়িৎ সিস্টেম যেমন মোটর, যোগাযোগব্যবস্থা, সেন্সর প্রভৃতি নিয়ন্ত্রণে ডিজিটাল সিস্টেমের উপর পুরোপুরি নির্ভরশীল।
প্রধান প্রধান কোর্সসমূহ
প্রোগ্রামিং: কম্পিউটার সায়েন্স বললে অবধারিত ভাবে প্রথমে চলে আসে প্রোগ্রামিং। প্রোগ্রামিং হলো কম্পিউটারকে কথা শুনানোর উপায়, বোকা কম্পিউটারকে দিয়ে ইচ্ছামত কাজ করিয়ে নেয়া। কম্পিউটার যেহেতু মানুষের ভাষা বুঝেনা তাকে বোঝাতে হয় বিশেষ ভাষায় যাকে বলে প্রোগ্রামিং ল্যাংগুয়েজ। প্রোগ্রামিং ল্যাংগুয়েজ শিখে সফটওয়্যার, ওয়েবসাইট যেমন বানানো সম্ভব তেমনি গাণিতিক সমস্যা সমাধান করা সম্ভব, রকেটের গতিপথ নির্ণয় করা সম্ভব, কোয়ান্টাম মেকানিক্স নিয়ে গবেষণা সম্ভব, ডিএনএ অ্যানালাইসিস করা সম্ভব। এককথায় বলতে গেলে প্রোগ্রামিং এর জ্ঞান আধুনিক যুগের সুপারপাওয়ার যেটা দিয়ে পৃথিবীকে নিয়ন্ত্রণ করা সম্ভব।
বাংলাদেশে বেশিভাগ বিশ্ববিদ্যালয়ে প্রথম সেমিস্টারে শিখানো হয় সি ল্যাংগুয়েজ যেটাকে বলা যেতে পারে প্রোগ্রামারদের মাতৃভাষা। প্রোগ্রামিং ল্যাংগুয়েজ কোর্স দুই ভাগে করানো হয়। ক্লাসরুমে কিছু থিওরিটিকাল কথাবার্তা থাকে তবে এই কোর্সের মূল অংশ হয় ল্যাবে। সেখানে প্রোগ্রামিং ল্যাংগুয়েজ দিয়ে বিভিন্ন সমস্যা সমাধান করতে দেয়া হয়। কম্পিউটার সায়েন্সের আরো অনেক অংশ থাকলেও ভালো প্রোগ্রামিং জানা এই সাবজেক্টে ভালো করার পূর্বশর্ত। পরবর্তীতে অ্যাসেম্বলী ল্যাংগুয়েজের জন্য আরেকটি কোর্স থাকে। এখানে একদম লো লেভেলে সরাসরি মেমরির বিভিন্ন অংশ নিয়ে কাজ করা যায়। অ্যাসেম্বলী ল্যাংগুয়েজ জানতে সাহায্য করে কম্পিউটার কিভাবে মেমরিতে বিট/বাইট হিসাব করে ডাটা রাখে, একদম হার্ডওয়্যার লেভেলে কিভাবে ডাটা রাখা হয় সেটা আপনি জানতে পারবেন। অ্যাসেম্বলী ভালোভাবে শিখলে ভাইরাস বানানোর মতো মজার কাজ করা সম্ভব, প্রোগ্রামিং করে মেমরির বিভিন্ন অংশ কন্ট্রোল করা সম্ভব।
অ্যালগোরিদম: আপনি কি জানেন গুগল কিভাবে লাখ লাখ ওয়েবসাইট থেকে চোখের পলকে দরকারি ডাটা খুজে আনে? কিভাবে লাখ লাখ টেরাবাইটের ডিএনএ সিকোয়েন্স থেকে খুজে বের করা হয় জীবনের রহস্য। এধরণের প্রবলেম সলভিং এর হাতেখড়ি হয় অ্যালগোরিদম কোর্সে। অ্যালগোরিদম হলো একটি সমস্যাকে সমাধান করার বিভিন্ন ধাপ। অ্যালগোরিদম কোর্সে মূলত শেখানো হয় প্রবলেম সলভিং টেকনিক। কম্পিউটারে মেমরি এবং সময় কম খরচ করে কিভাবে সমস্যা সমাধান করা যায় সেগুলো শেখানো হয় এখানে। ছবি: একটি বন্ধ বাতি কিভাবে কাজ করবে তার এলগোরিদম
ডাটা স্ট্রাকচার: ফেসবুক কিভাবে এত মানুষের তথ্য সংরক্ষণ করে? এলোমেলো ভাবে সংরক্ষণ করলে তাড়াতাড়ি খুজে পাওয়া সমস্যা, তাই তথ্য সংরক্ষণ করার নির্দিষ্ট কিছু টেকনিক আছে। ড্রয়ারে লেভেল করে কাগজপত্র রাখলে যেমন সহজে খুজে পাওয়া যায় তেমনি কিছু নির্দিষ্ট স্ট্রাকচার ফলো করে ডাটা সেভ করলে সহজে সেটা কাজের সময় পাওয়া যায়। ডাটা স্ট্রাকচার কোর্সে এগুলো সম্পর্কে ধারণা দেয়া হয়।
গণিত: কম্পিউটার সায়েন্সের স্টুডেন্টদের ভালো গণিত জানার দরকার হয়। এটার কারণটা সবার কাছে পরিস্কার না। নতুন অ্যালগোরিদম বা ডাটা স্ট্রাকচার ডিজাইন করার সময় এগুলো কতটা ভালো কাজ করবে সেটা নির্ধারণ করতে গণিত দরকার হয়। একটা সমস্যা অনেক ভাবে সমাধান করা যায়, কোন পদ্ধতিটা সবথেকে ভালো, কোনটা কম মেমরিতে কম সময়ে কাজ করবে এসব হিসাবের জন্য গণিতের জ্ঞান খুব দরকার। গণিতের মধ্যে জানা লাগবে মূলত কম্বিনেটরিক্স, প্রোবাবিলিটি, নাম্বার থিওরি, জিওমেট্রি এবং লিনিয়ার অ্যালজেব্রা, ক্যালকুলাস ইত্যাদি।
অপারেটিং সিস্টেম এবং সিস্টেম প্রোগ্রামিং: এখানে শিখানো হয় কিভাবে অপারেটিং সিস্টেম কাজ করে। তবে তারমানে এই না যে উইন্ডোজ চালানো শেখানো হয়! এখানে শিখায় অপারেটিং সিস্টেমের ইন্টারনাল স্ট্রাকচার কিরকম। কম্পিউটারে একই সাথে ১০টা কাজ করলে অপারেটিং সিস্টেমকে ১০টা কাজের জন্য বিশেষ শিডিউল তৈরি করতে হয়, সেগুলো এখানে শিখানো হয়। তারপর ধরেন ২টা প্রোগ্রাম একই সাথে প্রিন্টার ব্যবহার করতে চাইলো, কাকে অপেক্ষায় রেখে কাকে দিবে এ ধরণের রিসোর্স ম্যানেজমেন্টের কাজও শিখানো হয়।
ডাটাবেস: ওয়েবসাইট বা বড়বড় সফটওয়্যার বিশাল ডাটা রাখে “ডাটাবেস” এর ভিতর। ডাটাবেসে কিভাবে ডাটা রাখতে হয়, কিভাবে সেখান থেকে ডাটা নিয়ে আসতে হয় ইত্যাদি নিয়ে এই কোর্স।
আর্টিফিসিয়াল ইন্টেলিজেন্স(এ.আই): নাম শুনেই বোঝা যাচ্ছে কি নিয়ে এই কোর্স, থিসিসের জন্য খুবই পপুলার একটা টপিক এটা। কিভাবে রোবটকে দিয়ে কাজ করানো যায়, গেমের ক্যারেক্টার নিজে নিজে বিভিন্ন সিদ্ধান্ত নেয়, কম্পিউটার কিভাবে দাবা খেলে এই ধরণের দারুণ ইন্টারেস্টিং সব টপিক এ.আই এর অন্তর্ভূক্ত। ল্যাবে প্রোগ্রামিং করে এসব টেকনিক ইমপ্লিমেন্টও করতে হয়। নিউরাল নেটওয়ার্ক, জেনেটিক অ্যালগোরিদমের মতো দারুণ সব জিনিস শিখতে যাবে।
কম্পাইলার: সাদামাটা ভাষায় কম্পাইলার জিনিসটার কাজ প্রোগ্রামিং ল্যাংগুয়েজকে মেশিন ভাষায় পরিণত করা যাতে হার্ডওয়্যার সেটা বুঝতে পারে। প্রোগ্রামিং ল্যাংগুয়েজ কিভাবে কাজ করে, কিভাবে নিজের প্রোগ্রামিং ল্যাংগুয়েজ তৈরি করা যায় এগুলো নিয়েই কম্পাইলার কোর্স। প্রোগ্রামিং ল্যাংগুয়েজের ইনস্ট্রাকশন গুলো কম্পিউটার কিভাবে মেশিন কোড বানিয়ে কাজ করে সেগুলো শেখানো হয় এখানে।
গ্রাফিক্স: আমরা কম্পিউটার গেমস বা অ্যানিমেটেড মুভিতে এত সুন্দর গ্রাফিক্স দেখি তার পিছনে আছে প্রচুর ম্যাথমেটিকাল থিওরী। যেমন গেমসে লাইটিং, শেডিং কিভাবে বাস্তবসম্মত করা যায় তার পিছনে আছে অনেক থিওরী। প্রচুর জ্যামিতি দরকার হয় এখানে। যেমন একটা ৩-ডি বাক্সকে ৪৫ ডিগ্রী ঘুরালে কো-অর্ডিনেট কত পরিবর্তন হবে এসব হিসাব এখানে করতে হয় এবং ল্যাবে সেই অনুযায়ি গ্রাফিকাল প্রোগ্রাম লিখতে হয়, তাই শেখাটা শুধু মুখস্থে সীমাবদ্ধ থাকেনা। আপনি কলেজে থাকতে হয়তো বৃত্ত, সরলরেখার ইকুয়েশন শিখেছেন, এখানে শিখবেন ওগুলো ব্যবহার করে কিভাবে গ্রাফিক্স তৈরি হয়।
নেটওয়ার্কিং: কিভাবে একটা কম্পিউটারকে আরো ১০ কম্পিউটারের সাথে কানেক্ট করতে হয়, কিভাবে ইন্টারনেট কাজ করে, কিভাবে নেটওয়ার্কে ডাটা প্যাকেট পাঠানো হয় এবং অন্য প্রান্তে রিসিভ করা হয় ইত্যাদি শেখানো হয়। নেটওয়ার্ক সিকিউরিটিও এই টপিকের অন্তর্ভূক্ত। জানতে পারবেন ল্যান, ডিএনএস সার্ভার, আইপিভি-৬, ক্রিপ্টোগ্রাফি ইত্যাদি সম্পর্কে।
ডিস্ট্রিবিউটেড সিস্টেম: বড় বড় যেসব কাজে অনেক মেমরি, শক্তি দরকার হয় সেসব কাজে অনেকগুলো কম্পিউটারকে একসাথে ব্যবহার করে কাজ করা হয়। বড় বড় রিসার্চের কাজ এভাবে করা হয়, ওয়েবসাইটগুলোতেও অনেকগুলো সার্ভার একসাথে কাজ করে। কিভাবে ডিস্ট্রিবিউটেড সিস্টেম ডিজাইন করা যায় সেটা নিয়েই এই কোর্স।
সফটওয়্যার ইঞ্জিনিয়ারিং: আধুনিক সফটওয়্যার ডিজাইনের টেকনিক পড়ানো হয় এই টপিকে। সব বিশ্ববিদ্যালয়ের কারিকুলামে সম্ভবত এটা নেই।
এখন আসি হার্ডওয়্যার রিলেটেড কিছু টপিকে। কম্পিউটার সায়েন্সে হার্ডওয়ার নিয়ে অনেক কিছু পড়ানো হয়। কম্পিউটার আর্কিটেকচারে কম্পিউটারে মূল গঠন পড়ানো হয়। কিভাবে কম্পিউটারের তথ্য যাবার পথ বা “ডাটা বাস” কাজ করে, এজিপির সাথে পিসিআই এর পার্থক্য, ক্যাশ মেমরি ইত্যাদি শেখানো হয়। ইলেকট্রিকাল সার্কিটের মতো কম্পিউটারে থাকে বিশেষ ডিজিটাল সার্কিট, সেগুলো নিয়ে পড়ানো হয় ডিজিটাল সিস্টেমস টপিকে। এছাড়া বিভিন্ন ডিভাইস যোগ করলে কিভাবে সেটা কম্পিউটারের সাথে যোগাযোগ করে এসব পড়ানো হয় হার্ডওয়্যার অংশে।
কম্পিউটার প্রকৌশলীদের কর্মক্ষেত্র
তাদের চাকরির ক্ষেত্রগুলো সাধারণত নিম্নরূপ।
- Programming and Software Development : যার ভিতর পরবে Systems analyst,Systems consultan, Artificial Intelligence, programme,Scientific applications programmer,Database analyst এমনি আরও শাখা।
- Information Systems Operation and Management : এতে আছে Management/IT consultants , Chief information officer (CIO), Computer security specialist , Database administrator ইত্যাদি চাকরির ক্ষেত্র।
- Telecommunications and Networking : এর আয়তায় পড়ে Network engineer/consultant এবং Network administrator
- Computer Science Research : এতে পাবেন Computer scientist/researcher , Artificial Intelligence researcher , Data miner , Medical imaging specialist হবার সুযোগ ।
- Web and Internet : Internet applications programmer, Webmaster ইত্যাদি আরও বিভাগ ।
- Computer Industry Specialists : এর ভিতর পরে IT recruitment consultant, কম্পিউটার বিষয়ক ম্যাগাজিনের প্রতিবেদক হবার সুযোগ , IT sales professional
- Game Engine Developer
- Mobile Application Developer
ক্যারিয়ার সম্ভাবনা
একজন ভাল কম্পিউটার ইঞ্জিনিয়ার বা প্রোগ্রামার হতে পারলে দেশে ও দেশের বাইরে রয়েছে চাকরির ব্যাপক সুযোগ।
কোথায় পড়া যাবে
কম্পিউটার সায়েন্স এন্ড ইঞ্জিনিয়ারিং এ দেশের প্রায় সব সরকারি-বেসরকারি বিশ্ববিদ্যালয়ে স্নাতক বা স্নাতকোত্তর পর্যায়ে পড়াশোনার ব্যবস্থা রয়েছে। উদাহরণস্বরুপ বুয়েট, ঢাকা বিশ্ববিদ্যালয়, শাহজালাল বিশ্ববিদ্যালয়, আহসানুল্লাহ বিশ্ববিদ্যালয়, আইইউটি, এমআইএসটি, রুয়েট , ব্র্যাক বিশ্ববিদ্যালয়, এআইইউবি ইত্যাদি।
কেমন যোগ্যতা চাই
চার বছর মেয়াদি বিএসসি ইঞ্জিনিয়ারিং কোর্সে ভর্তি হতে হলে একজন শিক্ষার্থীর অবশ্যই বিজ্ঞান বিষয়ে পড়াশোনা থাকতে হবে। বিজ্ঞান বিভাগ থেকে যারা এসএসসি ও এইচএসসি পাস করেছে তারা এই বিভাগে ভর্তির জন্য আবেদন করতে পারবে। তবে বিশ্ববিদ্যালয়ভেদে ভর্তির যোগ্যতা ও অন্যান্য নিয়ম ভিন্ন। তাই যার যে বিশ্ববিদ্যালয় পছন্দ সেই বিশ্ববিদ্যালয়ে ভর্তির বিস্তারিত তথ্যাবলী জেনে নিতে হবে। কম্পিউটার সায়েন্স ও ইঞ্জিনিয়ারিং পড়তে হলে সবচেয়ে যে বিষয়টি গুরুত্ত দিতে হবে তা হল-
- গনিতে দক্ষতা
- লজিকাল অপারেশন
- ইলেক্ট্রনিক্স
- পরিশ্রম
- ধৈর্যকম্পিউটার ইঞ্জিনিয়ারিং পড়ার জন্য এই বিষয়টির প্রতি ভালবাসা অনেক জরুরি।
রেফারেন্স
Discussion about this post