বুধবার, ১০ অক্টোবর, ২০১৮

কিভাবে আপনি একজন দক্ষ researcher হয়ে উঠবেন




প্রথমে আমি আমার লেখা-লেখির  গল্প দিয়ে  আজকের লিখা শুরু  করব । লিখা-লিখি শুরু করি সেই ১ম বর্ষের  দিকে । মন চাইলেই লিখতে বসতাম  আর নিজের  পারসনাল ব্লগ  এ  প্রকাশ  করতাম । তখন আমি খুদে লেখক , সুধু  জানতাম ফাইনাল বর্ষে  Thesis করতে হয় , আর  PHD  করলে  Thesis  করতে হয় , আর কিছু বুঝিনা ।

২য় বর্ষের  শুরুর  দিকে Digital Electronics  ক্লাসে  স্যার আমাদের সাথে  পাবলিকেশন  নিয়ে কথা বলেন ।  সেই  থেকে  স্যার এর কথা  শুনে অনুপ্রানিত  হলাম  এবং পাবলিকেশন  সম্পরকে অল্প অল্প করে জানতে শুরু করলাম এবং কাজ শুরু করে  দিলাম । আলহামদুলিল্লাহ  এইত  অল্প  কিছুদিন   আগে  আমাদের  research paper টি  Internationally IEEE conference এ  publish হয়েছে ।
Conference টি  China  তে  অনুষ্ঠিত হয় । IEEE  তে  accept  হওয়া  একমাত্র  বাংলাদেশি  হিসাবে  paper টি  ছিল  আমাদের  paper  টি  এবং presentation এ  world wide  আমাদের  team  ২য়  হয়েছে   IEEE তে  অংশগ্রহণকৃত  team  গুলর মধ্যে । এখন আসল কথায় আসি ,

Journal / Research Paper কি ?

 আমরা  খবরের  কাগজ  পড়ি , তাও  একধরনের  journal .  Journal  বা  research paper  হল কোন বিষয়ে  গবেষণা  করে গবেষণাকৃত  প্রাপ্ত ফল বা নতুন সৃষ্ট  মডেলকে smartly  তুলে  ধরা । Smartly  তুলে ধরা  এই  কারনে বলেছি  Thesis এ আমরা  paper টি  elaborately  লিখি কিন্তু   journal  এ  আমরা  শুধু  summary  টুকু লিখি সুন্দর  ও  সহজ , পরিমার্জিত  ভাষায় । Thesis  সাধারনত  ৬০- ১০০ page  হয়ে থাকে  নিম্নে , আর   journal  সাধারনত  ৭-১০ page  হয়ে থাকে । 

  

Journal / Research paper লিখতে কি ভাল CGPA  লাগবে  ?

যদি আপনার  ভাল  CGPA  থাকে তাহলে তা  আপনার জন্য  পজিটিভ ।  বাহিরের  দেশে  পরাশুনার জন্য Full Fund Scholarship  পেতে সুবিধা  হবে । আর  যদি  আপনার  CGPA  avarage   বা below avarage  হয়  তাহলেও  আপনি  research paper  বা  journal এ কাজ  করতে  পারবেন  কিন্তু সেক্ষেত্রে  বাহিরের  country  তে  scholarship  পেতে  একটু  সমস্যা   হতে  পারে , কিন্তু ভাল মানের  paper  ভাগ্য  বদলে দিতে পারে । CGPA  কম বলে  কেউ  থেমে  থাইকেন না , হয়তবা আপনার তৈরি  করা  মডেল   এর  উপর ভিত্তি করে  আপনার  research  পাবে কোন  বাস্তব চিত্র । কোন  company ফুটিয়ে  তুলবে  তার   real  life  implementation .




Journal / Research paper  থাকার সুবিধা সমূহ ঃ

  • আপনার  friend  BUET  থেকে  B.Sc করছে  আর  আপনি  Private University  থেকে   B.Sc  করছেন । ওর  আর  আপনার  CGPA  প্রায়  same , ওর  publication  নাই  কিন্তু  আপনার    Publication  আছে , এক্ষেত্রে  আপনার  publication  থাকায় আপনি   Scholarship  পাবার ক্ষেত্রে একধাপ  এগিয়ে  গেলেন ।

  •  Publication  থাকলে  full fund scholarship পাবার  scope  তৈরি  হয় । 

  • আপনি  যেই field  এ  publication  করেছেন   ঐ  field  নিয়ে  বাহিরে আরও  research  করার  সুযোগ  তৈরি  হবে ।  

  • চাকরির  ক্ষেত্রে publication  থাকলে  আপনার promotion  পাবার  possibility  বেড়ে যাবে ।   

  • publication এর  জন্য আপনার  job ক্ষেত্রে  salary increase  হবে ।   

  • publication এর  মাধ্যমে  আপনার  analytical ability  বৃদ্ধি  পাবে ।  

  • আপনি  আপনার  creativity  গুল  তুলে  ধরতে  পারবেন ।

  • নিজে  শিখতে  পারবেন  এবং   অন্যকে   শিখাতে  পারবেন । 

Journal vs Conference :

  • আপনি   যদি  আপনার লেখাটি  কোন  journal  এ  publish  করতে  চান  সেক্ষেত্রে  আপনার ২-৬ মাস  সময়  লাগতে  পারে  paper টি publish  হওয়ার  জন্য  এবং  অল্প  খরচে  আপনি  paper  টি  journal  এ   publish  করতে পারবেন  কিন্তু সময়  সাপেক্ষ  ব্যাপার ।  

  • আপনি  যদি  কোন conference  এ আপনার  journal  টি  publish  করতে  চান  তাহলে  আপনি  আপনার  journal টি  কোন  conference  এ   accept  হতে  হবে  এবং    conference  program  এর  সাথে সাথেই   journal  টি  publish  হয়ে  যাবে । তবে  journal টি  on-line এ  আসতে  কিছুটা  সময়  লাগতে  পারে ।


  • conference  এ  publish এর  ক্ষেত্রে  আপনাদের   team  যেকোন  একজন   author  ঐ  journal  নিয়ে  ঐ  conference  এ  presentation  দেয়ার  সুযোগ  পাবেন । তবে 1st author , 1st priority .



বিখ্যাত  কয়েকটি   International Journal  যেখানে আপনি  আপনার    Paper টি    publish  করতে  পারবেন ঃ 

  • IEEE
  • ICA
  • ISACA
  • IJNSA
  • Elsevier
  • Springer  
  • SCIRJ
                       etc.......................................................

