Tuesday, December 14, 2010

সম্পূর্ন সফলভাবে ইনস্টল করুন ubuntu restricted extras

অনেকেই সফলভাবে ubuntu restricted extras ইনস্টল করতে পারেন না।তাদের জন্যই আমার আজকের এই পোষ্ট:

প্রথমে multiverse repository কে enable করুন।এজন্য System → Administration → Software sources → এ গিয়ে [ Ubuntu software Tab] এ ক্লিক করুন।এবার Software restrictecd by copyright or legal issue ( multiverse ) এর বাম দিকে টিক দিয়ে দিন।Close এ ক্লিক করুন,এরপর Reload এ ক্লিক করুন।

এরপর টার্মিনাল খুলুন (Applications → Accessories → Terminal), এই কমান্ড

sudo dpkg –configure -a

টাইপ করে Enter কি চাপুন,Password চাইবে, আপানার Password টাইপ করে Enter কি চাপুন।

ঐ টার্মিনালটি চালু থাকা অবস্থাতেই (মিসিং অথবা পেন্ডিং প্যাকেজ গুলো জাচাই করতে এবং আপডেট ও আপগ্রেড করার জন্য )নিচের কমান্ডগুলো টাইপ করুণ :

sudo apt-get -f install

Enter কি চাপুন এবং কমান্ডটির কাজ শেষ হওয়া পর্যন্ত অপেক্ষা করুন

এরপর পরবর্তী কমান্ডগুলো একে একে টাইপ করুণ এবং একইভাবে কমান্ডটির কাজ শেষ হওয়া পর্যন্ত অপেক্ষা করুন

sudo apt-get –fix-missing install

sudo apt-get clean

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

কমান্ডগুলোর কাজ শেষ হয়ে গেলে,সবশেষে এই কমান্ড :

sudo apt-get install ubuntu-restricted-extras

টাইপ করে Enter কি চাপুন এবং কমান্ডটির কাজ শেষ হওয়া পর্যন্ত অপেক্ষা করুন।

কমান্ডটির কাজ শেষ হওয়ার পর ubuntu/Linux Mint কে Restert দিন।

ব্যাস, হয়ে গেল ubuntu restricted extras এর সফল ইনস্টলেশন।

Read more...

Friday, August 13, 2010

সম্পূর্ণ বিনামূল্যে নোকিয়ার Ovi Synchronise and Backup সার্ভিস

সম্পূর্ণ বিনামূল্যে আপনার মোবাইলের Contacts,Calender,Notes সংরক্ষন করতে পারেন।
এজন্য প্রয়োজন OviApplication সমর্থিত একটি নোকিয়া মোবাইল হ্যান্ডসেট এবং OviAccount.
Setting পদ্ধতি:
প্রথমে https://contactsui.ovi.com সাইট এ যান।এরপর আপনার OviAccountএর User Name ও Password দিয়ে Sign In করুন। OviAccountনা থাকলে Sign Up করুন।
Sign Up করার পরে Sign In করুন। Sign In করার পর যে ওয়বেপেজ আসবে তার Your Device Option এর অন্তর্ভূক্ত Add a device Option এ ক্লিক করে আপনার মোবাইল এর মডেল টি সিলেক্ট করে Next এ ক্লিক করুন।এরপর Mobile Number Field এ আপনার মোবাইল নাম্বার টি +88 সহ লিখুন।Time Zone Field এ আপনার Time Zone সিলেক্ট করে Next এ ক্লিক করুন।এরপর Send Setting Option এ ক্লিক করলে পরের পেজে একটি কোড দেখাবে এবং আপনার মোবাইলে একটিO vi.Com নামে একটি Configuration Setting আসবে এবং Configuration Setting টি Save করার সময় উক্ত কোড নাম্বার দিয়ে Save করতে হবে।এবার মোবাইলটিকে একবার Off/On করুন।
Synchronise করার পদ্ধতি:
Nokia Classic Series এর মোবাইলের জন্য Setting Menu থেকে Sync and Backup সিলেক্ট করে Data Transfer সিলেক্ট করে Server Sync সিলেক্ট করুন।এরপর Contacts,Calender,Notes কে Mark করে OK/Next সিলেক্ট করুন।এরপর কোনও Permission সম্পর্কিত Message আসলে Yes করুন,তাহলেই Synchronise শুরু হয়ে যাবে।

Read more...

Wednesday, July 7, 2010

*PC তেই খেলুন মোবাইল গেমস !!!

আপনি এখন PC তেই মোবাইল গেমস খেলতে পারবেন!!!বিশ্বাস হচ্ছে না?
সত্যি, আপনি এখন PC তেই মোবাইল গেমস খেলতে পারবেন ও সফটওয়্যার চালাতে পারবেন।আর এ জন্য প্রয়োজন Sjboy Emulatorনামক ১.০২ মেগাবাইট এর সফটওয়ারটি।
তবে এজন্যে মোবাইল গেমস গুলো PC তে থাকতে হবে।এই সফটওয়ারটি শুধুমাত্র .jar ফরম্যাট এর গেমস ও সফটওয়্যার সাপোর্ট করে এবং সফটওয়ারটি শুধুমাত্র Windows XP অপারেটিং সিস্টেম এ চলবে।
সফটওয়্যারটির ডাউনলোড করার জন্য [এখানে ক্লিক করুন]
সফটওয়্যারটির ডাউনলোড করে ইনস্টল করুন।ব্যাস হয়ে গেল।এখন যে গেমস/সফটওয়্যার টি চালাতে চান,সেটি তে ক্লিক করে Open With…. Sjboy Emulator সিলেক্ট করুন (Default হিসেবে)।তাহলেই PC তে মোবাইল গেমস ও সফটওয়্যার চলবে।তবে একাধিক মোবাইল গেমস একটি Folder এ না রেখে, একটি গেম একটি Folder এ রাখাই ভাল।তাহলে মোবাইল গেমস PC তে চলতে কোনও সমস্যা হবে না।

Read more...

Monday, July 5, 2010

উইন্ডোজএক্সপিতে করোপটেড ফাইল ঠিক করুন

উইন্ডোজ এক্সপি অপারেটিং সিস্টেম এ সমস্যা হতে পারে বিভিন্ন কারনে। যে কোন ধরনের সমস্যা হলে অনেক সময় বিভিন্ন ধরণের এরর মেসেজ দেখা যায়। সমস্যা গুলো হয় ফাইল করাপ্ট হওয়ার কারনে। ফাইল করাপ্ট হওয়ার বিভিন্ন কারন রয়েছে।এর মধ্যে ভোল্টেজ আপ/ডাউন এর কারণে (যদি ইউপিএস না থাকে) বা লোডশেডিং এর কারনে কিংবা হঠাৎ পিসি বন্ধ হয়ে গেলে, কোন সফটওয়ার ইনসটল/আনইন্সটল করতে গেলে, ভাইরাস সমস্যার কারণে সর্বোপরি পাইরেটেড এক্সপি হলে যে কোন সময় এই সমস্যা দেখা দিতে পারে। এসব ক্ষেত্রে সমাধান হিসেবে আমরা সাধারণত নতুন করে অপারেটিং সিস্টেম ইন্সটল করে নেই যা মোটামুটি বেশ ঝামেলা এবং সময় সাপেক্ষ। শুধু একটি এক্সপি অপারেটিং সিস্টেম এর ডিস্ক দিয়ে এক্সপির ডিএলএল ফাইল এবং সিস্টেম ফাইল গুলো নতুন করে লোড করা যায় যার ফলে সময় এবং পরিশ্রম দুই বাঁচানো সম্ভব। উইন্ডোজ নতুন ভাবে সেটাপ শুরু করার আগে একবার চেষ্টা করে দেখুন সমাধান হয় কিনা। এর জন্য প্রথমে কম্পিউটারটি স্বাভাবিক ভাবে চালু করুন। স্বাভাবিক ভাবে চালু না হলে F8 চেপে safemood চালু করুন। ডিস্কটি ড্রাইভ এ প্রবেশ করান এবং start থেকে run ওপেন করুন। run এ sfc /scannow এবং enter দিন। এভাবে স্কেনিং চালু হবে যার ফলে উইন্ডোজের সবগুলি ফাইল স্কেন করবে এবং করাপ্টেড ফাইলগুলি অটোমেটিক রিপ্লেস করে দিবে।
Read more...

ফেসবুকে বাংলা অক্ষর ছোট দেখার সমস্যা দূর করে নিন সহজেই





১৪ সাইজের ইংরেজী Arial ফন্টের তুলনায় ১৪ সাইজের Vrinda ফন্ট দ্বারা লিখিত ‘আমার সোনার বাংলা আমি তোমায় ভালবাসি’ লেখাটির আকার বা আকৃতি খুবই ছোট । ১৪ সাইজের Vrinda ফন্টের তুলনায় ১৪ সাইজের Solaimanlipi ফন্ট দ্বারা লিখিত ঐ একই বাক্য তুলনামূলকভাবে কিছুটা বড় কিন্তু এটি আবার ১৪ সাইজের ইংরেজী Arial ফন্ট দ্বারা লিখিত Aamar Sonar Bangla, Aami Tomay Valobashi লেখাটির আকার বা আকৃতির তুলনায় ছোট।

অতএব Solaimanlipi ফন্টটি অন্য অনেকদিক থেকে গ্রহণযোগ্যতা পেলেও Corresponding Size -এর ইংরেজী ফন্টের তুলনায় আকৃতিতে কিছুটা ছোট হওয়ায় তা Vrinda সমস্যার বিকল্প সমাধান হিসেবে খুব বেশী কার্যকর ভূমিকা রাখতে পারেনি।

ইউনিকোড বাংলার ফন্টের এমন দূরাবস্থার সময়েই সবাইকে চমকে দিয়ে যে ফন্টটি আবির্ভূত হয়েছে তার নাম -Siyam Rupali. উপরের ছবিতে ১৪ সাইজের Siyam Rupali ফন্ট দ্বারা লিখিত ‘আমার সোনার বাংলা আমি তোমায় ভালবাসি’-লেখাটুকু খেয়াল করুন এবং দেখুন যে এর আকার বা আকৃতি ১৪ সাইজের ইংরেজী Arial ফন্ট দ্বারা লিখিত ‘Aamar Sonar Bangla, Aami Tomay Valobashi’-র তুলনায় প্রায় সমান আকারের এবং অন্য দুটি বাংলা ইউনিকোড ফন্ট তথা Vrinda ও Solaimanlipi-র আকৃতির তুলনায়ও যথেষ্ট বড়।

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

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

(১) আপনার ব্রাউজারে Internet Explorer এর Internet Options-এ যান।
(২) Font Options এর আওতায় Language Script হিসেবে Bengali নির্বাচন করে সেখান থেকে Siyam Rupali ফন্টটি নির্বাচিত করুন।
(৩) এরপর OK করে বেরিয়ে আসুন।
Read more...

