Course Syllabus for Learning Computer

Learning Computer and be a Self-Reliant 

lerning computerবর্তমানে অমি বেশ ক'য়েকটি কোর্সের সিলেবাস তৈরী করছি। এই কোর্স গুলোর মাধমে একজন ব্যক্তি নিজেকে আত্মনির্ভরশীল করে তুলতে পারবে। এই কোর্স গুলোকে যুগ-উপযুগী করার জন্য দেশী বিদেশী বিভিন্ন প্রতিষ্ঠান বিশেষ কর শিক্ষা প্রতিষ্টানের সাথে যোগাযোগ করে তাদের পরামর্শ নিচ্ছি। কোর্স গুলোর সংক্ষিপ্ত বিবরন দেয়া হলো;
সময়কাল : এক দিন থেকে শুরু করে এক বছর মেয়াদী। কোর্স ফী : পাঁচশ টাকা থেকে এক লক্ষ্য টাকা পর্যন্ত। ভেনু : বিভিন্ন কলেজ, ইউনিভার্সিটি, ট্রনিং ও কনভেনশন সেন্টার। এক বছর মেয়াদী কোর্স গুলো ক্রেডিট ট্রান্সফার করে মালেশিয়া-র বিভিন্ন কলেজে ভর্তি হতে পারবে। 

HTML

What is HTML? HTML

একটি শব্দ সংক্ষেপ (Abbreviation), এর পূর্ণাঙ্গ রূপ হচ্ছে Hyper Text Markup Language. ল্যাংগুয়েজ শব্দটি থাকা সত্যেও এটা কোন প্রোগ্রামিং ল্যাংগুয়েজ নয়। এটি একটি Markup Language. মার্কআপ ল্যাংগুয়েজ কি? এটা জানতে পারলে, HTML কি? তা সম্পূর্ণ রূপে জানতে পারব।

What is Markup Language?

Markup Language এর সহজ বাংলা হচ্ছে অতিরিক্ত ভাষা। এটি HTML ডকুমেন্টকে ইন্টারনেট ব্রাউজার-এর জন্য বোধগম্য করার একটি মধ্যস্থতাকারী ভাষা। ওয়েবে প্রদর্শিত বিষয় বস্তুর অন্তরালে HTML প্রকাশক অর্থাৎ ইন্টারনেট ব্রাউজার এবং HTML এর লেখক এই Markup Language ব্যবহার করে। এর দ্বারা HTML সহ আরও অন্যান্য মার্কআপ ল্যাংগুয়েজ যেমন; XML, DHTML ইত্যাদির মূল নীতিমালা নির্ধারণ করা হয়। ওয়েব পেইজে যে সকল বিষয় বস্তু দেখে থাকি এর চেয়ে আরও আনেক বেশি বিষয় HTML-এ লেখা হয়। অতিরিক্ত এই লেখা বা ভাষা-ই হচ্ছে Markup Language. কনটেন্ট বা বিষয় বস্তু ওয়েবে কি ভাবে প্রদর্শিত হবে তা মার্কআপ-এর অভ্যন্তরে নিয়মতান্ত্রিক ভাবে নির্ধারিত তথ্য টেক্সটের কাঠামো দ্বারা সংযোজন করা হয়। 

History of Markup Language 

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

Necessity of HTML 

ওয়েব ডেভেলপার আথবা ওয়েব ডিজাইনার হতে হলে সবার আগে HTML শিখতে হবে। এমন কি আমরা যদি SEO, Email বা Affiliate Marketing এর কাজ করি, সেখানেও HTML এর নুন্যতম প্রয়োজন হবে। ভয়ের কিছু নেই, এটা শেখা তেমন কোন পরিশ্রম সাধ্য বিষয় নয়। মনোযোগ দিয়ে এক সপ্তাহ অনুশীলন করলে HTML শেখা যায়। এটা জানা থাকলে খুব সহজেই একটা ওয়েব পেজ তৈরী কর যায়। যদিও বা এখন HTML দিয়ে ওয়েব পেজ বা ওয়েব সাইট তৈরি করা হয়না। তাই আমরা এর প্রতি তেমন গুরুত্ব দেই না, এটা শেখার প্রতি আগ্রহিও হইনা। কিন্তু, পরবর্তীতে ওয়েব নির্ভর কোন কাজ করার সময় পদে পদে HTML-এর ছোট ছোট প্রয়োজন গুলো বড় আকার ধারণ করলে; আমরা হেলা ফেলা করে এটা সম্পর্কে সামান্য জ্ঞান অর্জন করি। ফলে এটা আর ভাল করে শেখা হয়না। কিন্তু আমরা এটা ভাল ভাবেই শিখব, ইনশা’আল্লাহ্‌।

BB Code

বিবি-কোড কি? (What is BBCode?)