কিভাবে  আপনি  একজন দক্ষ  researcher  হয়ে  উঠবেন  ঃ

  • একজন  দক্ষ researcher  হতে  হলে আপনাকে  প্রথমে  একটি  ভাল  team গঠন  করতে  হবে। আপনারা  এক্ষেত্রে  আপনাদের  পছন্দের  topic  নিয়ে  আপনাদের  পছন্দের  স্যারদের  সাথে  কাজ  করতে  পারেন ।  এক্ষেত্রে  আপনার স্যার  আপনাকে সহায়ক  guideline  দিবে । একটি  Team  এ  ৫ জন  author থাকলে  paper টি  standard  মানের  হয় , এর বেশি  author  থাকা  উচিত নয় । এতে করে  paper  এর  মান  খারাপ  হয় ।

  • researcher  হতে  হলে  আপনার  মনকে  স্থির  করতে  হবে  কাজের  প্রতি । প্রচুর আগ্রহ  থাকতে  হবে , অন্যথায় আপনি  ভাল  ফল  পাবেন  না । 

  • এটা  যেহেতু  team work  তাই  সকলের মাঝে কাজ  ভাগ  হয়ে  যাবে এবং  তা  যথা  সময়ের  মাঝে   complete  করতে হবে । 

  • research paper  নিয়ে  কাজ  করার  জন্য  আপনাকে  কমপক্ষে ২০ টি  paper  নিয়ে   study  করতে হবে , নিজ  topic  অনুযায়ী  । অন্যথায় কাজ বুঝতে এবং করতে  সমস্যা  বোধ  করতে  পারেন ।  

  • আপনি  চাইলেই  অনেকগুল paper  নিয়ে  study করে  ঐ  সকল  paper নিয়ে  একটি  review   paper  তৈরি  করতে পারেন । এক্ষেত্রে আপনার পরিশ্রম  একটু  কম  লাগবে এবং আপনার    paper  টি  সহজেই  publish  করতে পারবেন ।  

  • একটি ভাল মানের paper  লিখতে হলে  অবশ্যই  আপনার  unique  idea  থাকতে হবে ঐ topic সম্পরকে  এবং  আপনি  paper  এ তা সুন্দরভাবে  ফুটিয়ে  তুলতে  পারেন  আপনার নিজস্ব  মতবাদ  বা  মডেল  তৈরির  মাধ্যমে । unique  idea  না থাকলে  ভাল মানের  publication  এ আপনার  paper টি  publish  হবে না ,  accept হবে না  ।  

  • researcher  topic  অনুযায়ী  আপনাকে কোন তথ্য  জানার জন্য  survey করার  প্রয়োজন হতে  পারে । সেক্ষেত্রে আপনাকে  সঠিক  তথ্য  সংগ্রহ   করতে  হবে ।   

  • আপনি  যে  সকল  paper  থেকে  তথ্য  সংগ্রহ  করে আপনার   paper  এ  ব্যাবহার  করেছেন সেক্ষেত্রে  আপনাকে আপনার     paper  এর  সবার  শেষে  ঐ  সকল  paper  কে  reference  হিসেবে  দিতে  হবে । অন্যথায়  আপনার  paper টিকে  copy  right  ধরা  হবে  ।  

  • যদি  আপনি  ৬-৮ মাসের ভিতর একটি  ভাল মানের  paper  তৈরি  করতে চান তাহলে প্রতিদিন কমপক্ষে  ১-২ ঘণ্টা  আপনাকে  study   করতে  হবে  এবং তা  implement  করতে  হবে ।

  • paper  publication  এর জন্য  একেক   website / publication  একেক রকম  format  এ  Manuscript  চায়  , সেক্ষেত্রে  সে অনুযায়ী  paper  সাজাতে  হবে  এবং  Manuscript  তৈরি  করতে  হবে ।  

  • Journal  এ  publication  এর ক্ষেত্রে আপনার অল্প পরিমান কিছু  টাকা  খরছ  হতে পারে । কিন্তু   conference এ  publication এর ক্ষেত্রে  huge পরিমান  টাকা  খরছ  হয়  । এই জিনিশটা  আপনাদের  মাথায়  রাখতে  হবে ।   





বুধবার, ২৭ ডিসেম্বর, ২০১৭

পতাকা কোড এডিটর , বাংলা ভাষায় প্রোগ্রামিং





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

//*** প্রোগ্রাম: নন্দলাল ***//

ধরি জগত = "সুন্দর";
যদি (জগত দেখতে "সুন্দর" হয়)
{
    দেখাও("থাকবো নাকো বদ্ধ ঘরে দেখবো এবার জগতটাকে");
}
নাহলে
{
    দেখাও("আমি নন্দলাল হব, এ জগতকে ভয় পাব");
}


পতাকা  কোড  এডিটর  কাদের  জন্য ঃ

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

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

পতাকা কোড এডিটর এ যা যা থাকছে ঃ 


  • বাংলায়  প্রবলেম সল্ভিং  প্লাটফর্ম 
  • কোড  সাজেশন 
  • কোড এবং এলগরিদম  নিয়ে গঠনমূলক আলচনা 
  • কোডের  মান এবং রান টাইম  অনুযায়ী  রাঙ্কিং 
  • আপনার মন্তব্য 
 বেটা  ভার্সন ঃ

পতাকার  বর্তমান  ভার্সন  হচ্ছে  বেটা ১.০ ।  বর্তমানে  গ্লোবাল  ট্রাফিক  রাঙ্ক  এ এর  অবস্থান  #৪৬০০৮৫২ । পতাকা  কোড  লিখার  জন্য  থাকছে  কোড  হাইলাইটিং   সহ  একটি  চমৎকার  কোড এডিটর , রয়েছে   বিল্ট-ইন ফোনেটিক বাংলা (অভ্র) লেখার সুবিধা ।

পতাকার ফিচার ঃ

বাংলায় প্রোগ্রামিং ঃ

পতাকা কোডের  প্রতিটি   লাইন  হবে  সম্পূর্ণ  বাংলায় । নবীনদের  জন্য  বাংলায় প্রোগ্রামিং  শিখতে পতাকা  সহায়ক  ভূমিকা  পালন  করবে ।  পতাকা  নবীন প্রগ্রামারদেরকে  প্রবলেম  সল্ভিং  রপ্ত  করতে  দক্ষ  করে  তুলবে ।

কোড এডিটর ঃ

 কোড লিখার  জন্য  থাকছে  কোড    হাইলাইটিং   সহ  একটি  চমৎকার  কোড এডিটর , রয়েছে  বিল্ট-ইন ফোনেটিক বাংলা (অভ্র) লেখার সুবিধা ।  রয়েছে   ইরর  রিপোরটিং  সিস্টেম । এছারাও  থাকছে  অটো  কোড  সাজেশন । এত  সুবিধা থাকার  পরও  বসে  আছেন  কেন  , একবার  ঘুরেই আসুন পতাকা কোড এডিটর  থেকে ।

                                           লিঙ্ক ঃ   http://potaka.io/