Sunday, July 4, 2010

কম্পিউটারের হার্ড ডিস্কের সমস্ত ভাইরাস দূর করূন উবুন্টুর মাধ্যমে:






অনেক সময় কম্পিউটারের হার্ড ডিস্কের সকল ভাইরাস এন্টিভাইরাস দিয়েও দূর হয় না।
এ ক্ষেত্রে করনীয়:
প্রথমে ubuntu live চালু করুন, ubuntu চালু হওয়ার পর হার্ড ডিস্কের প্রতিটি Local Drive এর ভিতরে ঢুকে Recycler,Recycled (যদি থাকে),System & Volume Information,এই Folder তিনটি কে ও অন্যান্য .exe file গুলো Delete করুন।এই ভাবে হার্ড ডিস্কের প্রতিটি Local Drive এর ভিতরে ঢুকে Recycler,Recycled (যদি থাকে),System & Volume Information,এই Folder তিনটি ও অন্যান্য .exe file গুলো কে Delete করুন। প্রতিটি Local Drive এর Folder তিনটি ও অন্যান্য .exe file গুলো Delete হওয়ার পর উবুন্টু Restert দিন। উবুন্টু Restert এর পর CD/DVD ROM হতে উবুন্টু CD বের হওয়ার সাথে সাথে Windows এর CD ঢুকিয়ে দিয়ে Windows Setup দিন।
ব্যাস আপনার কম্পিউটারের হার্ড ডিস্কের সমস্ত ভাইরাস দূর হয়ে গেলো।
Read more...

Sunday, June 6, 2010

সহজেই ডুপলিকেট ফাইল ডিলিট করে হার্ডডিস্কে জায়গা সাশ্রয় করুন


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

ডাউনলোড
সূত্রঃইমতিয়াজ মাহমুদ
Read more...

Sunday, May 16, 2010

বিজ্ঞান প্রযুক্তি