BBCode বা Bulletin Board Code হচ্ছে একটি লাইটওয়েট মার্ক-আপ ল্যাংগুয়েজ যার ট্যাগ গুলো স্কয়্যার ব্র্যাকেট [ ] এর অভ্যন্তরে প্রদান করা হয়। এর সাহায্যে বিভিন্ন ধরনের অনলাইন “বার্তা-বোর্ড” অরথাত্‌ ইন্টারনেট ফোরাম বা মেসেজ বোর্ডে ভিসিটর অথব সদস্য-রা নিজস্য পোস্টে ফর্মেট প্রদান করতে পারে। যাদের HTML সম্পর্কে নুন্যতম জ্ঞান আছে তাদের এটা বুঝতে বা শিখতে কোন সমস্য হবে না। 

বিবি-কোডের ইতিহাস (History of BBCode)

১৯৯৬ সালে সোশ্যাল স্ট্রাটা, ইনক. এর কর্ণধার ও’নেইল ফ্ল্যাট ফাইল ডেটাবেইজ এর জন্য পার্ল প্রোগ্রামিং ল্যাংগুয়েজ দিয়ে UBB.classic নামে একটি ইন্টারনেট ফোরাম সফট্‌ওয়্যার প্যাকেজ তৈরি করে। পরবর্তীতে ১৯৯৮ সালে এটি Ultimate Bulletin Board (UBB) নামে একটি মেসেজ বোর্ড সফট্‌ওয়্যার হিসেবে পরিচিতি লাভ করে। 
 

বিবি-কোডের প্রয়োজনীয়তা (Necessity of BBCode)

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

বিবি-কোডের গঠন (Code Structure of BBCode)

আমরা জানি HTML-এ টেক্সট বোল্ড করার জন্য <b> দিয়ে আরম্ভ করতে হয় এবং </b> দিয়ে শেষ করতে হয়, যেমন; <b>Bold Text</b> । তেমনি BBCode-এ টেক্সট বোল্ড করার জন্য [b] দিয়ে আরম্ভ করতে হয় এবং [/b] দিয়ে শেষ করতে হবে, যেমন; [b]Bold Text[/b]

নিচের সারণি-তে HTML এবং BBCode-এর মাধ্যমে ব্যাকলিঙ্ক তৈরি করার স্ট্রাকচার বা গঠন বর্ণনা করা হয়েছে, যা SEO-র জন্য অত্যন্ত গুরুত্বপূর্ণ