ভিজুয়াল  গেম  ( পতাকা প্লে ) ঃ 

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

কোড রিপোজিটরি ঃ

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

শুরু  হোক   নবীনদের  প্রোগ্রামিং  এর পথচলা  পতাকা  কোড  এডিটর  এর সাথে ।

Happy Coding .

ধন্যবাদ ।

বুধবার, ২৯ নভেম্বর, ২০১৭

ফাজি লজিক / ফাজি সিস্টেম || An Artificial Intelligence platform





Artificial intelligence ( AI ) এর  একটি  গুরুত্বপূর্ণ   platform   হচ্ছে  Fuzzy system , যা   Fuzzy logic  Algorithm  নামে  বেশি  পরিচিত ।  Fuzzy logic  এমন   একটি  যুক্তি
ব্যবস্থা  যেখানে   কোন  সমস্যার   সমাধান   ১   অথবা   ০   ছাড়াও   আরো   বিভিন্ন উপায়ে  দেওয়া  যায়।  বাইনারী   ব্যাবস্থায়  একটি  সমস্যার  সমাধান  'হ্যাঁ'  অথবা  'না' - এই   দু'টি   উপায়ে   দেয়া  যায়।  কিন্তু  ফাজি  লজিকে  একটি   সমস্যার  সমাধান  দুইয়ের   অধিক  উপায়ে  দেওয়া  যায়।  উদাহরণস্বরূপ,  যদি  প্রশ্ন   করা  হয়  'এখন  কি রাত ? '  বাইনারী  ব্যবস্থায়  উত্তর হবে  -  'হ্যাঁ'  অথবা  'না' ;  অন্যদিকে , ফাজি  লজিকে  হ্যাঁ   অথবা  না   ছাড়াও   আরো  উত্তর  হতে  পারে -  মধ্যরাত, শেষরাত, সুবহে সাদিক ইত্যাদি।
  ১৯৬৫ সাথে সর্বপ্রথম ফাজি লজিক সম্পর্কে ধারণা দেন লতফি জাদেহ। তিনি একজন ইরানী ও আজারবাইজানী বংশোদ্ভূত মার্কিন কম্পিউটার বিজ্ঞানী। লতফি জাদেহকে ফাজি লজিকের জনক বলা হয়।





ফাজি লজিক  এর  সর্বপ্রথম ব্যাবহার  হয়  জাপানে । বর্তমানে   ফাজি লজিক  পানির  মান নিয়ন্ত্রণ , স্বয়ংক্রিয় রেল  নিয়ন্ত্রণ , লিফট নিয়ন্ত্রণ ,  পারমানবিক চুল্লি নিয়ন্ত্রণ  সহ  নানা  ক্ষেত্রে  ব্যাবহার  করা  হচ্ছে ।




Computer কাজ করতে পারে প্রিসাইসলি । মানুষ  যেভাবে চিন্তা  করে  Computer  এর সেভাবে চিন্তা  করাই হচ্ছে  ফাজি লজিক  ।  ফাজি লজিক  বিভিন্ন  মাইক্রো  কন্ট্রোলার  থেকে  বড়  নেটওয়ার্ক  যুক্ত  ওয়ার্ক   স্টেশন  ভিত্তিক  কন্ট্রোল  সিস্টেম  এ  কাজ  করতে পারে ।

ফাজি লজিক  যুক্তিবিজ্ঞান  বাণিজ্যিক  এবং  বাস্তব  উদ্দেশে দরকারি । এটি  মেশিন  এবং  ভোক্তা  পণ্য  নিয়ন্ত্রণ  করতে  পারে ।  এটি  সঠিক  যুক্তি   দিতে  পারেনা  কিন্তু   গ্রহণযোগ্য  যুক্তি  দিতে  পারে । 

Fuzzy logic system Architecture :

Fuzzy logic system  এর  ৪ টি  অংশ - 


  •  Fuzzification  Module 

  •  Knowledge Base 



  •  Inference Engine



  •  Defuzzification Module 



**  Fuzzification Module  এ  traditional data input  হিসেবে নেয় ।

**  Knowledge Base rules গুল  set করা  থাকে  । If - than rules .

**  Inference Engine  এ  input data  গুলকে   knowledge base  থাকা  rules এর  উপর  ভিত্তি  করে  মানুষ  যেভাবে   চিন্তা  করে  সেভাবে  অনুসরণ  করে । 

**  Defuzzification Module  এ  আবার  inference engine  এ প্রাপ্ত   Fuzzy set   কে  আবার  traditional set  বা  Crisp set  এ  রূপান্তরিত  করে ।

  
Algorithms :

  • Define linguistic variables and terms

  • Construct membership function 

  • Construct knowledge base of rules 

  • Convert crisp data into fuzzy data sets using membership function. ( fuzzification )

  • Evaluate  rules  in the  rule  base  ( Inference engine )

  • Combine results from each  rule  ( Inference engine )

  • Convert output data into  non  fuzzy values . ( Defuzzification )
Application areas of fuzzy logic :

Automotive System -
  • Automatic gearboxes
  • Four wheel steering
  • Vehicle  environment control

Customer Electronic Goods -
  • Hi-fi systems
  • Photocopiers
  • Still and video cameras
  • Television

Domestic Goods -
  • Microwave ovens
  • Refrigrator
  • Toasters
  • Vacuum cleaner
  • Washing machine 
Environment Control :
  • Air conditioners / Dryers / Heaters
  • Humidifiers

বৃহস্পতিবার, ২৩ নভেম্বর, ২০১৭

Varsity life এর পড়াশুনা কেমন হওয়া উচিত ।






সাধারণত ছোট  বেলায় আমরা সবাই শুনি  varsity life  এ পড়া শুনা  নাই  , তখন chill  করার সময় । HSC level  পর্যন্ত ভালমত  পড়াশুনা   করতে  হবে  এমনটায়  শিখায়   family বা  আশেপাশের  মানুষ  জন  ।  আসলে তারা  আমাদেরকে  দীর্ঘ  ১২ টি  বছর  ধরে  পড়াশুনার  উপর  সান্ত্বনা পুরস্কার দিয়ে যেত ,  আর  আমরা খুশিতে  তা  সাদরে  গ্রহণ   করতাম । সবাই কতই না  জল্পনা কল্পনায়  বিভোর  থাকতাম   varsity life  নিয়ে । কতই না স্বপ্ন থাকত  এই  করব  সেই  করব  কিন্তু  আসলেই কি  তা  হয়ে  উঠে ।  public university  এর   কথা  না  হয়  বাদ  ই   দিলাম , যারা   privet  এ  পড়ে  তাদের  তো  প্রতি  ৩.৫  মাসে   ১২-২২  credit   সম্পন্ন  করতে  হয়  । তার  সাথে  তো  আছেই   assignment , quiz  , presentation , group work , project   .