আধুনিক কম্পিউটার বিজ্ঞানের উৎস হিসেবে ইংরেজ বিজ্ঞানী চার্লস ব্যাবেজের কাজকে উল্লেখ করা যায়। ব্যাবেজ ১৮৩৭ সালে একটি প্রোগ্রামযোগ্য যান্ত্রিক গণনাযন্ত্র বা ক্যালকুলেটর প্রস্তাব করেছিলেন। তবে তারও আগে ১৬২৩ সালে ভিলহেল্ম শিকার্ড প্রথম যান্ত্রিক ক্যালকুলেটর তৈরি করেছিলেন বলে জানা যায়, যদিও এটি প্রোগ্রামযোগ্য ছিল না। ১৯ শতকে জর্জ বুল উদ্ভাবিত বুলিয়ান বীজগণিত দ্বিমিক বা বাইনারি পদ্ধতি ব্যবহার করে বিদ্যুৎ বর্তনী তৈরির গাণিতিক ভিত্তি প্রদান করে।
১৯৪০-এর দশকে ইলেকট্রনিক ডিজিটাল কম্পিউটারের আবির্ভাবের আগ পর্যন্ত কম্পিউটার বিজ্ঞানকে বিজ্ঞান বা প্রকৌশলবিদ্যার চেয়ে একটি আলাদা শাস্ত্র হিসেবে গণ্য করা হত না। তবে এর পর থেকে এটি অনেক শাখা প্রশাখার জন্ম দিয়েছে, যেগুলো একান্তই কম্পিউটার বিজ্ঞান সম্বন্ধীয়।
অ্যালগোরিদম তত্ত্ব, গাণিতিক যুক্তিবিজ্ঞান, ও প্রোগ্রাম সংরক্ষণের ক্ষমতাবিশিষ্ট ইলেক্ট্রনিক কম্পিউটারের উদ্ভাবন - এই তিনের সম্মিলনে ১৯৪০-এর দশকের শুরুতে কম্পিউটার বিজ্ঞানের জন্ম হয়। ১৯৩০-এর দশকে অ্যালান টুরিং, আলোন্‌জো চার্চ ও কুর্ট গ্যোডেলের অ্যালগোরিদম তত্ত্বসমূহ ও এগুলো যন্ত্রে বাস্তবায়ন সংক্রান্ত গবেষণা, তারও ৬০ বছর আগে অগাস্টা অ্যাডা কিং (কাউন্টেস অফ লাভলেস)-এর উদ্ভাবিত অ্যালগোরিদম, ১৯২০-এর দশকে ভ্যানিভার বুশের উদ্ভাবিত অ্যানালগ কম্পিউটার, এবং ১৯৩০-এর দশকে হাওয়ার্ড আইকেন ও কনরাড ৎসুজে কর্তৃক উদ্ভাবিত ইলেকট্রনিক কম্পিউটার - এ সবই কম্পিউটার বিজ্ঞানের জন্মে ভূমিকা রাখে। ১৯৪০-এর দশকের শেষের দিকে জন ভন নিউম্যানের রচনাবলি নতুন এই শাস্ত্রের তাত্ত্বিক ভিত্তি সুদৃঢ় করে।
১৯৪০-এর দশকের শেষে ও ১৯৫০-এর দশকের শুরুর দিকে কম্পিউটার বিজ্ঞানের আদি পর্যায়ে গবেষণার লক্ষ্য ছিল বিজ্ঞান ও প্রকৌশলের জন্য ব্যবহৃত গণনা করার প্রক্রিয়াগুলোকে স্বয়ংক্রিয় রূপ দেওয়া। কোন প্রক্রিয়ায় গণনা করলে তাড়াতাড়ি সঠিক ফল পাওয়া যাবে, তা বের করার জন্য বিজ্ঞানী ও প্রকৌশলীরা গণনার বিভিন্ন তাত্ত্বিক মডেল তৈরি করেন। এসময় কম্পিউটার বিজ্ঞান এবং গণিতের সাংখ্যিক বিশ্লেষণ নামক শাখার মধ্যে বহু মিল ছিল, যে শাখায় গণনার নির্ভুলতা ও যথার্থতা নিয়ে গবেষণা করা হত।
১৯৫০ ও ১৯৭০-এর দশকের মধ্যবর্তী সময়ে কম্পিউটারের ব্যবহার বৃদ্ধি পায়। কম্পিউটার বিজ্ঞানীরা এসময় কম্পিউটারের ব্যবহার সরল করার উদ্দেশ্যে এক ধরনের কৃত্রিম ভাষা তথা প্রোগ্রামিং ভাষাসমূহের উদ্ভাবন করেন এবং কম্পিউটার ও কম্পিউটার ব্যবহারকারীর মধ্যে যোগসূত্র স্থাপনকারী অপারেটিং সিস্টেম প্রোগ্রামের প্রচলন করেন। তাঁরা কম্পিউটারের নতুন ব্যবহারিক ক্ষেত্র সন্ধান ও নতুন ধরনের কম্পিউটার ডিজাইন নিয়েও গবেষণা চালান। এসময় প্রথম কম্পিউটার নেটওয়ার্ক সৃষ্টি করা হয় এবং গণনা ও মনের চিন্তাধারার মধ্যে সম্পর্ক নিয়ে গবেষণা শুরু হয়। কম্পিউটার বিজ্ঞানের পরিসর যথেষ্ট বৃদ্ধি পায় এবং ১৯৬০-এর দশকের শুরুর দিকেই পাশ্চাত্যের বিশ্ববিদ্যালয়গুলোতে কম্পিউটার বিজ্ঞান বিভাগ চালু ও ডিগ্রী প্রদান শুরু হয়।
১৯৭০-এর দশকে কম্পিউটার চিপ প্রস্তুতকারকেরা ব্যাপকভাবে মাইক্রোপ্রসেসর উৎপাদন করতে শুরু করেন। মাইক্রোপ্রসেসর হল কম্পিউটারের ভেতরে অবস্থিত প্রধান তথ্য প্রক্রিয়াকারী কেন্দ্র। এই নতুন প্রযুক্তি কম্পিউটার শিল্পব্যবস্থায় বিপ্লব আনে; কম্পিউটার তৈরির খরচ বহুলাংশে কমে যায় এবং কম্পিউটার তথ্য প্রক্রিয়াকরণের দ্রুতি বহুগুণে বৃদ্ধি পায়। মাইক্রোপ্রসেসরের ওপর ভিত্তি করেই সৃষ্টি হয় ব্যক্তিগত কম্পিউটার বা পিসি। পিসি-র আবির্ভাবের পর কম্পিউটার অ্যাপ্লিকেশনের ব্যবহার বহুগুণে বেড়ে যায়। ১৯৭০-এর শুরু থেকে ১৯৮০-র দশকের পুরোটা জুড়ে কম্পিউটার বিজ্ঞানের পরিধির ব্যাপক প্রসার ঘটে। কম্পিউটিং শিল্পে উদ্ভাবিত নতুন নতুন প্রযুক্তি চালনার জন্য এবং ব্যক্তিগত কম্পিউটারে ব্যবহার্য নতুন অ্যাপ্লিকেশনগুলো তৈরির জন্য এর কোন বিকল্প ছিল না। এভাবে কম্পিউটার বিজ্ঞানের অতীতের গবেষণাগুলোর ফলাফল ব্যক্তিগত কম্পিউটারের প্রসারের মাধ্যমে ধীরে ধীরে সাধারণ জনগণের কাছে পৌঁছাতে শুরু করে।
কম্পিউটার বিজ্ঞানীরা অনবরত কম্পিউটার ও তথ্য ব্যবস্থাসমূহের উন্নতি সাধন করে চলেছেন। তাঁরা আরও জটিল, নির্ভরযোগ্য ও শক্তিশালী কম্পিউটার ডিজাইন করছেন, এমন সব কম্পিউটার নেটওয়ার্ক তৈরি করছেন যেগুলো দিয়ে বিপুল পরিমাণ তথ্য দক্ষতার সাথে আদান প্রদান করা যায় এবং কম্পিউটারকে কীভাবে বুদ্ধিমান সত্তার মত আচরণ করানো যায়, তার উপায়গুলো খুঁজে বের করছেন। কম্পিউটার ক্রমে আধুনিক সমাজের অবিচ্ছেদ্য অংশে পরিণত হচ্ছে, ফলে কম্পিউটার বিজ্ঞানীরা বর্তমান সমস্যাগুলোর আরও ভাল সমাধান উদ্ভাবন করছেন এবং নতুন নতুন সমস্যার রসদও পাচ্ছেন।
*লক্ষ্য
কম্পিউটার বিজ্ঞানের লক্ষ্য বিচিত্র। জনসাধারণকে বর্তমান কম্পিউটারগুলো চালনা শিক্ষা দেয়া থেকে শুরু করে ভবিষ্যতমুখী প্রযুক্তি, যেগুলো কয়েক দশকেও বাস্তবায়নের সম্ভাবনা নেই, সেগুলো নিয়ে গবেষণা – এ সবই কম্পিউটার বিজ্ঞানের আওতায় পড়ে। সব বিশেষ বিশেষ লক্ষ্যেরই মূল লক্ষ্য তথ্যের উন্নত ব্যবহারের মাধ্যমে মানবজাতির বর্তমান ও ভবিষ্যতের উন্নতিসাধন।
তত্ত্ব, প্রকৌশল ও পরীক্ষা নিরীক্ষা – এ তিনের সমন্বয়েই কম্পিউটার বিজ্ঞান। কম্পিউটার বিজ্ঞানীরা একটি তত্ত্ব দাঁড় করান, তারপর সেই তত্ত্বের ওপর ভিত্তি করে হার্ডওয়্যার ও সফটওয়্যারের সমন্বয়ে একটি কম্পিউটার ব্যবস্থা তৈরি করেন এবং তারপর সেটি পরীক্ষা করে দেখেন।
অনেকের মনে হতে পারে যে কম্পিউটার পরীক্ষানিরীক্ষার আবার প্রয়োজন কি? কম্পিউটারকে যা আদেশ দেওয়া হয় তা-ই সে পালন করে। কিন্তু প্রকৃতপক্ষে বাস্তব বিশ্বে কম্পিউটারের নানা জটিল ব্যবহারের সময় কম্পিউটারের অনেক অজানা আচরণ পরিলক্ষিত হয় যেগুলোর পূর্বাভাস দেওয়া যায় না। পরীক্ষা নিরীক্ষা আর বৈজ্ঞানিক পদ্ধতি অনুসরণ তাই কম্পিউটার বিজ্ঞানের গুরুত্বপূর্ণ অংশ।
*শাখা
কম্পিউটার বিজ্ঞানকে কতগুলি বৃহত্তর শাখায় ভাগ করা যায়। যেমন - বিচ্ছিন্ন গণিত, অ্যালগোরিদম ও উপাত্ত সংগঠনসমূহ, প্রোগ্রামিং ভাষাসমূহ, কম্পিউটার স্থাপত্য, অপারেটিং ব্যবস্থা, কম্পিউটার নেটওয়ার্ক, সফটওয়্যার প্রকৌশল, ডাটাবেস ও তথ্য আনয়ন, কৃত্রিম বুদ্ধিমত্তা, রোবটবিজ্ঞান, কম্পিউটার গ্রাফিক্‌স, মানুষ-কম্পিউটার মিথষ্ক্রিয়া, গণনামূলক বিজ্ঞান, প্রাতিষ্ঠানিক তথ্যবিজ্ঞান, এবং জীব-তথ্যবিজ্ঞান। নিচে এগুলির সংক্ষিপ্ত বিবরণ দেয়া হল।
*বিচ্ছিন্ন গণিত
বিচ্ছিন্ন গণিতের ধারণাগুলি কম্পিউটার বিজ্ঞানের ভিত্তি। খুব কম সংখ্যক কম্পিউটার বিজ্ঞানীই বিচ্ছিন্ন গণিতের উপর বিশেষ জোর দিয়ে গবেষণা করেন, কিন্তু কম্পিউটার বিজ্ঞানের বহু এলাকায় বিচ্ছিন্ন গণিতের ধারণাগুলি ঘুরেফিরে আসে। সেট তত্ত্ব, গাণিতিক যুক্তিবিজ্ঞান, গ্রাফ তত্ত্ব, এবং গুচ্ছবিন্যাসতত্ত্বের অনেক গুরুত্বপূর্ণ ধারণা বিচ্ছিন্ন গণিতের আলোচ্য।
উপাত্ত সংগঠন এবং অ্যালগোরিদমের এলাকায় বিচ্ছিন্ন গণিতের ধারণাগুলির সর্বাধিক প্রয়োগ দেখতে পাওয়া যায়। তবে কম্পিউটার বিজ্ঞানের অন্যান্য শাখাতেও এর ব্যবহার আছে। যেমন বিধিবদ্ধ বৈশিষ্ট্যায়ন (formal specification), প্রোগ্রামের যাচাইকরণ (verification) এবং তথ্যগুপ্তিবিদ্যায় বিধিবদ্ধ প্রমাণ (formal proof) সৃষ্টি ও অনুধাবনের ক্ষমতা অত্যন্ত দরকারী একটি দক্ষতা। গ্রাফ তত্ত্বের ধারণাগুলি কম্পিউটার নেটওয়ার্ক, অপারেটিং সিস্টেম এবং কম্পাইলারের গবেষণায় কাজে আসে। সেট তত্ত্বের ধারণাগুলি সফটওয়্যার প্রকৌশল এবং ডাটাবেজের গবেষণায় কাজে লাগে।
বিচ্ছিন্ন গণিতে আলোচ্য বিষয়গুলির মধ্যে আছে:
ফাংশন, অন্বয়, সেট, পায়রাখোপ নীতি, উপাদান সংখ্যা, গণনযোগ্যতা
গাণিতিক যুক্তিবিজ্ঞান, প্রতিজ্ঞামূলক যুক্তিবিজ্ঞান, যৌক্তিক সংযোজক, সত্য সারণি, নর্মাল রূপ, বৈধতা, বিধেয় যুক্তিবিজ্ঞান, সার্বজনীন ও অস্তিত্ববাচক মানকরণ, গ্রহণমূলক ধারা, বর্জনমূলক ধারা।
গাণিতিক প্রমাণ, শর্তাবদ্ধতা, আবর্ত, উদ্দেশ্য নিষেধন, ব্যাবর্ত, নিষেধন, স্ববিরোধিতা, প্রত্যক্ষ প্রমাণ, বাধক দৃষ্টান্ত দ্বারা প্রমাণ, ব্যাবর্তন দ্বারা প্রমাণ, স্ববিরোধিতা দ্বারা প্রমাণ, গাণিতিক আরোহ, শক্তিশালী আরোহ, পুরোগনির্দেশী গাণিতিক সংজ্ঞা, সুবিন্যস্তকরণ।
গণনা, গণনার যুক্তি (যোগ ও গুণন নিয়ম, গ্রহণ-বর্জন নীতি), সমান্তর ও গুণোত্তর ধারা, ফিবোনাচ্চি সংখ্যা, পায়রাখোপ নীতি, বিন্যাস ও সমাবেশ, পাসকালের অভেদ, দ্বিপদী উপপাদ্য, পুনরাবর্তন সম্পর্ক, মাস্টার উপপাদ্য।
বৃক্ষ, অদিকনির্দেশী গ্রাফ, দিকনির্দেশী গ্রাফ, প্রজনন বৃক্ষ, গমন কৌশল।
বিচ্ছিন্ন সম্ভাব্যতা, সসীম সম্ভাব্যতা জগৎ, সম্ভাব্যতা পরিমাপ, ঘটনা, সাপেক্ষ সম্ভাব্যতা, স্বাধীনতা, বেইজের উপপাদ্য, পূর্ণসাংখ্যিক দৈব চলক, প্রত্যাশা।
*অ্যালগোরিদম ও উপাত্ত সংগঠনসমূহ
অ্যালগোরিদম ও উপাত্ত সংগঠনসমূহ ব্যবহার করেই কম্পিউটার প্রোগ্রাম রচনা করা হয়। প্রথিতযশা কম্পিউটার বিজ্ঞানী নিকলাউস ভির্টের একটি সুবিখ্যাত বইয়ের নাম ছিল Algorithms + Data Structures = Programs (১৯৭৫)। অ্যালগোরিদম (algorithm) হল সুনির্দিষ্ট ও সসীম সংখ্যক ধাপবিশিষ্ট পদ্ধতি, যা সসীম সময়ের মধ্যে ও সসীম পরিমাণ কম্পিউটার মেমরি ব্যবহার করে কোন সমস্যার সমাধান করে। অতিব্যবহৃত অ্যালগোরিদমগুলোর মধ্যে আছে কোন উপাত্ত সংগ্রহ অনুসন্ধান (searching), উপাত্ত বিন্যস্তকরণ (sorting), মেট্রিক্স গুণন ও অন্যান্য সাংখ্যিক অপারেশনসমূহ, ইত্যাদি। কোন উপাত্ত সংগঠন (data structure) হল তথ্যের একটি নির্দিষ্ট ধরনের সুবিন্যস্ত রূপ, যা উপাত্তের বিভিন্ন মানের মধ্যে সম্পর্ক স্থাপন করে। লিস্ট, অ্যারে, রেকর্ড, স্ট্যাক, কিউ, ট্রি, ইত্যাদি কিছু বহু-ব্যবহৃত উপাত্ত সংগঠন।
অ্যালগোরিদম কম্পিউটার বিজ্ঞানের একটি মৌলিক বিষয়। কোন্‌ অ্যালগোরিদম পচ্ছন্দ করা হয়েছে এবং সেটি কীভাবে বাস্তবায়ন করা হয়েছে --- এই দুইটি বিষয় বাস্তব বিশ্বে যেকোন সফটওয়্যার ব্যবস্থার কর্মদক্ষতা নির্ধারণ করে। ভাল অ্যালগোরিদমের ডিজাইন তাই সফটওয়্যারের সাফল্যের চাবিকাঠি। তাছাড়া অ্যালগোরিদম নিয়ে গবেষণা প্রোগ্রামিং ভাষা, ঘরানা, কিংবা কম্পিউটার হার্ডওয়্যার নির্বিশেষে বিভিন্ন সমস্যার অন্তর্নিহিত প্রকৃতি বুঝতে সহায়তা করে। কম্পিউটার বিজ্ঞানের অন্যতম একটি লক্ষ্য হল কোন একটি বিশেষ উদ্দেশ্যের জন্য কোন্‌ অ্যালগোরিদমটি সবচেয়ে শক্তিশালী ও উপযোগী, কিংবা এরকম আদৌ কোন অ্যালগোরিদম আছে কি না, তা বের করা। অ্যালগোরিদমের সব ধরনের আলোচনায় তাই দক্ষতার পরিমাপের ব্যাপারটি ঘুরে ফিরে আসে।
অ্যালগোরিদম তত্ত্বের মধ্যে রয়েছে গণনাযোগ্যতার তত্ত্ব, গণনামূলক জটিলতা, তথ্য-ভিত্তিক জটিলতা, সহবর্তমানতা তত্ত্ব, সম্ভাবনাভিত্তিক অ্যালগোরিদম, আরোহী ডাটাবেস তত্ত্ব ও সাম্পর্কিক ডাটাবেস তত্ত্ব, দৈবকৃত অ্যালগোরিদম, বিন্যাস-মিলানো অ্যালগোরিদম, গ্রাফ ও নেটওয়ার্ক অ্যালগোরিদম, বীজগাণিতিক অ্যালগোরিদম, গুচ্ছবিন্যাসতাত্ত্বিক সর্বোচ্চ অনুকূলীকরণ, এবং তথ্যগুপ্তিবিদ্যা। অ্যালগোরিদম তত্ত্ব অন্যান্য যেসব জ্ঞানের শাখার ওপর ভিত্তি করে দাঁড়িয়ে আছে সেগুলো হল বিচ্ছিন্ন গণিত (যার মধ্যে পড়ে গ্রাফ তত্ত্ব, পৌনঃপুনিক ফাংশন, পুনর্ঘটন সম্পর্কসমূহ, গুচ্ছবিন্যাস তত্ত্ব), ক্যালকুলাস, আরোহী পদ্ধতি, বিধেয় যুক্তিবিজ্ঞান, সময়ভিত্তিক যুক্তিবিজ্ঞান, অর্থবিজ্ঞান, সম্ভাবনা ও পরিসংখ্যান।
জটিল অ্যালগোরিদম এবং বাস্তব অভিজ্ঞতাভিত্তিক সমস্যাগুলির ক্ষেত্রে পরীক্ষা-নিরীক্ষার সহায়তা নেয়া হয়। অ্যালগোরিদমসমূহকে টেস্ট কেসের সুইট দিয়ে মূল্যায়ন করা হয়। বিভক্তি-ও-বিজয় অ্যালগোরিদম, লোভী অ্যালগোরিদম, ডাইনামিক প্রোগ্রামিং, সসীম অবস্থার যন্ত্র ইন্টারপ্রেটার, স্ট্যাক যন্ত্র ইন্টারপ্রেটার, অভিজ্ঞতাভিত্তিক অনুসন্ধান ও দৈবকৃত অ্যালগোরিদমের আচরণ নির্ধারণে পরীক্ষা-নিরীক্ষা ব্যাপক সাহায্য করেছে। এছাড়াও পরীক্ষার মাধ্যমে সমান্তরাল ও বিতরণকৃত অ্যালগোরিদমের কর্মদক্ষতা সম্পর্কে অন্তর্দৃষ্টি লাভ করা সম্ভব হয়েছে।
অ্যালগোরিদম ও উপাত্ত সংগঠন এলাকায় আলোচিত বিষয়গুলির মধ্যে আছে:
প্রাথমিক অ্যালগোরিদম বিশ্লেষণ: জটিলতার ঊর্ধ্ব ও গড় সীমার অসীমতটীয় বিশ্লেষণ; সর্বোৎকৃষ্ট, গড় ও সর্বনিকৃষ্ট আচরণের পার্থক্য; বৃহৎ ওমেগা, ক্ষুদ্র ওমেগা, ওমেগা ও থেটা লিখনপদ্ধতি, আদর্শ জটিলতা শ্রেণীসমূহ, কর্মদক্ষতার অভিজ্ঞতাবাদী পরিমাপ, অ্যালগোরিদমের সময় ও স্থান-বিষয়ক মূল্য, পুনরাবর্ত অন্বয় ব্যবহার করে পুনরাবৃত্তিমূলক অ্যালগোরিদম বিশ্লেষণ
ব্রুট-ফোর্স অ্যালগোরিদম, লোভী অ্যালগোরিদম, বিভাজন-ও-বিজয়, পশ্চাদপসরণ, শাখায়ন-ও-বন্ধন, অভিজ্ঞতাভিত্তিক নিয়ম, বিন্যাস মিলানো অ্যালগোরিদম, স্ট্রিং অ্যালগোরিদম, সাংখ্যিক আসন্নীকরণ অ্যালগোরিদম।
সাংখ্যিক অ্যালগোরিদম, ধারাবাহিক ও বাইনারি অনুসন্ধান অ্যালগোরিদম, দ্বিঘাত সর্টিং অ্যালগোরিদম (বাছাই, অনুপ্রবেশ), O(NlogN) অ্যালগোরিদম (কুইকসর্ট, হিপসর্ট, মার্জসর্ট), হ্যাশ টেবিল (সংঘর্ষ এড়ানোর কৌশল), বাইনারি অনুসন্ধান বৃক্ষ, গ্রাফের উপস্থাপন (সংলগ্নতা তালিকা, সংলগ্নতা মেট্রিক্স), গভীরতা-ভিত্তিক ও প্রস্থ-ভিত্তিক বিচরণ, ক্ষুদ্রতম পথ অ্যালগোরিদম (ডিয়েকস্ট্রা ও ফ্লয়েডের অ্যালগোরিদসমূহ), অনুবর্তী আবদ্ধতা, সর্বনিম্ন প্রজনন বৃক্ষ (প্রিম ও ক্রুস্কালের অ্যালগোরিদমসমূহ), টপোগাণিতিক সর্ট।
বিতরণকৃত অ্যালগোরিদম, ঐকমত্য এবং নির্বাচন, সমাপ্তি নিরূপন, ত্রুটি সহনশীলতা, স্থিতিশীলকরণ।
গণনীয়তা, সসীম অবস্থা যন্ত্র, প্রসঙ্গমুক্ত ব্যাকরণ, নিয়ন্ত্রণযোগ্য ও অনিয়ন্ত্রণযোগ্য সমস্যা, অগণনীয় ফাংশন, বিরতি সমস্যা।
পি এবং এনপি শ্রেণী, এনপি-সম্পূর্ণতা, আদর্শ এনপি-সম্পূর্ণ সমস্যাসমূহ, লঘুকরণ কৌশল।
স্বয়ংক্রিয়া তত্ত্ব, নিষ্পত্তিমূলক সসীম স্বয়ক্রিয় যন্ত্র, অ-নিষ্পত্তিমূলক সসীম স্বয়ংক্রিয় যন্ত্র, নিয়মিত এক্সপ্রেশন, পাম্পিং সহায়িকা, নিম্নগামী স্বয়ংক্রিয়ক, টুরিং যন্ত্র, নিয়মিত ভাষা, চম্‌স্কি অনুক্রম, চার্চ-টুরিং বিবৃতি।
প্রাগসর অ্যালগোরিদম বিশ্লেষণ: অ্যামর্টাইজ্‌ড বিশ্লেষণ, অনলাইন ও অফলাইন অ্যালগোরিদম, দৈবকৃত অ্যালগোরিদম, ডায়নামিক প্রোগ্রামিং, গুচ্ছবিন্যাসীয় সর্বানুকূলীকরণ।
তথ্যগুপ্তিবিদ্যা-সংক্রান্ত অ্যালগোরিদম: ব্যক্তিগত-চাবি তথ্যগুপ্তি, চাবি-হস্তান্তর সমস্যা, উন্মুক্ত-চাবি তথ্যগুপ্তি, ডিজিটাল স্বাক্ষর, নিরাপত্তা প্রোটোকল, শূন্য-জ্ঞান প্রমাণ, বৈধতা নির্ণয়।
জ্যামিতিক অ্যালগোরিদম: রেখাংশের ধর্ম, ছেদ, উত্তল হাল অনুসন্ধান অ্যালগোরিদম
সমান্তরাল অ্যালগোরিদম: প্র্যাম মডেল, এক্সক্লুসিভ/কনকারেন্ট রিড/রাইট, পয়েন্টার লাফানো, ব্রেন্টের উপপাদ্য।
*প্রোগ্রামিং ভাষাসমূহ
অ্যালগোরিদম ও উপাত্ত সংগঠনগুলো কম্পিঊটারে বাস্তবায়িত করার জন্য সফ্‌টওয়্যার প্রকৌশলীরা প্রোগ্রাম রচনা করেন। এই প্রোগ্রামগুলো লিখতে গিয়ে তাঁরা যেসব কৃত্রিম ভাষার সাহায্য নেন, তাদেরকে প্রোগ্রামিং ভাষা বলা হয়। মানুষের মুখের স্বাভাবিক ভাষা দ্ব্যর্থবোধক এবং এ ভাষার পদসংগঠন ও শব্দার্থ বহুভাবে অনুধাবন করা যায়, তাই এটি প্রোগ্রাম লেখার জন্য উপযুক্ত নয়। এর পরিবর্তে সরল ও দ্ব্যর্থহীন কৃত্রিম প্রোগ্রামিং ভাষার আশ্রয় নেয়া হয়। কম্পিউটার বিজ্ঞানীরা এমন প্রোগ্রামিং ভাষা উদ্ভাবনের চেষ্টা করেন, যা দিয়ে সহজে প্রোগ্রাম লেখা যায় এবং প্রোগ্রামে ভুলের পরিমাণ কম হয়। প্রোগ্রামিং ভাষাগুলোকে যন্ত্রের ভাষায় ভাষান্তরিত করে নিতে হয়, যাতে কম্পিউটার প্রোগ্রামের নির্দেশগুলো পালন করতে পারে। কম্পিউটার বিজ্ঞানীরা আরও ভাল ভাষান্তরকরণ অ্যালগোরিদম বের করার চেষ্টা করেন, যাতে যন্ত্রের ভাষায় ভাষান্তরিত প্রোগ্রামগুলো আরও দক্ষভাবে সম্পাদন করা যায়।
কম্পিউটার বিজ্ঞানের একেবারে আদি পর্যায়ে বাইনারী সংখ্যাভিত্তিক যান্ত্রিক ভাষায় (machine language) কম্পিউটারের হার্ডওয়্যারকে নির্দেশ দেয়া হত। এরপর কাজের সুবিধার জন্য প্রথম যেসব প্রোগ্রামিং ভাষা তৈরি করা হয়, তাদের নাম অ্যাসেম্বলি ভাষা। এগুলি যান্ত্রিক ভাষা থেকে খুব একটা বেশি পৃথক ছিল না। ১৯৫০-এর দশক থেকে ব্যবহারকারীরা আরও স্বাচ্ছন্দ্যদায়ী প্রোগ্রামিং ভাষা লেখা শুরু করেন। এদের মধ্যে ফোরট্রান ভাষাটি ছিল অন্যতম। ফোরট্রান প্রোগ্রামারদেরকে গাণিতিক অপারেশন ছাড়াও বীজগাণিতিক এক্সপ্রেশন লেখার সুযোগ দেয়। ১৯৬০-এর দশকে ফোরট্রানের একটি সরলীকৃত সংস্করণ বেসিক তৈরি করা হয়, এবং এটি নতুনদের শেখার জন্য প্রথম প্রোগ্রামিং ভাষা হিসেবে স্কুল-কলেজে ব্যাপক জনপ্রিয়তা লাভ করে। ফোরট্রান উদ্ভাবনের কাছাকাছি সময়ে আরেকটি ভাষা কোবোল তৈরি করা হয়, যেটি সাধারণ ব্যবসায়িক রেকর্ড, নথিপত্র, ও অন্যান্য ব্যাবসায়িক প্রক্রিয়া দেখাশোনা করার জন্য ব্যবহার করা হয়।
কোবোল ও ফোরট্রান এবং এদের উত্তরসূরী প্যাসকাল ও সি হল নির্দেশমূলক ভাষা (Imperative language)। অর্থাৎ এগুলোতে কম্পিউটারকে কতগুলি প্রত্যক্ষ নির্দেশ দেয়ার মাধ্যমে কাজ করানো হয়; এটা যান্ত্রিক ভাষার সাথে অনেকটাই তুলনীয়। এই ধারার আরও দুটি ভাষা হল অ্যাডা ও অ্যালগল। এছাড়াও আরেক ধরনের ভাষা আছে যেগুলি ফাংশনভিত্তিক (Functional), অর্থাৎ প্রোগ্রামের ভিতরের অংশবিশেষ বা ফাংশন কল করে প্রোগ্রামিং-এর লক্ষ্য পূরণ করা হয়। ফাংশনভিত্তিক ভাষার মধ্যে সবচেয়ে পরিচিত হচ্ছে লিস্প; এমএল ও হ্যাস্কেল-ও ফাংশনভিত্তিক ভাষা। পরবর্তীতে বস্তু-সংশ্লিষ্ট (Object Oriented অব্জেক্ট-ওরিয়েন্টেড) ভাষা উদ্ভাবন করা হয় যেখানে উপাত্ত ও মেথড আধারে আবৃত করা হয়, এবং এই আধারকে বলা হয় অবজেক্ট বা বস্তু। এই ধারায় একাধিক অবজেক্টের মধ্যে বার্তা আদানপ্রদান করে প্রোগ্রামিঙের লক্ষ্য পূরণ করা হয়। স্মলটক, সি++, আইফেল, ভিজুয়াল বেসিক, জাভা, ইত্যাদি বস্তু-সংশ্লিষ্ট ভাষার উদাহরণ। এছাড়াও আছে উপাত্ত-প্রবাহ (Dataflow ডাটাফ্লো) ভাষা যেমন সিসাল, ভাল, ইদ নুভো, লজিক প্রোগ্রামিং ভাষা যেমন প্রোলগ, স্ট্রিং প্রসেসিং ভাষা যেমন - স্নোবল ও আইকন, এবং সহবর্তমানতাভিত্তিক (concurrency-based) প্রোগ্রামিং ভাষা যেমন - কনকারেন্ট প্যাসকাল, অকাম, এসআর, মডুলা-৩।
প্রোগ্রামিং ভাষার তত্ত্বে আলোচিত বিষয়গুলির মধ্যে রয়েছে:
উপাত্ত টাইপ, অপারেশন, অপেরান্ড, নিয়ন্ত্রণ কাঠামোসমূহ, সম্প্রসারণযোগ্য ভাষাকৌশল যার সাহায্যে নতুন উপাত্ত টাইপ ও অপারেশন সৃষ্টি করা যায়।
উচ্চস্তরের ভাষা থেকে মেশিন ভাষায় অনুবাদ, কম্পাইলার, ভাষা প্রক্রিয়াকারক।
বিমূর্তায়ন, সিনট্যাক্স বা অন্বয়তত্ত্ব, সেমান্টিক্‌স বা অর্থবিজ্ঞান, প্র্যাগম্যাটিক্‌স বা প্রয়োগতত্ত্ব।
ব্যাকরণ, বিধিগত ভাষাসমূহ, স্বয়ংক্রিয়ক তত্ত্ব, টুরিং যন্ত্র, ল্যাম্‌ডা ক্যালকুলাস, পাই ক্যালকুলাস, বিধেয়মূলক যুক্তিবিজ্ঞান।
নিয়মিত এক্সপ্রেশন, টাইপ তত্ত্ব, চম্‌স্কি স্তরক্রম
স্থির টাইপিং, চলমান টাইপিং
ফাংশনভিত্তিক প্রোগ্রামিং, পদ্ধতিভিত্তিক প্রোগ্রামিং, বস্তু-সংশ্লিষ্ট প্রোগ্রামিং, যুক্তি নির্ধারণ, উপাত্ত ধারা।
*কম্পিউটার স্থাপত্য
কম্পিউটার বিজ্ঞানের প্রাণকেন্দ্রে অবস্থিত কম্পিউটার নামের যন্ত্র। কম্পিউটার না থাকলে কম্পিউটার বিজ্ঞান গণিতের একটি তাত্ত্বিক শাখা হয়ে থাকত। কম্পিউটার বিজ্ঞানীদেরকে তাই কম্পিউটারের বিভিন্ন অংশ, তাদের কাজ ও পারস্পরিক মিথস্ক্রিয়া সম্পর্কে ধারণা রাখতে হয়। কম্পিউটার স্থাপত্য সম্পর্কে ধারণা থাকলে কোন প্রোগ্রামের কাঠামো যাতে এটি একটি একটি বাস্তব মেশিনে দ্রুত নির্বাহ করা যায়। কোন কাজের জন্য কম্পিউটার নির্বাচনের ক্ষেত্রে সিপিইউ ক্লকের দ্রুতি, মেমরির আকার, ইত্যাদি ব্যাপার বুঝতেও কম্পিউটার স্থাপত্যের জ্ঞান কাজে আসে।
কম্পিউটার স্থপতিরা নতুন নতুন কম্পিউটার ব্যবস্থা ডিজাইন ও বিশ্লেষণ করেন। তাঁরা কম্পিউটারের গতি, সংরক্ষণ ক্ষমতা ও নির্ভরযোগ্যতা কীভাবে বাড়ানো যায় এবং খরচ ও শক্তির ব্যবহার কীভাবে কমানো যায়, তা নিয়ে গবেষণা করেন। এ কাজে তাঁরা হার্ডওয়্যার ও সফটওয়্যার মডেলের সাহায্য নেন। অনেক ক্ষেত্রেই তাঁরা কম্পিউটার হার্ডওয়্যার প্রকৌশলীদের সাথে মিলে নতুন কম্পিউটার বানানোয় অংশ নেন, কেননা তাদের স্থাপত্য মডেলগুলো অনেকাংশেই কম্পিউটারের বর্তনীবিন্যাসের ওপর নির্ভর করে। অনেক কম্পিউটার স্থপতি বিশেষায়িত প্রয়োগ যেমন ছবি প্রক্রিয়াকরণ, সিগনাল প্রক্রিয়াকরণ, ইত্যাদির জন্য কম্পিউটার ডিজাইন করেন, যাতে বেশি কর্মক্ষমতা, নিম্ন দাম কিংবা উভয়ই সম্ভব হয়। কম্পিউটার স্থাপত্যে আলোচিত বিষয়গুলির মধ্যে রয়েছে:
ডিজিটাল যুক্তিবিজ্ঞান: বুলিয়ান বীজগণিত, লজিক গেট, ফ্লিপ ফ্লপ, কাউন্টার, রেজিস্টার, পিএলএ, লজিক এক্সপ্রেশন, লঘিষ্ঠকরণ, গুণফলের সমষ্টি রূপ, রেজিস্টার স্থানান্তর লিপিপদ্ধতি, গেট বিলম্ব, ফ্যান-ইন, ফ্যান-আউট।
যান্ত্রিক স্তরে উপাত্তের উপস্থাপন: বিট, বাইট, ওয়ার্ড, সংখ্যার উপস্থাপন (বাইনারি, অক্টাল, হেক্সাডেসিমাল) ও ভিত্তি, স্থিরবিন্দু, ভাসমান বিন্দু, চিহ্নিত উপস্থাপন, ২-এর পূরক উপস্থাপন, ক্যারেক্টার কোড, গ্রাফিকাল উপাত্ত, রেকর্ড, অ্যারে।
অ্যাসেম্বলি স্তর: ভন নিউম্যান যন্ত্র, নিয়ন্ত্রণ ইউনিট, নির্দেশ আনয়ন, বিসংকেতায়ন, এবং নির্বাহকরণ, অ্যাসেম্বলি ভাষা প্রোগ্রামিং, নির্দেশ ফরম্যাট, অ্যাড্রেসিং মোড, সাবরুটিন কল ও রিটার্ন, ইনপুট-আউটপুট, ইন্টেরাপ্টমেমরি: স্টোরেজ ব্যবস্থা, কম্পিউটার মেমরি, কোডিং তত্ত্ব, উপাত্ত সংকোচন, উপাত্ত শুদ্ধতা, মেমরি স্তরক্রম, বিলম্ব, চক্রকাল, ব্যান্ডউইডথ, ইন্টারলিভিং, ক্যাশ মেমরি, ভার্চুয়াল মেমরি।রিস্ক, সিস্ক, ত্রুটি চিহ্নিতকারী ও সংশোধনকারী কোড, কম্পিউটার-সহায়িত ডিজাইন।পাইপলাইন, বহুপ্রসেসর।
*অপারেটিং সিস্টেম
অপারেটিং সিস্টেম হল কম্পিউটারের সার্বিক পরিচালনায় নিয়োজিত বিশেষ প্রোগ্রামসমষ্টি বা সফটওয়্যার। অপারেটিং সিস্টেম ব্যবহারকারী ও কম্পিউটারের হার্ডওয়্যারের মধ্যকার যোগসূত্র (interface) প্রদান করে, কম্পিউটারের স্মৃতিতে অন্যান্য অ্যাপ্লিকেশন প্রোগ্রাম স্থাপন করতে সাহায্য করে, কম্পিউটার কীভাবে অ্যাপ্লিকেশনগুলি চালাবে তা দেখাশোনা করে, কম্পিউটারের বিভিন্ন সম্পদ (resource), যেমন - ডিস্ক পরিসর (disk space) ব্যবস্থাপনায় সাহায্য করে, অননুমোদিত ব্যবহার থেকে কম্পিউটারকে রক্ষা করে, এবং সংরক্ষিত উপাত্তের নিরাপত্তা নিশ্চিত করে। সাম্প্রতিক বছরগুলিতে অপারেটিং সিস্টেম ও তাদের সাথে সম্পর্কিত বিমূর্তায়নগুলি সাধারণ অ্যাপ্লিকেশন সফটওয়্যারের তুলনায় জটিলতর রূপ পেয়েছে।
কম্পিউটার বিজ্ঞানীরা কীভাবে অপারেটিং ব্যবস্থা আরও সহজে ব্যবহার করা যায়, সংবেদনশীল উপাত্তের ব্যবহারাধিকার প্রতিরোধ করে কীভাবে অন্যান্য উপাত্ত অংশীদারযোগ্য করা যায়, কীভাবে কম্পিউটারের স্মৃতি ও সময়ের আরও দক্ষ ব্যবহার করা যায়, তার চেষ্টা করেন।
*কম্পিউটার নেটওয়ার্ক
একাধিক কম্পিউটার সংযুক্ত হলে একটি কম্পিউটার নেটওয়ার্ক গঠিত হয়। নেটওয়ার্কের কম্পিউটারগুলি কীভাবে একে অপরের সাথে যোগাযোগ স্থাপন করে ও তথ্যের আদান-প্রদান সম্পাদন করে, তার বিভিন্ন প্রোটোকল নিয়ে কম্পিউটার বিজ্ঞানীরা গবেষণা করেন। এ ব্যাপারে তাঁরা টেলিযোগাযোগ, তথ্য প্রযুক্তি ও হার্ডওয়্যার প্রকৌশল ক্ষেত্রগুলি থেকে অনেক তাত্ত্বিক ও ব্যবহারিক সাহায্য নেন। ল্যান, ওয়্যান, তারহীন (ওয়্যারলেস) নেটওয়ার্ক --- এই তিন ধরনের নেটওয়ার্কই বেশি দেখা যায়। ইন্টারনেট বিশ্বের সর্ববৃহৎ কম্পিউটার নেটওয়ার্ক।
কম্পিউটার বিজ্ঞানীরা পুরানো নেটওয়ার্কসমূহ ও ইন্টারনেটের বিবর্তন অধ্যয়ন করেন। তাঁরা বিভিন্ন নেটওয়ার্ক অ্যাপ্লিকেশন যেমন ইমেইল, টেলনেট, এফটিপি, নিউজগ্রুপ, ওয়েব ব্রাউজার, ইন্সট্যান্ট মেসেজিং, ইত্যাদি কীভাবে কাজ করে তার সম্পর্কে জ্ঞানলাভ করেন। তারা নেটওয়ার্ক স্থাপত্যের স্তরক্রমিক গঠন ও বিভিন্ন নেটোওয়ার্ক স্টান্ডার্ড বা মান সম্পর্কে সম্যক ধারণা অর্জন করেন। তাঁরা আধুনিক উদীয়মান নেটওয়ার্ক প্রযুক্তিগুলির উপযোগিতা, ভবিষ্যৎ সম্ভাবনা ও সীমা সম্পর্কেও ওয়াকিবহাল। কম্পিউটার নেটওয়ার্ক সম্পর্কে অধীত বিষয়গুলির মধ্যে আছে:
বিভিন্ন নেটওয়ার্ক আদর্শ ও নেটওয়ার্ক প্রোটোকলসমূহ।
সার্কিট সুইচিং ও প্যাকেট সুইচিং
ট্রান্সমিশন ত্রুটি শনাক্তকরণ ও দূরীকরণ।
রাউটারের মাধ্যমে কীভাবে একটি প্যাকেট নেটওয়ার্কে পরিভ্রমণ করে।
নেটওয়ার্ক নিরাপত্তা সম্পর্কিত বিভিন্ন বিষয় যেমন - পাবলিক-কী তথ্যগুপ্তি, প্রাইভেট-কী তথ্যগুপ্তি, এবং এ সংক্রান্ত অ্যালগোরিদমগুলির বাস্তবায়ন।
বিভিন্ন ওয়েব প্রযুক্তি: সার্ভার-সাইড প্রোগ্রাম ও ক্লায়েন্ট-সাইড স্ক্রিপ্ট, ওয়েব প্রোটোকলসমূহ, ওয়েবসাইট ও ওয়েব অ্যাপ্লিকেশন নির্মাণ, ডাটাবেস-চালিত ওয়েবসাইট, ইত্যাদি।
নেটওয়ার্ক ব্যবস্থাপনা: কম্পিউটার ভাইরাস, ওয়ার্ম, ট্রোজান হর্স, ডিনাইয়াল-অফ-সার্ভিস আক্রমণ, নেটওয়ার্ক ফায়ারওয়াল
বড় আকারের অডিও ও ভিডিও ফাইল সংকোচন ও প্রসারণের কৌশল ও অ্যালগোরিদমসমূহ, নেটওয়ার্ক দিয়ে মাল্টিমিডিয়া আদানপ্রদানের বিভিন্ন স্টান্ডার্ড বা আদর্শ।
ওয়্যারলেস বা তারহীন নেটওয়ার্ক-সংক্রান্ত বিভিন্ন প্রোটোকল, স্ট্যান্ডার্ড ও এগুলির মধ্যে কম্প্যাটিবিলিটি; মোবাইল আইপ ও সাধারণ আইপি-র পার্থক্য, মিডলওয়্যার ও ওয়ারলেস যোগাযোগের জন্য বিশেষ অ্যাপ্লিকেশন সফটওয়্যারের প্রকৃতি।
*সফটওয়্যার প্রকৌশল
ব্যবহারকারী ও ক্রেতাদের চাহিদা মিটিয়ে কীভাবে দক্ষ ও কার্যকরী উপায়ে সফটওয়্যার ব্যবস্থাসমূহ নির্মাণ করা যায়, সফটওয়্যার বিজ্ঞানে সে-সম্পর্কিত তত্ত্ব ও কৌশল আলোচিত হয়। সফটওয়্যার প্রকৌশলীরা সঠিক, নির্ভরযোগ্য ও সহজে ভেঙ্গে পড়ে না, এমন প্রোগ্রাম তৈরির পদ্ধতি ও কলাকৌশল নিয়ে গবেষণা করেন। এতে সফটওয়্যারের জীবনচক্রের সমস্ত দশা, যথা - বিধিগত পদ্ধতিতে সমস্যার বিবরণ তৈরি, সমাধানের ডিজাইন তৈরি, প্রোগ্রাম আকারে সমাধানটির বাস্তবায়ন, প্রোগ্রামটির ভুলত্রুটি পরীক্ষা, ও প্রোগ্রামটির রক্ষণাবেক্ষণ - এই সব কিছু আলোচনা করা হয়। সফটওয়্যার প্রকৌশলীরা প্রোগ্রামিং পরিবেশ নামের হাতিয়ার-সংগ্রহ বানিয়ে থাকেন, যার সাহায্যে দ্রুত ও উন্নত উপায়ে প্রোগ্রাম লেখা যায়।
সফটওয়্যার বিজ্ঞানীরা প্রকৌশলের বিভিন্ন পদ্ধতি, প্রক্রিয়া, কলাকৌশল ও পরিমাপ পদ্ধতি প্রয়োগ করেন। সফটওয়্যার উন্নয়ন প্রক্রিয়া ব্যবস্থাপনা, সফটওয়্যারের বিভিন্ন অংশ বিশ্লেষণ ও মডেল তৈরিকরণ, মান যাচাই ও নিয়ন্ত্রণ, সফটওয়্যারের বিবর্তন ও পুনর্ব্যবহার নিশ্চিতকরণ ইত্যাদি সংক্রান্ত বিভিন্ন সরঞ্জাম ও উপকরণ তারা ব্যবহার করেন। কোন্‌ শরনের সফটওয়ার উন্নয়নে কোন্‌ ধরনের সরঞ্জাম, পদ্ধতি ও দৃষ্টিভঙ্গি সবচেয়ে বেশি প্রযোজ্য, তা যাচাই-বাছাইয়ের কাজও করে থাকেন তারা। কম্পিউটার অ্যাপ্লিকেশন উন্নয়নের যেসব ক্ষেত্রে পেশাদারিত্ব, মান, শিডিউল ও ব্যয়ের গুরুত্ব বেশি, সেসমস্ত ক্ষেত্রে সফটওয়্যার প্রকৌশল অবশ্য-প্রয়োজনীয়।
*ডাটাবেস ও তথ্য আনয়ন ব্যবস্থাসমূহ
কীভাবে বিপুল পরিমাণ স্থায়ী ও অংশীদারযোগ্য উপাত্ত সুবিন্যস্ত করা যায়, যাতে এগুলো দক্ষভাবে ব্যবহার করা যায় ও হালনাগাদ করা যায়, তা-ই এই শাখার আলোচ্য। ডাটাবেস (database) হচ্ছে একাধিক রেকর্ডের সমষ্টি যা বিভিন্ন উপায়ে অনুসন্ধান ও হালনাগাদ করা যায়।
তথ্য আনয়ন ব্যবস্থা (information retrieval system) বলতে এক ধরনের ডকুমেন্ট-সমষ্টিকে বোঝায় যে ডকুমেন্টগুলো পরিষ্কারভাবে বিন্যস্ত নয়,অথচ এগুলো থেকে বিভিন্ন ধরনের তথ্য বা উপাত্ত অনুসন্ধান করা প্রয়োজন,যেমন - কোন সংবাদপত্রে প্রকাশিত বহু নিবন্ধের সমষ্টি। কম্পিউটার বিজ্ঞানীরা এই ডকুমেন্টগুলো থেকে উপাত্তের নির্ঘণ্ট (index) বের করার অ্যালগোরিদম রচনা করেন। নির্ঘণ্ট রচনার পর এগুলো থেকে সহজে উপাত্ত ও তথ্য আনয়নের জন্য বিভিন্ন ধরনের কৌশল প্রয়োগ করা হয়। তথ্য আনয়ন ব্যাবস্থার সাথে সম্পর্কিত আরেকটি ক্ষেত্র হচ্ছে উপাত্ত খনন (data mining), যেখানে বিপুল পরিমাণ উপাত্তের মধ্য থেকে বিভিন্ন বিন্যাস (pattern) শনাক্ত করার উপায়গুলো বের করা হয়; এই শনাক্তকৃত বিন্যাসগুলো পরবর্তীতে সংশ্লিষ্ট ক্ষেত্রে নানা সিদ্ধান্ত গ্রহনে সাহায্য করে।
ডাটাবেস ও আনয়ন ব্যবস্থাসমূহের গবেষণায় যে সমস্ত তত্ত্ব প্রয়োগ করা হয়, তাদের মধ্যে আছে সাম্পর্কিক বীজগণিত (relational algebra), সাম্পর্কিক ক্যালকুলাস (relational calculus), সহবর্তমানতা তত্ত্ব (concurrency theory), ক্রমায়নযোগ্য আদান-প্রদান (serialiable transaction), ডেডলক প্রতিরোধ (deadlock prevention), সময়-সামঞ্জস্যীকৃত হালনাগাদ (synchronized upadte), নিয়ম-ভিত্তিক সিদ্ধান্তগ্রহণ (rule-based inference), বিন্যস্তকরণ (sorting), অনুসন্ধান (searching), নির্ঘণ্ট তৈরিকরণ (indexing), কর্মদক্ষতা বিশ্লেষণ (performance analysis), তথ্যের গোপনীয়তা (information privacy) ও তথ্য ব্যবহারকারীর পরিচয় যাচাইকরণ (authentication)।
উপাত্তের যৌক্তিক গঠন ও বিভিন্ন উপাত্ত উপাদানের মধ্যে সম্পর্ক বোঝার জন্য বিভিন্ন উপাত্ত মডেল ব্যবহার করা হয়, যেমন - বস্তুভিত্তিক, রেকর্ডভিত্তিক ও বস্তু-সাম্পর্কিক।
*প্রাতিষ্ঠানিক তথ্যবিজ্ঞান
প্রতিষ্ঠানের কর্মপ্রক্রিয়ায় এবং প্রতিষ্ঠানের কর্মচারীদের মধ্যে পারস্পরিক সমঝোতায় সহায়তাকারী তথ্যব্যবস্থাসমূহ প্রাতিষ্ঠানিক তথ্যবিজ্ঞানের আলোচ্য বিষয়। বিশ্ববাজারে সাফল্য লাভের জন্য যেকোন বাণিজ্যিক প্রতিষ্ঠানে তথ্যব্যবস্থার ব্যবহার অপরিহার্য। যেহেতু প্রাতিষ্ঠানিক কাজকর্ম মানুষেরা করে থাকেন, তাই তথ্যব্যবস্থাসমূহের ডিজাইনের সময় মানুষের কর্মপদ্ধতি সম্পর্কে গভীর ধারণা থাকা প্রয়োজন। অন্যদিকে কম্পিউটার বিজ্ঞানের নানা তত্ত্ব প্রাতিষ্ঠানিক সুবিন্যস্তকরণ প্রক্রিয়ায় সাহায্য করতে পারে। সিদ্ধান্ত বিজ্ঞান, ব্যবস্থাপনা, বাজারজাতকরণ, নৃবিজ্ঞান, বোধ বিজ্ঞান, মনোবিজ্ঞান, প্রাতিষ্ঠানিক গতিবিদ্যা, ইত্যাদি সবই কর্মক্ষেত্রে মানুষের আচরণ অনুধাবনে সহায়তা করে, এবং এই-সংক্রান্ত বেশির ভাগ তত্ত্বই কম্পিউটার মডেল, বিমূর্তায়ন ও সিমুলেশনে ব্যবহার করে পূর্বাভাস বের করতে কাজে লাগানো হয়।
*জীব-তথ্যবিজ্ঞান
জীব-তথ্যবিজ্ঞান কম্পিউটার বিজ্ঞান ও জীববিজ্ঞানের সমন্বয়ে গঠিত একটি নতুন আন্তঃশাস্ত্রীয় ক্ষেত্র। এই ক্ষেত্রের বিজ্ঞানীরা এমন সব মডেল ও স্থাপত্য নিয়ে কাজ করছেন যেগুলো কম্পিউটিং, জীববিজ্ঞান ও চিকিৎসাবিজ্ঞানে বিপ্লব আনতে পারে। ডিএনএ রসায়ন ব্যবহার করে গুচ্ছবিন্যাসতাত্ত্বিক সমস্যার সমাধান করা হয়েছে। স্ট্রিং বিশ্লেষক অ্যালগোরিদম ব্যবহার করে মনুষ্য জিনোম প্রকল্পের বিরাট ডাটাবেস খুঁজে খুঁজে বিভিন্ন খণ্ডাংশের সমন্বয়ে মানুষের পূর্ণাঙ্গ জিনোম পাওয়া গেছে। কম্পিউটার স্থাপত্যবিদ ও চিকিৎসকেরা একসাথে বিভিন্ন কৃত্রিম জীব-যান্ত্রিক বা বায়োনিক অঙ্গ-প্রত্যঙ্গ তৈরি করছেন। জিন প্রকৌশলে কম্পিউটার বিশ্লেষণ ব্যবহার করে রোগ প্রতিষেধক এনজাইমের সঠিক রাসায়নিক গঠন বের করা হচ্ছে। এমনকি বর্তমানে কম্পিউটারে ব্যবহৃত স্মৃতির চেয়ে বহুগুণ বেশি ধারণক্ষমতাসম্পন্ন নতুন ধরনের জৈব স্মৃতি নিয়েও গবেষণা চলছে।
*কৃত্রিম বুদ্ধিমত্তা
মানুষের বুদ্ধিমত্তা ও ইন্দ্রিয়ের কার্যপদ্ধতি কীভাবে কম্পিউটার ও যন্ত্রের সাহায্যে অনুকরণ করা যায়, তা কৃত্রিম বুদ্ধিমত্তা শাখার আলোচ্য বিষয়। বুদ্ধিমত্তা সম্পর্কে আমাদের ধারণা আরও উন্নত করার জন্য এই শাখায় মানুষের আচরণের কম্পিউটার মডেল তৈরি করা হয়। কৃত্রিম বুদ্ধিমত্তা শাখার বিভিন্ন উপশাখার মধ্যে রয়েছে যন্ত্র শিখন (machine learning), সিদ্ধান্ত উপনয়ন (inference), বোধন (cognition), জ্ঞান উপস্থাপন (knowledge representation), সমস্যা সমাধান (problem solving), ঘটনাভিত্তিক যুক্তিপ্রদান (case based reasoning), স্বাভাবিক ভাষা অনুধাবন (natural language understanding), উক্তি শনাক্তকরণ (speech recognition), কম্পিউটার দৃষ্টি (computer vision), কৃত্রিম নিউরাল নেটওয়ার্ক (artificial neural network), ইত্যাদি।
*রোবটবিজ্ঞান
রোবট বা কম্পিউটার নিয়ন্ত্রিত যন্ত্রসমূহ ডিজাইন ও উৎপাদন সংক্রান্ত বিদ্যা হল রোবটবিজ্ঞান। খেলনা রোবট কিংবা কারখানায় ব্যবহৃত স্বয়ংক্রিয় পণ্য নির্মাণ ব্যবস্থা - এ সবই রোবটবিজ্ঞানের আওতাভুক্ত। রোবট বানানোর অন্যতম উদ্দেশ্য মানুষকে পুনরাবৃত্তিমূলক, বিপজ্জনক ও কঠোর পরিশ্রমের কাজ থেকে রেহাই দেওয়া এবং যেসব কাজে দ্রুতি, নির্ভুলতা ও পরিচ্ছন্নতা জরুরি, সেগুলো রোবটকে দিয়ে করিয়ে নেওয়া। রোবটবিজ্ঞানীরা রোবটের ভৌত বিশিষ্ট্য নির্ধারণ, রোবটের কাজের পরিবেশের মডেল বানানো, রোবটের কর্মপন্থা নির্ধারণ, রোবটের যান্ত্রিক কর্মকৌশলের দক্ষতা বৃদ্ধি, রোবটের আচরণ ও মানুষের নিরাপত্তা, ইত্যাদি নিয়ে গবেষণা করেন। তাঁরা রোবট নিয়ন্ত্রক প্রোগ্রাম লেখেন, এই প্রোগ্রাম কীভাবে সরল করা যায় তার চেষ্টা করেন এবং সেন্সরের ব্যবহারের মাধ্যমে নিয়ন্ত্রক প্রোগ্রামের কাছে ফিডব্যাক প্রদানের ব্যবস্থা করেন। তাঁরা রোবটদেরকে দিয়ে কীভাবে মানুষের মত কোন কিছু সুচারুভাবে সম্পাদন করা ও পরিবেশের সাথে মানিয়ে চলার ক্ষমতা অনুকরণ করানো যায়, তা নিয়েও গবেষণা করেন, এবং কৃত্রিম বুদ্ধিমত্তা শাখার বিজ্ঞানীদের সাথে এ নিয়ে মিলিতভাবে কাজ করেন।
*কম্পিউটার গ্রাফিক্‌স
ভৌত এবং কাল্পনিক বস্তু ও তাদের গতি দ্বিমাত্রিক পর্দা বা ত্রিমাত্রিক হলোগ্রামে কম্পিউটারের মাধ্যমে প্রদর্শনের গবেষণাকে কম্পিউটার গ্রাফিক্‌স বলা হয়। কীভাবে দক্ষভাবে স্বয়ংক্রিয় উপায়ে বস্তুসমূহের ছবি তৈরি করা যায়, কীভাবে বাস্তব সময়ে (real time) জটিল বস্তুসমূহের চলন পর্দায় দেখানো যায়, কীভাবে তথ্যসেটসমূহ প্রদর্শন করা যায় যাতে মানুষের বুঝতে সুবিধা হয়, কীভাবে সিমুলেশন তৈরি করা যায় যাকে বাস্তব থেকে আলাদা করতে কষ্ট করতে হয়, ইত্যাদি এই শাখার আলোচ্য বিষয়।
কম্পিউটার গ্রাফিক্‌স গণিতের গণনামূলক জ্যামিতি শাখার প্রভূত সহায়তা নিয়ে থাকে। প্রদর্শন পর্দায় কীভাবে বস্তুসমূহের অভিক্ষেপ ফেলা যায়, অভিক্ষেপ থেকে লুকানো রেখাগুলি কী করে সরানো যায়, কীভাবে মসৃণতা, ছায়া, প্রতিফলন ও স্বচ্ছতা সৃষ্টি করা যায়, ইত্যাদি সংক্রান্ত নতুন নতুন অ্যালগোরিদম এ শাখায় উদ্ভাবন করার চেষ্টা করা হয়। জটিল প্রাকৃতিক দৃশ্যাবলীর অনুকরণ করার জন্য বিশৃঙ্খলা তত্ত্বের সাহায্য নেয়া হয়। পর্দায় আলোর রঙের ব্যাপারে রঙ তত্ত্বের সাহায্য নেয়া হয়। নমুনা তত্ত্ব ব্যবহার করে অবাঞ্ছিত কোলাহল দূর করে পরিচ্ছন্ন ছবি তৈরি করা হয়। এছাড়া রৈখিক বীজগণিত, পদার্থবিজ্ঞান, গাণিতিক বিশ্লেষণ, অরৈখিক ব্যবস্থা, এ সবই কম্পিউটার গ্রাফিক্‌সে কাজে আসে।
মনিটরের পর্দায় ছবি বা বর্ণ-সাংখ্যিক ক্যারেক্টার (Alphanumeric) দুই-ই প্রদর্শিত হতে পারে। কম্পিউটারের মেমরিতে যেকোন ছবি সাধারণত দুইভাবে সংরক্ষিত হতে পারে: র‌্যাস্টার গ্রাফিক্‌স ও ভেক্টর গ্রাফিক্‌স। র‌্যাস্টার গ্রাফিক্‌সে যেকোন ছবি অনেকগুলি বিন্দুসমষ্টির একটি মেট্রিক্স হিসেবে গণ্য করা হয়। প্রতিটি বিন্দুর রঙ, উজ্জ্বলতা ও অন্যান্য তথ্য মেমরিতে এক বা একাধিক বিট আকারে রক্ষিত থাকে। একেকটি ছবির জন্য এভাবে যে বিপুল সংখ্যক মেমরির প্রয়োজন হয়, তা দক্ষভাবে ব্যবহারের জন্য কম্পিউটার গ্রাফিক্‌সের বিশেষায়িত প্রোগ্রামগুলিতে বিশেষ ধরনের অ্যালগোরিদম ব্যবহার করা হয়। ভেক্টর গ্রাফিক্‌সে একটি ছবি অনেকগুলি রেখার সমষ্টি হিসেবে পরিগণিত হয়। প্রতিটি রেখা-সংক্রান্ত তথ্য মেমরিতে রক্ষিত থাকে। ৯০-এর দশক থেকে কম্পিউটার মনিটরে র‌্যাস্টার প্রযুক্তিই ব্যবহৃত হয়। এমনকি ভেক্টর প্রযুক্তিতে তৈরি ছবিও র‌্যাস্টারে পরিণত করে নেয়া হয়। র‌্যাস্টার পদ্ধতির সীমাবদ্ধতা হল এতে কোনাকুনি রেখাগুলি কাছ থেকে খাঁজ-কাটা দেখায়।
কম্পিউটার গ্রাফিক্‌সের ব্যবহার সবচেয়ে বেশি পরিলক্ষিত হয় বিনোদন শিল্পে। স্পেশাল ইফেক্ট, কম্পিউটার অ্যানিমেশন, সিমুলেশন, ইত্যাদি কম্পিউটার বিজ্ঞানের এই শাখার অবদান। কম্পিউটার গ্রাফিক্‌সের গবেষণা বেশ কিছু গ্রাফিক্‌স মান বা স্ট্যান্ডার্ডের জন্ম দিয়েছে যেমন GKS, PHIGS, VDI, ইত্যাদি। এছাড়াও রয়েছে মান প্রিণ্টার ভাষা যেমন- পোস্টস্ক্রিপ্ট। ওয়েব পেজে ভার্চুয়াল রিয়ালিটির জন্য মান ভাষা VRML সৃষ্টি করা হয়েছে। চিকিৎসকদের সাহায্য করার জন্য তৈরি করা হয়েছে ত্রিমাত্রিক ভিজুয়ালাইজার।
*মানুষ-কম্পিউটার মিথস্ক্রিয়া
মানুষ কীভাবে ইন্টারঅ্যাকটিভ অর্থাৎ মিথস্ক্রিয়াশীল বস্তুর সাথে আচরণ করে, তার উপর ভিত্তি করে মানুষের দ্বারা সহজে ব্যবহারযোগ্য সফটওয়্যার ডিজাইন, নির্মাণ ও মূল্যায়নের নীতিগুলি মানুষ-কম্পিউটার মিথস্ক্রিয়া নামের ক্ষেত্রে আলোচিত হয়। এর মধ্যে রয়েছে গ্রাফিকাল ইউজার ইন্টারফেস বা গুই ডিজাইন, মাল্টিমিডিয়া মিথস্ক্রিয়া, উক্তি শনাক্তকরণ ও অন্যান্য কৃত্রিম বুদ্ধিমত্তাভিত্তিক উপায়সমূহ, নেটওয়ার্কের মাধ্যমে যোগাযোগ ও সহযোগিতা, ইত্যাদি ব্যাপারগুলি।
*গণনামূলক বিজ্ঞান
কম্পিউটার বিজ্ঞানের আদি যুগ থেকেই বৈজ্ঞানিক কম্পিউটিং-এর বিভিন্ন কলাকৌশল এবং গণনামূলক পদ্ধতিসমূহ কম্পিউটার বিজ্ঞানের গবেষণার একটি বড় অংশ। সময়ের সাথে কম্পিউটারসমূহের সমস্যা সমাধানের ক্ষমতা বৃদ্ধি পাওয়ার সাথে সাথে এই ক্ষেত্রটির গুরুত্ব ও প্রসার দুই-ই বৃদ্ধি পেয়েছে। বর্তমানে বৈজ্ঞানিক কম্পিউটিং একটি আলাদা শাস্ত্র হিসেবে স্বীকৃত হলেও কম্পিউটার বিজ্ঞানের সাথে এর সম্পর্ক অত্যন্ত নিবিড়। গণনামূলক বিজ্ঞানে আগ্রহী কম্পিউটার বিজ্ঞানীরা বিভিন্ন গুরুত্বপূর্ণ ধারণা ও কলাকৌশল নিয়ে অধ্যয়ন করেন, যাদের মধ্যে রয়েছে সাংখ্যিক উপস্থাপনের যথার্থতা, ত্রুটি বিশ্লেষণ, সাংখ্যিক কলাকৌশল, সমান্তরাল স্থাপত্য ও অ্যালগোরিদমসমূহ, মডেলিং ও সিমুলেশন, এবং বৈজ্ঞানিক ভিজুয়ালাইজেশন। তাঁরা এই জ্ঞান বিভিন্ন ব্যাবহারিক ক্ষেত্র যেমন - আণবিক গতিবিজ্ঞান, প্রবাহী বলবিজ্ঞান, জ্যোতিষ্কসমূহের বলবিজ্ঞান, অর্থনৈতিক পূর্বাভাস, অপটিমাইজেশন সমস্যা, পদার্থের গাঠনিক বিশ্লেষণ, জীবতথ্যবিদ্যা, গণনামূলক জীববিজ্ঞান, ভূতাত্ত্বিক মডেলিং, কম্পিউটারায়িত টমোগ্রাফি, ইত্যাদি নানা ক্ষেত্রে প্রয়োগ করার সুযোগ পান। গণনামূলক বিজ্ঞানে অধীত বিষয়গুলির মধ্যে আছে:
সাংখ্যিক বিশ্লেষণ: ফ্লোটিং-পয়েন্ট বা ভাসমান বিন্দু পাটীগণিত; ত্রুটি, স্থিরতা, অভিসৃতি; টেইলর ধারা, নিউটনের পদ্ধতি; বক্ররেখার ফিটিং, ফাংশনের আসন্নীকরণ; সাংখ্যিক অন্তরকলন ও যোগজকলন, সিম্পসনের নিয়ম; অয়লারের পদ্ধতি; যোগাশ্রয়ী বীজগণিত; সসীম পার্থক্য।
অপারেশন্‌স গবেষণা: যোগাশ্রয়ী প্রোগ্রামিং, পূর্ণসংখ্যা প্রোগ্রামিং, সিম্পলেক্স পদ্ধতি; সম্ভাবনাভিত্তিক মডেলিং; কিউইং তত্ত্ব, পেট্রি নেট, মার্কভ মডেল ও শৃঙ্খল; অপ্টিমাইজেশন; সিদ্ধান্ত বিশ্লেষণ, পূর্বাভাস, ঝুঁকি ব্যবস্থাপনা, সংবেদনশীলতা বিশ্লেষণ; ডায়নামিক প্রোগ্রামিং।
মডেলিং ও সিমুলেশন: দৈব সংখ্যাসমূহ, ছদ্মদৈবসংখ্যা সৃষ্টি ও পরীক্ষা, মন্টি কার্লো পদ্ধতি, বণ্টন ফাংশন; বিচ্ছিন্ন-ঘটনা সিমুলেশন, অবিচ্ছিন্ন সিমুলেশন; সিমুলেশনের যাচাইকরণ ও বৈধতা প্রদান।
উচ্চ-দক্ষতার কম্পিউটিং: প্রসেসর স্থাপত্য, মেমরি ব্যবস্থা, পাইপলাইন, সমান্তরাল ভাষা ও স্থাপত্য; বৈজ্ঞানিক ভিজুয়ালাইজেশন, উপাত্ত ফরম্যাট, ফলাফলের উপস্থাপন, ভিজুয়ালাইজেশন টুলস।
Read more...