BBCode HTML Rendering
[url=http://example.com]Example[/url]<a href="http://example.com/">Example</a>Example

CSS

সি.এস.এস. কি?

CSS এর পূর্ণরূপ হচ্ছে Cascading Style Sheet. এটি একটি স্টাইলশীট ল্যাংগুয়েজ। এটি মার্ক-আপ ল্যাংগুয়েজ দ্বারা তৈরিকৃত ডকুমেন্টকে বিভিন্ন নান্দনিক বিন্যাসে প্রদর্শন করে। সিএসএস-এর কৌশল প্রয়োগ করে ওয়েব পেজের বিভিন্ন উপাদানের প্রদর্শিত রূপ, রং, অবস্থান, গঠন, আন্ত-সক্রিয়তা ইত্যাদি নির্মাণ বা নির্ধারণ হয়।

সি.এস.এস. কিভাবে কাজ করে?

CSS সরাসরি নিজে ওয়েব পেজের পরিবর্তন ঘটাতে পারেনা। এটি মার্ক-আপ ল্যাংগুয়েজের ডকুমেন্ট যেমন; HTML, XHTML, plain XML, SVG, XUL ইত্যাদি ডকুমেন্ট-কে CSS নিয়ন্ত্রন করে বা এরা CSS-কে ব্যবহার করে। এমন কি JavaScript-এ CSS-এর অন্তর্ভুক্তি ও নিয়ন্ত্রন রয়েছে।

কিভাবে সি.এস.এস. প্রয়োগ করা হয়?

ওয়েব পেজে তৈরি করার ডকুমেন্ট যেমন HTML বা অন্যান্য ফাইলে CSS-কে তিন ভাবে প্রয়োগ করা যায়। যেমন; ইনলাইন, ইন্টারনাল এবং এক্সটার্নাল। 

Inline CSS: HTML এলিমেন্টে style এট্রিবিউট দিয়ে CSS-এর কোড লেখা যায়। যেহেতু এলিমেন্টের ভিতরেই CSS লেখা হয় তাই ইনলাইন CSS এর জন্য সিলেক্টর প্রয়োজন হয়না।
Internal CSS: HTML পেইজের <head> ট্যাগের অভ্যন্তরে <style> ট্যাগ দিয়ে CSS রুলস লিখে পেইজ স্টাইলিং করা যায়। যেহেতু ডকুমেন্টের অভ্যন্তরে নির্দিষ্ট ভাবে CSS কোড লেখা যায়, তাই একে Internal CSS বলা হয়। 

External CSS: অতিরিক্ত CSS কোড লেখার প্রয়োজন হলে স্টাইলশীট ডকুমেন্টে অরথাত্‌ CSS এর নিজস্য ডকুমেন্টে কোড লিখে আলাদা ফাইল তৈরি করা হয়। যেহেতু ওয়েব ডকুমেন্ট বা HTML পেইজের বাইরে CSS রুলস লেখা হয়, তাই একে External CSS বলা হয়। HTML ডকুমেন্টের <head> ট্যাগের অভ্যন্তরে <link> ট্যাগ দিয়ে বাইরে থাকা CSS ফাইল বা স্টাইলশীট-টির সাথে সংযোগ স্থাপন করা হয়। ফলে HTML ফাইলের ডিজাইন সংক্রান্ত সকল পরিবর্তন বাইরে থাকা স্টাইলশীট-এ CSS রুলস বা কোড প্রয়োগ করে নিয়ন্ত্রন করা যায়।
(ফোনেটিকে খণ্ড-ত লেখা যায় না, যেমন; অরথাত্‌)

সিএসএস কেন প্রয়োজন?

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

JavaScript

JavaScript একটি ক্লাইন্ট সাইড স্ক্রিপ্টিং ল্যাংগুয়েজ। ক্লাইন্ট সাইড স্ক্রিপ্টিং ল্যাংগুয়েজ এর অর্থ হচ্ছে ওয়েব ব্রাউজার এই স্ক্রিপ্টগুলোকে কার্যকর বা নির্বাহ (run/execute) করে। ক্লাইন্ট সাইড-এর বিপরীত হল সার্ভার সাইড। সার্ভার সাইড ল্যাংগুয়েজের কোড ওয়েব সার্ভার এর মাধ্যমে নির্বাহ হয়। ক্লায়েন্ট এবং সার্ভার উভয় দিকেই জাভাস্ক্রিপ্ট কাজ করতে পারে।

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

JavaScript এর অনেক কিছু বিশেষ করে syntax গুলি JAVA থেকে ধার করা হয়েছে। ভয় পাওয়ার কিছু নেই, জাভাস্ক্রিপ্ট শেখার পূর্বে জাভা বা অন্য কোন প্রোগ্রামিং ল্যাংগুয়েজ শেখা বা জানার প্রয়োজন হবে না।

JAVA থেকে JavaScript এর অনেক কিছু বিশেষ করে syntax গুলি ধার করা তবে জাভাস্ক্রিপ্ট শিখতে JAVA বা কোন ল্যাংগুয়েজ আগে থেকে জানার প্রয়োজন নেই।

জাভাস্ক্রিপ্ট মুলত ৩টি জিনিস নিয়ে তৈরী;

১. ECMAScript এটা হচ্ছে জাভাস্ক্রিপ্টের মুল অংশ বা core functionality

২. DOM (Document Object Model) ওয়েব পেজের কনটেন্টের সাথে কাজ করে এবং

৩. BOM (Browser Object Model) ব্রাউজারের সাথে কাজ করে

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



Outsourcing (আউটসোর্সিং)

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

উন্নত এবং ধনি দেশ গুলো তাদের বিভিন্ন ধরনের কাজের খরচ কমানোর জন্য বাইরের দেশ থেকে কাজ করিয়ে থাকে। এই প্রক্রিয়াটা একেবারে নতুন তা নয়। ২০০৩ সালের পূর্ব পর্যন্ত এ কাজ গুলো বিচ্ছিন্ন ভাবে করা হত। ২০০৩ সালে থেকে আনুষ্ঠানিক ভাবে অনলাইন এমপ্লয়মেন্ট প্লাটফর্ম প্রতিষ্ঠিত হয়। আরথাত্‌ একটি নির্দিষ্ট ওয়েব সাইটে দাতা এবং গ্রহীতা নিজেদের মধ্যে আউটসোর্সিং কাজের আদান প্রদান এবং অর্থনৈতিক লেন-দেন করাতে পারে
যেমন; Elance, oDesk, Freelancer, Guru ইত্যাদি।

ইন্টারনেট এবং কম্পিউটার সহজলভ্য হওয়ায় এবং এর প্রতি সবার আগ্রহ ও আস্থা থাকায় আমরা প্রতিনিয়ত আউটসোর্সিং-এর প্রতি ঝুকছি।

Exact Training and Real Knowledge (সঠিক প্রশিক্ষণ ও জ্ঞান)

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

আমারা মূল বিষয়ে ফিরে আসি এবং জানার চেষ্টা করি; আউটসোর্সিং এবং ফ্রিল্যান্সিং কি?