আমরা  সবাই  গতানুগতিক  ধারায়  পড়াশুনা  করি  varsity  life  এ , তাই  তো  শুধু   আমাদের   CGPA  ই  improve   হচ্ছে  কিন্তু  আমাদের  সবার  মাঝে   creativity  তৈরি  হচ্ছে   না  ।আসলে  আমরা শুধু   পড়াশুনা  ই  করে  যাই  কিন্তু   real life এ  তা  কিভাবে   apply  করতে  হয়  তা  জানিনা , এটাই  আমাদের সবচাইতে  বড়  অপরাগতা ।  আমারা  সবাই  ছোট  বেলা  থেকে  পড়ে  আসছি  ,
" যৌতুক  একটি  সামাজিক  ব্যাধি । "  কিন্তু  কইজন ই  বা  আছি  যে  যৌতুক  ছারা  বিয়ে  করি । আসলে  এগুলো উপলব্ধি  করার   বিষয়  এবং  জীবন যাত্রার  মান কে  উন্নত  করতে আমাদেরকে   এই   জ্ঞান   গুল কে   real  life   এ  apply  করতে  হবে ।



  •  varsity life  এর  পড়াশুনা  হওয়া  উচিত  research  কেন্দ্রিক  , আপনি  একটি    topics  এর  উপর  যত   বেশি    research  করবেন  তত  বেশি  জানতে  পারবেন । আপনার ভুল গুলকে  শুধ্রে   নিতে  পারবেন । 


  • আমরা  presentation  এ কিছু  topics  মুখস্ত  করে  ৫-৭   minute এর  একটা   presentation  দিয়ে  দেই  কিন্তু  এতে  কি  আমাদের    presentation  skills  বাড়ে  ।  যদি  আমারা  আমাদের   presentation skills  ই  যদি  না  বাড়াতে  পারি  তাহলে   প্রেজেন্টেশান  দিয়ে  লাভ  কি ।  Future  এ তো আমাদেরকেই    company  এর   business  purpose   এ  presentation  দিতে  হবে ।                  
  • আমাদেরকে   assignment  দেয়া  হয়  একটা   নির্দিষ্ট  বিষয়  সম্পর্কে  জানার  জন্য  ,  সেই  topic  সম্পর্কে মজার  মজার  তথ্য  দিয়ে  সেই    topic  কে  ভালভাবে    represent  করার  জন্য । যদি  আমরা    copy  আর   paste   করি  তাহলে  নিজেদের  মাঝেই  সংকীর্ণতা  থেকে  যায় ।                                                                                                                                                             
  •  Varsity life  এর   last year  এ  সবারি  term paper  বা  thesis  paper  তৈরি  করতে  হয়  । অনেকেরই  তখন    thesis  paper  তৈরিতে   অসুবিধা হয়   research   করার  অভ্যাস  নেই বলে । যদি আপনি  আগে থেকেই     research   করার অভ্যাস  তৈরি  করেন তাহলে  আপনি  আর  এই   problem  গুলর  সম্মুখীন  হবেন না । research  এর  অভ্যাস  তৈরি করার  জন্য নিম্নক্ত  কাজ গুল  করতে পারেন ,  
  • Blog writing 
  • International Journal 
আপনার  নিজের  যদি ৩-৪ টা  journal  থাকে   graduation complete  করার  পূর্বে  তাহলে  future  এ  Higher  study এর  জন্য   scholarship  পেতে  সুবিধা  হবে । শুরু  হোক  আপনার  research  কেন্দ্রিক জীবন ।

ধন্যবাদ ।

সোমবার, ১৩ নভেম্বর, ২০১৭

জাদুকরি Language Kotlin

কথায়  আছেনা ,
                               " প্রয়োজনীয়তাই  উদ্ভাবনের  জনক । "

কম্পিউটার  আবিষ্কার  এর পর থেকে মানুষ তাদের  কাজকে সহজ  ও  কম্পিউটার এর  বোধগম্য  করার  জন্য  নানা রকম  programming language  এর উদ্ভাবন করে গেছেন । ২০১৭ সালে  মানুষের  মনে  জাদুকরি  ভাবে  দাগ  কেটে  গেছে   যে  programming language   তা  হল  Kotlin .





সম্প্রতি   Google I/O  তে  প্রকাশিত  ও  পরিচিতি  পাওয়া যায়  এই  নতুন  জাদুকরি  programming language  Kotlin এর । 

Kotlin   একটি  জাদুকরি   programming  language  যা  Java   virtual machine  এ  চালনা  করা  যায়  এবং   Java script source  code  এ   compile  করা   যায়  অথবা   LLVM  compiler  এর  অবকাঠামোতেও   ব্যাবহার  করা  যায়  , এছাড়াও    Android studio 3.0 তে  ব্যাবহার  করা  যায় । 


এর  প্রধান উন্নতি সাধিত  হয়   সেন্ট   পিটার্সবার্গে ,  রাশিয়া ভিত্তিক JetBrains প্রোগ্রামারদের একটি দল এটি   develop  করেন   Project  Kotlin নামে । সেন্ট   পিটার্সবার্গ  শহরের  খুব  কাছেই  Kotlin island  অবস্থিত ।  এই   Kotlin island  থেকেই  এই জাদুকরি  ভাষাটির   নামকরণ  করা   হয় । syntax  গত  দিক  দিয়ে   Java  এর  সাথে    Kotlin  সামঞ্জস্যপূর্ণ   নয় ।  Android  studio 3.0  এর  মাধ্যমে     Kotlin   এর  শুভ    যাত্রা   শুরু  হয়েছে  এই   programming  language  দের   রাজক্তে ।




Java  Android  development  এর  জন্য  আনুষ্ঠানিক  ভাষা  হিসাবে   ব্যাবহার  হয়ে আসছে । তবে  নিশ্চয়ই  আপনাকে এই সময়ে  খেয়াল  রাখতে  হবে  যে  Java  এর  মতন   Kotlin   ও  বন্ধুক্তপূর্ণ   programming  language যা   Android developer   দের  বিকল্পগুলি  উদ্ভাবনের চেষ্টা  করছে । সম্প্রতি  Kotlin  সম্পর্কে  আমাদের  প্রত্যাশা অনেক  এবং    Kotlinconf   শীঘ্রহি  আমাদের  মাঝে  আসছে   আসার  আলো   জালাতে ।

সম্প্রতি  JAVA SE 9  Kotlin  এর  প্রতিদ্বন্দ্বী  হিসাবে  বাজারে  চলে এসেছে  এবং    Kotlin  এর  সাথে  সমর্থন রেখে  JAVA SE 9  উদ্ভাবন  করা  হয়েছে  এবং   আপনি    JAVA SE 9  থেকেও   নতুন  এবং  দরকারি   সুবিধা  গুল    আশা  করতে  পারেন ।