টিপস

*প্রয়োজনীয় সফটওয়্যার গুলো ভাইরাস আক্রমন থেকে রক্ষা করার জন্য সফটওয়্যারগুলো কমপ্রেস করে রাখুন:
অনেকেই ভাইরাস আক্রমন এর কারনে প্রয়োজনীয় সফটওয়্যার গুলো হারিয়ে ফেলেন।কিন্তু আপনি যদি সফটওয়্যার গুলো কে কমপ্রেস করে রাখেন,তাহলে সফটওয়্যার গুলোকে ভাইরাস আক্রমন থেকে রক্ষা করতে পারেন।এ জন্য WinRar ব্যবহার করুন। WinRar ডাউনলোড করুন http://www.filehippo.com ঠিকানা থেক।সফটওয়্যারটি ইনস্টলেশনের পর, যে ফাইলটি কমপ্রেস করতে চান সে ফাইলটি কে একটি নির্দিষ্ট Folder এ রেখে Folder টিতে মাউস এর পয়েন্টার রেখে মাউসের ডান বাটন ক্লিক করে Add to Folder Name.rar অপশন এ ক্লিক করুন।তাহলে কিছুক্ষন এর মধ্যে আপনার ফাইল টি কমপ্রেস হবে।আপনি যদি আবার কমপ্রেসকৃত ফাইল টি কে আগের অবস্থায় ফিরিয়ে আনতে চান তবে কমপ্রেসকৃত ফাইল টিতে মাউস এর পয়েন্টার রেখে মাউসের ডান বাটন ক্লিক করে Extract Here অপশন এ ক্লিক করুন।তাহলে আসল ফইলটি পেয়ে যাবেন।
*কিছু শর্ট কমান্ড দিয়ে কম্পিউটারের গতিকে বৃদ্ধি করুন:
আপনি Start Menu এর অধীনস্থ Run Sub-Menu তে কিছু শর্ট কমান্ড দিয়ে অাপনার কম্পিউটারের গতিকে বাড়িয়ে নিতে পারেন।এজন্য-
Start>Run>Recent
Start>Run>%Temp%
Start>Run>Temp
Start>Run>Prefetch
Start>Run>Tree
Start>Run>Chkdsk
ইত্যাদি কমান্ড দিয়ে Enter চাপুন।
তাহলে যে সমস্ত Existing File আসবে সেগুলোকে (Ctrl+A)>(Shift+Delete)>Enter চাপুন।
তবে চিন্হিত ফাইলগুলো Delete হবে না।
সব নিচের দুটি কমান্ডে কোনও Existing File Delete করতে হবে না।এই দুটি কমান্ড স্বয়ংক্রিয়ভাবে কাজ করবে।
*মোবাইল ডাউনলোডস ও ভিজিটের জন্য ওয়াপসাইট:
আপনার মোবাইলের জন্য থিমস,গেমস,ওয়ালপেপারস,রিংটোনস ইত্যাদি ডাউনলোডস এর জন্য ভিজিট করুন http://wap.sumirbd.mobi ও http://scan4maal.peperonity.com
এই ওয়াপসাইটগুলো থেকে আপনি স্বল্প খরচে অনেক ডাউনলোড করতে পারবেন।
Read more...