কেন  Kotlin language  ব্যাবহার করবেন ঃ


  • Kotlin  Android platform  এ   Java   এবং   C++   এর  পাশাপাশি  কাজ করে ।   Kotlin   syntax  গুল ব্যাবহার  করে  আপনি আপনার   Java project  এ   Kotlin  ব্যাবহার  করতে পারবেন  এবং   function   গুল  call  করতে পারবেন  যা  অন্য ভাষা  এর  ক্ষেত্রে  সম্পূর্ণ  ভিন্ন ।   Kotlin  কিছু  বছর  আগেও    developer  দের  দ্বারা  বেবরিত  হয়ে আসছে   কিন্তু  কিছু দিন আগেই   Google I/O  2017   এ এটি  Android  platform  এর  জন্য  সমর্থন  পেয়েছে ।

  • Kotlin  language  এ  semi colon   ব্যাবহার  করতে  হয়  না । 

  • kotlin   নতুন   Android  ভাষা  , নিরাপদ , লিখতে সহজ , অল্প  সময়ে   অধিক   code   লিখা  যায় ।  UX  এর   জন্য  এই  Application   গুলি  কম   bug  এবং   crash  কম করে । 

  • যদিও    Java  এবং    Kotlin   উভয়  language  ই    Android  development  এর  জন্য  ব্যাবহার  করা  হয়  কিন্তু    Kotlin  অনেক উপায়ে   একটি  পরিষ্কার  স্লেট  এবং  এটি    Android  developer  দের  জন্য  অনেক  বড়   বৈশিষ্ট্য   যোগ  করে । 

  •  Kotlin ভাষাটির  যত্ন  নেয়ার  জন্য  একটি  অলাভজনক   Kotlin  ভিত্তি  স্থাপন  করার  চেষ্টা করা  হচ্ছে । 

JAVA  নাকি  Kotlin ঃ


  • একজন  Android  developer  হিসাবে    Java  নাকি   Kotlin  কোন   language  টি   ব্যাবহার  করব  এরকম  প্রশ্ন  অনেকের  মনে  গাথা  । এসকল  প্রশ্নের  জন্য  কিছু   কথা , 

  • যদি আপনি    Android  platform  এ  নতুন  হন  তবে  অবশ্যই  আপনার   Android development  এর  হাতে খড়ি  হওয়া  উচিত    JAVA  দিয়ে  ।

  •  Kotlin  শেখার  জন্য  resource  কম ,    Java  এর  তুলনায়   । তাই   Java  সম্পর্কে  শিখতে  থাকুন  এবং  আপনি  পরে  Kotlin   ব্যাবহার  করতে  আরও   আত্মবিশ্বাসী   হবেন ।

  • যদি  আপনি  নিজেকে আত্মবিশ্বাসী  মনে করেন তাহলে  আপনি  Kotlin  ব্যাবহার করে  কম code  এবং  অন্যান্য  উপকারিতা  উপভোগ  করতে  পারেন  । Kotlin   যেহেতু   অল্প  সময়েই  অধিক  জনপ্রিয়  হয়ে  উঠেছে  তাই    Java   এর  পাশাপাশি  Kotlin এরও  সুন্দর  ভবিষ্যৎ  রয়েছে ।  তাই  শুরু  হোক  Kotlin  দিয়ে  আপনার  পথ চলা । 

Kotlin  এর  বিস্তার ঃ

prezi  এর  মতন  software  এর   backend এ  Kotlin  ব্যাবহার  করা  হয়েছে । Expedia , Flipboard , Pinterest , Square এর  মতন  প্রতিষ্ঠানগুলোর  Application development  এ   Kotlin  ব্যাবহার করা  হয় । এছাড়াও    Coursera , Uber ,  Netfix ,  Amazon web services ,  Basecamp , Goldman Suchs ,  Wells Fargo , Jap Morgan , Trello ,  HSBC , UBS , Deutsche  Bank ইত্যাদি  প্রতিষ্ঠানেও  Kotlin  দ্বারা  development   কাজ করা  হয় ।  

                " Everyday life is like programming, I guess. If you                love something you can put beauty into it. "
                                                                                                                    Donald Kunuth

ধন্যবাদ ।

শুক্রবার, ১০ নভেম্বর, ২০১৭

স্বপ্ন পূরণের হাতছানি




প্রথমেই   শুরু  করব  একটি  গল্প  দিয়ে ।  মেডিকেল  এ পড়ার  তীব্র  ইচ্ছা   ছিল  ছেলেটির ,  পড়াশুনায়  মাঝের সারিরই  বলা চলে । শেষ  পর্যন্ত  মেডিকেল  তার   ভাগ্যে  ছিলনা ।  পড়াশুনা  শুরু করল  কোন  একটা  privet university  তে । হতাশায়  কাটতো  সময়  , সমাজের কাছে , পরিবারের  কাছে   নিজেকে  বোঝা  মনে  হতে  শুরু  করল । এরকম ঘটনা অহরহই ঘটে  এই সমাজে ।  কিন্তু এর  সমাধান  টা  কি ?  গল্পের  মাধ্যমেই  আমরা সমাধান টি  খুঁজি  ।

হঠাৎ  করেই  ছেলেটি  change     হতে  শুরু করল  এবং  নিজের  মাঝে  অন্নের  ভাল  গুন গুল  আত্মস্থ  করার  চেষ্টা  শুরু  করল ।  তার মনে গেঁথে  গেল  পরিশ্রম   ভাগ্যের প্রসূতি ।  শুধু  তার  চেষ্টা  আর  সদিচ্ছা  এর  কারণে  আজ  কিছু  কিছু  ক্ষেত্রে  সে  সফল । এমন গল্প  অহরহই  ঘটে থাকে  , শুধু  পরিবর্তন আশে  মানুষে ।


সফলতাকে  আপনি  কিভাবে  সংজ্ঞায়িত  করবেন   তা  আমি জানিনা  কিন্তু  আমি  সফলতাকে  সংজ্ঞায়িত  করব   মনের  আত্মতৃপ্তি  , satisfaction ,  নিজের  উপর   confidence এবং   নিজের  কাজ গুল নিয়ে  খুশি  থাকাই  হল  সফলতা ।
                         
                            Dr.A.P.J Abdul Kalam  বলেছেন  ,
                       
               Success is  when your " signature "                                                                                          changes  to " Autograph" 
       
সফলতা  খুঁজে  পেতে  হলে  আপনাকে  আপনার  কাজের  প্রতি  আগ্রহ   তৈরি  করতে  হবে ।
কাজের  মাঝে  আনন্দ   খুঁজে   পেতে   হবে ।


                           Dr.A.P.J  Abdul  Kalam  বলেছেন ,

              " স্বপ্ন   সেটা  নয়  যেটা  তুমি  ঘুমিয়ে  দেখ ,
                                                   স্বপ্ন  সেটাই   যেটা   তুমাকে  ঘুমাতে   দেয়না । "


যদি  নিজের  মাঝে  লক্ষ্য না থাকে  তাহলে  কোনদিন  আপনি  আপনার   কাঙ্ক্ষিত  গন্তব্বে  পৌছাতে  পারবেন  না ।

আমার  জীবনে  যে  প্রবাদটি  আজও  inspiration  হিসেবে  কাজ করে  টা হল ,

                              " We shall start from the end of our desire . "



অর্থাৎ  যেখানেই   শেষ  সেখান থেকেই  শুরু ।

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


এই পৃথিবীতে  প্রতিটা  মানুষই  unique . সবার মাঝেই প্রতিভা   লুকায়িত   রয়েছে  কিন্তু  প্রতিভা  গুল  বিকশিত  হচ্ছেনা । ধুকে ধুকে  মারা  যাচ্ছে প্রতিভা গুল । যদি নিজে নিজেকে পরিবর্তনের  চেষ্টা  না  করেন  তাহলে  কখনই নিজের  সমস্যা গুল সমাধান করতে পারবেন না  , সমস্যা  নিয়ে চলতে হবে , সমস্যা দেখলে ভয় পাবেন । সমাধান করার  সাহস  থাকবেনা ।




সমস্যা  এর  সমাধান করতে  চাইলে  নিজের  মাঝে  চেষ্টার   কমতি  রাখা  যাবেনা । আমি বার বার হারতে  চাই সফলতাকে  কাছ থেকে দেখব বলে , অনুভব  করব বলে । আমি সফলতা খুজে  পাই পিপড়ার  খাবার সংগ্রহে ,  মৌওমাছির  মধু সংগ্রহে  , আমি সফলতা খুঁজে  পাই    বার বার অকৃতকার্যতায়  এবং  আবার  চেষ্টায় , আমি সফলতা খুঁজে পাই  Hal Elrod  এর  বার বার  জীবন থেকে   ছিটকে  পরাতে ।  আপনি  আপনার  সফলতাকে  কিভাবে  রূপ  দিতে চান তার জন্য  ছক কষুন , রুটিন  বানান , উঠে পড়ে  লাগুন । সফলতা আসবেই একদিন না একদিন । ততদিন  ধৈর্য   ধরুন । মনে রাখুন  সবুরে  মেওয়া ফেলে ।  আজই   নিজেকে  পরিবর্তনে  দৃঢ়  প্রতিজ্ঞ হন  , সফলতা  আসবেই  হাতছানি  দিতে  ।

ধন্যবাদ ।

রবিবার, ২৯ অক্টোবর, ২০১৭

Command Prompt (CMD) নিয়ে যত কারিকুরি !!





কি !!  শিরোনামটি দেখে নিশ্চই ভাবছেন  Command Prompt  নিয়ে আবার কি করবে ?? 
 অবশ্য ছবি দেখে অনেকে বুঝে ফেলার কথা সামনে তাদের জন্য কি অপেক্ষা করছে !!! 
চলুন কথা না বাড়িয়ে আমরা দেখে নিই  CMD  নিয়ে আমরা কি করতে চলেছি  ।।


 আমরা কম্পিউটার ইউজাররা  কম-বেশি সবাই  Command Prompt  শব্দটার সাথে পরিচিত। 
আজকে আমরা দেখাবো Command Prompt দিয়ে কি কি করা যায় এবং এর বিভিন্ন  ট্রিকগুলো  সম্পর্কে জানব।



Command Prompএ  কোনো Command  রান  করতে  হলে আগে আপনাকে Command Prompt টা  চালু করতে হবে।  এটা চালু করার নিয়ম হচ্ছে ........

>>>  আপনার কি - বোর্ড থেকে  win + R  চাপুন।  মানে হলো  windows  লোগো ওয়ালা  key  টা চেপে ধরে  R  চাপুন।  দেখবেন উপর এর ছবির মত একটা  Run Wizard  আসবে। এবার ওখানে  cmd  লিখুন এবং  ইন্টার  চাপ দিন। এবার নতুন একটা  Administrator  উইন্ডো আসবে প্রথম ছবির মত ।। 

ওখানেই যাবতীয়  Command  লিখে  Computer  কে  input  দিতে হয় ।। 


তাহলে  চলুন আমরা বিভিন্ন COMMAND এবং এদের কাজ গুলো কি কি  তা জেনে নিই  !!

  • arp  -  Address Resolution Protocol.
  • bcdboot - Used to create and repair a system partition.
  • chkdsk - Used to check and repair issues in the disk.
  • cleanmgrUsed clean temp files and recycle bin automatically.
  • cls - Clear CMD screen.
  • cmdkey - Used to manage stored usernames and passwords.
  • color - Change the color of the CMD shell using options.
  • compress - Compress one or more file.
  • help - Display a list of commands and see online information for them.
  • ipconfig - Display and change Windows IP configuration.
  • logoff - Log a user off. 
  • msinfo32 - Display system information. 
  • mstsc - Create a remote desktop connection.
  • ping - Test network connection to a computer.
  • time - Display/change system time.



***এছাড়া আরো CMD COMMAND সম্পর্কে জানতে এবং Download করতে এই লিঙ্কে   https://drive.google.com/open?id=0B7BLqjW-aun4NFJHMGx6NFFiSGM  প্রবেশ করুন !!**



  এই  COMMAND গুলো ব্যবহার করে CMD দিয়ে বিভিন্ন কাজ আপনি খুব সহজেই করতে
  পারবেন , যা প্রচলিত পদ্ধতিতে  ঝামেলাপূর্ণ  !!



বৃহস্পতিবার, ২৬ অক্টোবর, ২০১৭

আর্কাইভ





পরিপাটি  জীবন  , সব  কিছু   পরিপাটি   কে  না পছন্দ  করে ।  সব   কিছু  সুন্দর করে   যথাস্থানে  গুছিয়ে  রাখার  মাঝে  পৈষাচিক  আনন্দ  রয়েছে  ।    সে    পৈষাচিক   আনন্দ  আমাদের  সকলের  ই  উপভোগ  করা উচিত  ।   আমরা  একটি  বুক সেলফ এর  কথা   ভাবতে  পারি ,  বুক সেলফ   এ   যদি   বই গুল  সুন্দর  করে  গুছিয়ে  রাখি  তাহলে  আমরা  সহজেই  আমাদের  প্রয়োজন মত  বইটি  খুঁজে  পেতে  পারি । একজন    programmer  হিসাবে  আমাদের  নিত্য প্রয়োজনীয়  যেমন -  code , problem solving , project  , book pdf ,  গুরুত্বপূর্ণ  file  এগুলো  আর্কাইভ  করে  রাখা  উচিত  ।


আমরা  আমাদের  গুরুত্বপূর্ণ  ডাটা  গুল  সব  একসাথে   আমাদের  pc  বা  laptop  এর  একটি   Drive  এ  রাখি ,  কিন্তু আমাদের  ডাটা গুল কি এখানে   secure  ,  যদি   কোন  সময়  আমাদের   pc  বা  laptop  এ যদি  কোন  সমস্যা  হয়  এবং  Hard Disk crash  করে  , তখন  যদি  আমাদের  গুরুত্বপূর্ণ   ডাটা  গুল  হারিয়ে  ফেলি  তখন  কি হবে ?  এই  সমস্যা  সমাধানের  একটি   উপায়  আছে  আর  তা  হল   আর্কাইভ ।  আপনি  চাইলে  আপনার  গুরুত্বপূর্ণ  ডাটা  বা  ফাইল  গুল  আর্কাইভ  করে  রাখতে পারেন ।  যারা    varsity তে   fresher  থাকে  তাদের  আর্কাইভ সম্পর্কে  ধারনা কম থাকে  এবং  তারা  আর্কাইভ  এর  গুরুত্ব কতটুকু   তা   বুঝে   উঠার  আগেই   হয়তো  এরকম  ঝামেলার  সম্মুখীন  হতে  হয়  যেকোনো  কারণে ।


আর্কাইভ কোথায়  করব ঃ 


  • আমাদের  প্রত্যেক কে  varsity থেকে  একটা করে   email দেয় , যেই  email  এর   google  drive এ  32 gb  এর  মতন   space  থাকে । আপনি  আপনার গুরুত্বপূর্ণ   data বা  file  গুল   varsity email  এর   drive  এ  আর্কাইভ করে রাখতে পারেন ।

  • আপনি  চাইলে  আপনার  personal email  এর  google drive  এ  ও  আর্কাইভ  করতে  পারেন , সেখানে  আর্কাইভ  করার জন্য  আপনি   15 gb এর  মতন  free space পেতে  পারেন ।

  • এছাড়াও  আমরা  আমদের   code  গুলকে / প্রোজেক্ট গুলকে   GitHub / Git  এ  আর্কাইভ  করে রাখতে  পারি ।

  • আমরা আমাদের  গুরুত্বপূর্ণ  Note  গুল  Median  এ  আর্কাইভ  করে রাখতে  পারি ।

  • এছাড়াও  আমাদের  সবারই  facebook account  রয়েছে । আমরা  আমাদের  Note , file  গুল   facebook  এর  Note  section  এ  অথবা  নিজে কোন   group  or page  create  করে  সেখানে   up  দিয়ে  সংরক্ষণ  করতে  পারি ।

আর্কাইভ  একটি  গুরুত্বপূর্ণ  কাজ  ও  একটি  ভাল  অভ্যাস  যার  চর্চা  আমাদের  সকলেরই  করা  উচিত । এই  ভাল অভ্যাসটি  আমাদের  সকলের  মাঝে  আলোড়ন  সৃষ্টি  করুক  এবং  আমাদের  ডাটা  বা  ফাইল  গুল  সংরক্ষিত  থাকুক । 

ধন্যবাদ ।

রবিবার, ২২ অক্টোবর, ২০১৭

স্বপ্ন যখন সুদূরপ্রসারী ।। Top interview question for Data Structure and Algorithm Analysis .




নিজেকে আপনি   ১০  বছর পর  কোন অবস্থানে দেখতে  চান ?  বেশির ভাগ   interview এর  প্রধান  প্রশ্ন থাকে এটি । ঠিক  আমার ও একই  প্রশ্ন  আপনার  প্রতি  , আপনি আপনাকে  ১০  বছর পর  কোন অবস্থানে  দেখতে  চান ?  নিজেকে  নিজেই  প্রশ্ন করুন ।


আপনি চাইলেই  নিজের  উজ্জ্বল  ভবিষ্যৎ  এর  চাবি-কাঠি  হয়ে  উঠতে  পারেন । নিজেকে  নিয়ে  যেতে পারেন উন্নতির  চরম  শিখরে , নিজের   মেধা  ও  বুদ্ধিমত্তা  কে  কাজে  লাগিয়ে । " দোলনা  থেকে  কবর  পর্যন্ত    জ্ঞান  অর্জন  করা  উচিত  । "
                                                                                ( আল  হাদিস )




Data Structure and Algorithm  শুধু  কয়েকটি  শব্দের  সমষ্টি  নয় ,  এই শব্দগুলো  হল   coding   এর  প্রাণ  ,  একটি   program   এর  সৌন্দর্য  এবং  একজন ভাল    programmer   এর  পরিচয় ।  একজন ভাল    programmer  এর  প্রধান গুন ই  হল  তার  program  কে  সুন্দর  ভাবে    represent   করা  যাতে  অন্যকেউ   দেখা  মাত্রই  easily  তার  code   বুঝতে  পারে ,   program  কে  অর্থবহুল   করে  তোলা  ,  আর  তাই তো  চাকরির   interview  এ বর্তমানে  প্রশ্ন  কর্তাদের  পছন্দের    topic  হয়ে  দাঁড়িয়েছে   এই    Data Structure and Algorithm Analysis .

interview  board  এ  প্রশ্ন  কর্তা এই   topic  থেকে  বেশ কিছু  প্রশ্ন  করে থাকেন  এবং একজন     programmer  এর  এই  টপিক  সম্পর্কে  ধারনা  কি  রকম তা  যাচাই  করেন  এবং তার  সম্পর্কে স্বচ্ছ  ধারনা  নেন ।  So ,  চলুন  দেরি  না করে    Data Structure and Algorithm Analysis  নিয়ে  কিছু   Top প্রশ্ন  দেখে নেয়া  যাক -





  • How to find middle  element  of linked list in one pass ?
  • How to find if linked list has  a  loop ?
  • How to reverse  string in java ?
  • Write java program to print fibonacci  series ?
  • How to reverse linked list using recursion and iteration ?
  • What is binary  search tree ?
  • Write a java program to check  if a number  is a palindrome or not ?
  • How to find 3rd element  from end  in  a linked  list in  one pass ?
  • How do search a target  key in a linked list ?
  • What is an  AVL  tree ?
  • What is a dequeue ?
  • Which sorting algorithm considered the fastest ?
  • What is data abstraction ?
  • Differentiate NULL and Void .
  • What is  an ordered  list ?
  • Write a java program to implement  stack in java .
  • Differentiate file structure  from  storage  structure .
  • When is a binary search best applied ?
  • In what areas do data structure are applied ?
  • In an integer array there is  1 to 100  number out of one is  duplicate , How to find ?
  • Write a java program to  sort an array  using bubble sort algorithm .
  • What is the difference between  stack and  queue data structure ?
  • What is difference between  singly linked list  and doubly linked list  data structure ?
  • How to  find duplicates  in an array if there is  more than one  duplicates ?
  • How do you reference  all the elements in a one dimention array ?
  • Which data structure is applied when dealing with a recursive function ?
  • How does dynamic  memory  allocation  help in  managing  data ?
  • Are linked list considered  linear  or non linear data structures?
  • Do all declaration  statements result in a fixed reservation in memory .
  • What is the minimum number of  nodes  that a binary tree can have ?
  • How do signed and unsigned numbers affect memory ?
  • What is the primary advantage of a linked list ?
  • What is the difference between push or pop ?
  • What is a postfix expression ?
  • What is the advantage of  the heap over stack ?
প্রশ্ন গুলির উত্তর আপনারা  নিজ  থেকে   google করে জেনে নিবেন । এতে করে আপনার  প্রশ্ন গুলির উত্তর আয়ত্তে  চলে আসবে ।  

শুধু   interview  এর  ভাইবাতেই  নয়  তারা আপনার   পরীক্ষা  নিবে  তাদের  interview  এর তৃতীয়  ধাপ   project  তৈরি  করা  বা    problem solving  করতে দেয়া এসব পরীক্ষাতেও । আপনার  যদি    data structure  and algorithm  সম্পর্কে    fully  concept  clear   না থাকে  সেক্ষেত্রে  আপনি ঐ  সকল   IT  Farm  গুলতে  বেশি সুবিধা  করতে পারবেন না । নিজেকে নিজের  যোগ্য  জায়গায় দেখতে চাইলে  এখন থেকেই  পরিশ্রম  শুরু  করুন । আপনার  সুন্দর    ভবিষ্যৎ  আপনারই অপেক্ষায় রয়েছে পথ চেয়ে ।

ধন্যবাদ ।

মঙ্গলবার, ১৭ অক্টোবর, ২০১৭

Self learning is the best learning || Machine Learning






মানুষ সৃষ্টির  সেরা  জীব  । মানুষ  তার  আশেপাশের  পরিবেশ , পরিবার , সমাজ  থেকে শিক্ষা লাভ করে । আর  সেই  শিক্ষার  বহিঃপ্রকাশ   ঘটে  তার  আচার , ব্যাবহার , সামাজিক  মূল্যবোধ  এর মাধ্যমে ।  মানুষ নিজের প্রয়োজন এ  সমাজ , পরিবেশ , পরিবার থেকে নিজে নিজে  শিখতে পছন্দ করে ।  আর তাই মানুষ হচ্ছে  সবচাইতে  best self learner . মানুষের এই গুনটি কে কাজে  লাগিয়ে  বর্তমান যুগে একটি  শক্তিশালী  platform  হিসেবে নিজেকে  দ্বার  করিয়েছে  Machine Learning .
Machine Learning   হচ্ছে  Artificial Intelligent   এর  একটি   platform .






Machine Learning  হচ্ছে  কতগুলো   Algorithm  এর  সমষ্টি  । এই   Algorithm   গুল  আমরা  যে কোন   Language  এ  implement  করতে  পারি  ।   Machine Learning  হতে পারে  কোন   Robot   বা  কোন   Intelligent  Software যাকে  কিছু  data দিলে  সে  সেই  data  গুল পর্যালোচনা  করে  নিজে নিজে  শিখে  problem  এর  output  প্রদান করে ।  কিছু   Machine learning program  হলও   ok google, prisma , cortana , Shiri  etc .



  • IBM Watson  হচ্ছে  এখন পর্যন্ত সবচাইতে  বুদ্ধিমান  প্রোগ্রাম ।   Warson API  ব্যাবহার  করে   Intelligent Software  তৈরি  করা যায় । 




  • Machine Learning এর  Deep Neural Network  এর   উপর  ভিত্তি  করে তৈরি করা  হয়েছে   prisma , যা   Image recognition  এবং   image processing  এর মাধ্যমে  আপনার   image  কে  আপনার মনের  মত  করে  তোলে  । কিছু কিছু  ক্ষেত্রে  ইমেজ সনাক্ত  করতে এটি  বেশি  ব্যাবহার করা হয় ।








  • Machine Learning  Algorithm  হচ্ছে  ৩  ধরনের ।




  •  Supervised   Learning - > কোন  Computer  program  কে  শিখিয়ে  দেয়া হচ্ছে   supervised learning . computer   কে কিছু  ইনপুট  দিলে  সেই ইনপুটের আলোকে  সে  তার  আউটপুট  প্রদান করে থাকে  । 




  • Unsupervised   Learning - >Unsupervised  learning  এ   output  কি হবে তা  বলে দেয়া  হয়না ।   program  নিজেই  তার   data  গুল  পর্যালোচনা  করে  নিজে  থেকে সম্ভাব্য    output  প্রদান করে থাকে নিজ  বুদ্ধিমত্তা কে  কাজে  লাগিয়ে ।




  • Reinforcement  Learning - >  Human Nature  যেভাবে  কোন কিছু শিখে  ঠিক  তার মতন করেই  শিখে   reinforcement  learning . যে কাজ টি  তার করতে বেশি ভাল  লাগে  সেই কাজটি  ই সে বেশি করে করে  ঠিক  মানুষের  মতন ।  আমরা  এখন সেই  Supervised learning  এর  যুগে  পড়ে  রয়েছি  এবং   Unsupervised  learning  নিয়ে  কাজ করে যাচ্ছি  নতুন  কিছু করার  সম্ভাবনায় ।





 Machine Learning  শিখার  জন্য  কোন কোন  language  আমার  জন্য suitable  হতে পারে ঃ  


  • R  Language - >  Statistical Analysis  এর  জন্য  বেষ্ট হলও  এই  R Language . অনেক  data নিয়ে  কাজ  করার  জন্য   R  একটি  জনপ্রিয়  programming  language . R Opensource programming  Language .



  • Python - > python  এ প্রচুর  পরিমাণে   built in library  থাকায়  এবং কাজ করতে  সহজ হওয়ায়  বর্তমান  এর  আরেকটি  জনপ্রিয়    language হয়ে  দাঁড়িয়েছে  এই  python .  data নিয়ে কাজ  করার  জন্য   Scikit learn  বেশি ব্যাবহার  করা হয়   python  এ  ।  Scikit learn  হচ্ছে  Machine    language  এর   একটি   framework .



  • এছাড়াও  আমরা  JAVA , MATLAB  দিয়েও  Machine  Learning   শিখতে  পারি । 


ধন্যবাদ  সবাইকে ।