Showing posts with label প্রোগ্রামিং নিয়ে কিছু কথা. Show all posts
Showing posts with label প্রোগ্রামিং নিয়ে কিছু কথা. Show all posts

Saturday, January 12, 2019

কম্পিউটার প্রোগ্রামিং শেখা কতটা গুরুত্বপূর্ণ ?
















প্রোগ্রামিং কতটা গুরুত্বপূর্ণ?

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

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

হ্যা এই অপারেটিং সিস্টেমের জন্যেই আমরা মাউসে এবং কিবোর্ডে হাত রেখে অনেক সহজে কম্পিউটার ব্যবহার করে দৈনন্দিন জিবনের অনেক কাজ করে থাকি।
আমরা একবারও কি ভেবে দেখেছি যে আমাদের কম্পিউটার কিভাবে কাজ করে ? অপারেটিং সিস্টেম কিভাবে কাজ করে এবং অপারেটিং সিস্টেমটি কিভাবে এলো?
না আমরা কখনোই এইসব ভেবে দেখিনি।

অপারেটিং সিস্টেম কিভাবে কাজ করে তা ব্যখ্যা করা আমার উদ্দেশ্য না আমার উদ্দেশ্য হচ্ছে প্রোগ্রামিংয়ের গুরুত্য তোলে ধরা। যেহেতু অপারেটিং সিস্টেম মাঝে চলেএসেছে তাহলে আরেকটু না বল্লেই নয় । আমরা কম্পিউটারে যে অপারেটিং সিস্টেম দেখতে পাই এইসব অপারেটিং সিস্টেমগুলো তৈরি করা হয়েছে কম্পিউটার  প্রোগ্রামিং ব্যবহার করে। তাহলে নিশ্চয়ই আমরা অনুধাবন করতে পারছি যে প্রোগ্রামিংয়ের গুরুত্য কতখানি?

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

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

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

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

আশাকরি কম্পিউটার প্রোগ্রামিং কি এবং প্রোগ্রামিংয়ের গুরুত্য কতখানি তা ঠিকঠাক ভাবে বুঝাতে পেরেছি।

এখন প্রশ্ন হচ্ছে আমরা কপিউটার সাইন্সের ছাত্র হিসেবে অথবা অন্য কোন বিষয়ের ছাত্র হিসেবে আমাদের কম্পিউটার প্রোগ্রামিং শিখা কতটা জরুরী ?

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

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

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











Saturday, January 5, 2019

Java কেন শিখব ?

প্রোগ্রামিং শিখার খেত্রে আমাদের মনে প্রথমে যে প্রশ্নটি আসে সেটি হচ্ছে কোন প্রোগ্রামিং ভাষা দিয়ে শিখা শুরু করব? এই প্রশ্নটির উত্তর হচ্ছে যে কোন একটি প্রোগ্রামিং ভাষা দিয়ে শিখা শুরু করা।



তবে আমি ব্যক্তিগত ভাবে বলতে গেলে Java Programming ভাষাকেই সমর্থন করব। জাভা প্রোগ্রামিং ভাষা কেন আমরা শিখব তা নিচের লিখাটি পড়লেই পরিষ্কার হয়ে যাবে।

  1. Java শিখা খুবই সহজ ঃ জাভা খোব সুন্দর এবং খোবই সহজ একটি প্রোগ্রামিং ভাষা। অনেক ভাল প্রোগ্রামাররা প্রোগ্রামিং শিখার জন্য প্রথম প্রোগ্রামিং ভাষা হিসেবে জাভা দিয়ে শিখা শুরু করতে বলে থাকেন, এর একটাই কারন জাভা খোবই সহজ প্রোগ্রামিং ভাষা। জাভা প্রোগ্রামিং ভাষার গঠন খোবই সহজ এবং সাবলীল।
  2. Java খোবই শক্তিশালী প্রোগ্রামিং ভাষা ঃ
    জাভা হচ্ছে খোবই শক্তিশালী একটি প্রোগ্রামিং ভাষা । জাভা দিয়ে অনেক জটিল প্রোগ্রামিং সমস্যা অনেক সহজেই সমাধান করা যায়। জাভার প্রচুর পরিমাণে লাইব্রেরী Method , class , Data Structure এবং Built in Collections  রয়েছে যার মাধ্যমে খোব সহজ এবং সুন্দর প্রোগ্রাম লিখা যায় এবং অনেক জটিল সমস্যার সমাধান করা যায়।
  3. Java একটি Object Oriented প্রোগ্রামিং ভাসাঃObject Oriented হওয়ার কারনে জাভা প্রোগ্রামিং এর ধারনা খোবই বর্ণনাযোগ্য এবং সহজ।
    Object Oriented হচ্ছে একটি সফটওয়্যার সল্যুশন দৃষ্টান্ত, যার মাধ্যমে অনেক সহজে অনেক বড় বড় সফটওয়্যার ডিজাইন, সল্যুশন এবং বানানো হয়ে থাকে।
    সব থেকে বড় কথা হচ্ছে জাভা একটি পূর্ণ Object Oriented প্রোগ্রামিং ভাষা।
  4. Java  একটি সার্বজনীন প্রোগ্রামিং ভাষা ঃ
    জাভাকে সার্বজনীন প্রোগ্রামিং ভাষা বলার কারন হচ্ছে জাভা সব জায়গায় ব্যবহৃত হয় ।
    যেমন ঃ               ১  এন্ড্রোয়েড এপলিকেশন।
                  ২  ওয়েব অ্যাপ্লিকেশন।
                  ৩  গ্রাফিকাল ইউজার ইন্টারফেস অ্যাপ্লিকেশন।
                  ৪  এমবেডেড সিস্টেম।
                  ৫ বৈজ্ঞানিক এপলিকেশন।
                  ৬ এন্টারপ্রাইস এপলিকেশন।
                  ৭ ডেস্কটপ এপলিকেশন।
  5. পর্যাপ্ত শিখার উপকরণ ঃ
    জাভা প্রোগ্রামিং শিখার জন্য বাজারে অনেক ভাল বই পাওয়া যায় এবং অনলাইনে অনেক ভাল সাইট রয়েছে যেখানে বিনামূল্যে জাভা প্রোগ্রামিং শিখার পর্যাপ্ত তথ্য রয়েছে ।
    এছারাও YouTube এ অনেক ভাল বিভিন্ন ভাষার ভিডিও টিওটরিয়াল রয়েছে।

    এবং সবথেকে বর কথা হচ্ছে জাভা প্রোগ্রামিং এর ডকুমেন্টেশন খোবই বড় এবং তথ্যবহুল । নিজেকে একজন ভাল জাভা প্রোগ্রামার হিসেবে গরে তোলতে, জাভা ডকুমেন্টেশন অনুসরণ করা খোবই গুরুত্বপূর্ণ।
  6. আধুনিক শক্তিশালী Development Tools :
    জাভা প্রোগ্রামিং এবং ডেভেলোপমেন্টের জন্য রয়েছে আধুনিক এবং শক্তিশালী সব IDE (integrated development environment) যার মাধ্যমে অনেক সহজে জাভা প্রোগ্রাম লিখা যায় এবং শক্তিশালী এপলিকেশন বানানো যায়।
    যেমন ঃ
                   ১. Eclips
                   ২ Netbeans
                   ৩ intellij idea
  7. বিশাল জাভা প্রোগ্রামার সম্প্রদায় ঃ
    সারা বিশ্যে ১০ মিলিয়নের বেশি জাভা ডেভেলোপার রয়েছে । বিভিন্য Facebook Group এবং Online এর বিভিন্য সাইট রয়েছে যেখানে অনেক ডেভেলোপাররা জাভা প্রোগ্রামিং বিষয়ক বিভিন্য লিখালিখি এবং বিভিন্য সমস্যা নিয়ে কথা বলে থাকেন এবং সমাধান দিয়ে থাকেন।তাছারা ইচ্ছে করলে তাদের সাথে বিভিন্য সমস্যা নিয়ে আলোচনা করারও সুযোগও রয়েছে।
    এবং সবথেকে মজার বিষয় হচ্ছে প্রোগ্রামাররা একজন আরেকজনকে সাহাজ্য করতে কখনোও দ্বিধা বোধ করে না।
    YouTube এ অনেক চেনেল রয়েছে যেখানে অনেক টিওটরিয়াল ভিডিও পাওয়া যায় জেগুলু একজন নতুন জাভা প্রোগ্রামেরকে সাহায্য করে তার প্রোগ্রামিং দখতা বারাতে।
  8. বাস্তব জিবনে জাভার কিছু উদাহরণ ঃ 
    Facebook, Amazon, LinkedIn এর মত জনপ্রিয় সাইটগুলু ডেভেলপমেন্ট করতে বিভিন্য জায়গায় জাভা ব্যবহৃত হয়ছে।
    এন্ড্রোয়েড অপারেটিং সিস্টেম ডেভেলোপ করতে বেশিরভাগ জায়গায় জাভা প্রোগ্রামিং ব্যবহার করা হয়েছে।
    তাছারা কিছুদিন আগেও এন্ড্রোয়েড অ্যাপ্লিকেশন তৈরিতে শুধুমাত্র জাভা প্রোগ্রামিং ব্যবহৃত হত।
  9. চাকুরি শুভিধা ঃ 
    সবশেষে বলতে গেলে জাভা প্রোগ্রামিং শিখলে অনেক চাকুরি শুভিধা রয়েছে ।






                   

Tuesday, October 10, 2017

অনলাইন জাজ কি এবং কেন।

অনলাইন জাজ কি এবং কেন।

আজকে আলোচনা করব অনলাইন জাজ নিয়ে।


অনলাইন জাজ ঃঅনেক ওয়েবসাইট আছে, যেখানে অনেক প্রোগ্রামিং সমস্যা দেওয়া আছে এবং        সেগুলোর সমাধান করে জমা দিলে স্বয়ংক্রিয়ভাবে পর্যবেক্ষণ করে বলে দেওয়া  হয় যে সমাধানটি সঠিক কিনা। এই ধরনের ওয়েবসাইট কে বলা হয় অনলাইন  জাজ।

😟অনলাইন  জাজে  কি  থাকে  এবং  কি  করতে  হয় ?

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

🍅এখন  প্রশ্ন  হল  অনলাইন  জাজে  প্রোগ্রামিং  সমস্যা  থাকে  ভাল  কথা , এই  সমস্যাগুলো কেন 
     সাজানো হয়েছে? কদের জন্য সাজানো হয়েছে ?

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

    এতক্ষণ  তো  অনলাইন  জাজের  প্ররিচয় দিলাম  মাত্র ,

 😡এখন  আসব  আসল কথায়  কেন  একজন  ভাল প্রোগ্রামার  হতে  হলে  অনলাইন  জাজের  গুরুত্ত  এত  বেশি ।
                 একটা  কথা আমরা  সবাই  জানি  যে   Practice  make  a  man  perfect .  প্রোগ্রামিংয়েও                     একইভাবে  যে  যত  বেশি  প্রোগ্রাম  লিখবে , সমস্যা  সমাধান  করবে  সে  তত  বেশি  দক্ষ  প্রোগ্রামার  হবে । এই  বেশি  বেশি  প্রোগ্রামিং  চর্চা  করার  জন্য  আমাদের  জন্য  সবথেকে  সহজ  এবং  সুভিধাজনক  জায়গা  হচ্ছে  অনলাইন  জাজ ।  তাই  আমরা  যদি  কেউ  প্রোগ্রামিং  দক্ষতা  বারাতে  বা  নিজেকে  ভাল  প্রোগ্রামার  হিসেবে  গড়ে  তোলতে  চাই  তাহলে  আমাদের  প্রত্যেকেরই  অনলাইন  জাজগুলোতে  গিয়ে  সমস্যা  সমাধানের  মাধ্যমে নিজের  প্রোগ্রামিং  দক্ষতা  বাড়ানো  প্রয়জন । 

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

তুমি  প্রোগ্রামিং  সমস্যা  সমাধানের  জন্য  অনলাইনে  অনেক অনলাইন  জাজ  পাবে, তাদের  মধে  কয়েকটির  নাম  আমি  বলে  দিচ্ছি.....................

         *  Uri online judge  (  https://www.urionlinejudge.com.br/judge/en  )                   
         *  Uva online judge  (  https://uva.onlinejudge.org/index.php )
         *  Hackerrank           (  https://www.hackerrank.com/dashboard  )
         *  Topcoder               (  https://www.topcoder.com/  )
         *  Codeforces           (  http://codeforces.com/  )

যারা  প্রোগ্রামিং  এ  নতুন  তাদেরকে  আমি  Uri online judge  এবং  Uva online judge  এই দুটুর  যেকোন  একটি  দিয়ে  শুরু  করতে  বলব  এই  সাইটগুলোতে  যেমন  সহজ  সমস্যা  রয়েছে  তেমনি  কঠিন  সমস্যাও  রয়েছে  ।  তাই সাইটগুলোতে  যারা  প্রোগ্রামিংয়ে নতুন  অথবা  যারা  আগে  থেকে  প্রোগ্রামিং  করে   যে  কেউ  চর্চা  করতে  পারে।  উপরে  বর্ণিত  সাইটগুলোর  কোনটিই  যদি  পছন্দ  না হয়  তাহলে  আরো  অনেক  অনলাইন  জাজ  রয়েছে  সেখানে  গিয়েও  প্রোগ্রামিং  চর্চা  করা  যেতে  পারে । কোন জাজ  এ  তুমি  চর্চা  করছ  সেটা  বড়  কথা  না  বড়  কথা  হছে  তুমি  চর্চা  করতেছ  কিনা। তাই  যেকোন  অনলাইন  জাজে  গিয়েই  তুমি  চর্চা  করতে  পারো।

আমি  আগেই  বলেছি  যে  অনলাইন  জাজগুলোতে  প্রোগ্রামিং  প্রতিযোগিতার  আয়োজন  করা  হয়ে  থাকে  তাই  এইসব  সাইটগুলোতে  প্রোগ্রামিং  চর্চার  পাশাপাশি  প্রোগ্রামিং  প্রতিযোগিতায়  অংশগ্রহণ  করার  মাধ্যমে  প্রোগ্রামিংয়ে  আরো  ভাল  করার  সুযোগ  সৃষ্টি  হয়।

এই  ছিল  অনলাইন  জাজ  নিয়ে  আমার  কথা  আশা  করছি  অনলাইন  জাজ  সম্পর্কে  এবং  অনলাইন  জাজ এর  গুরুত্ত  সম্পর্কে  তোমাদের  মাঝে  একটা  মোটামোটি  ধারনা  সৃষ্টি  করতে  পেরেছি  ।

লিখাটি  পড়ার পরও  যদি  আরো  কিছু  জানার  থাকে  তাহলে  কমেন্ট  করে  দিতে  পারো  তোমার  প্রশ্নটি  । যথাসাধ্য  সাহায্য  করার  চেষ্টা  করব  উত্তর  দিতে।


লিখাটি  পড়ার  জন্য  ধন্যবাদ ।
                                                     ( সাইফুল ইসলাম )।








                    


Wednesday, October 4, 2017

কিভাবে প্রোগ্রামিং এ দক্ষতা বাড়ানো যায় ? How to be a good programmer?

কিভাবে প্রোগ্রামিং এ দক্ষতা বাড়ানো যায় ?

প্রোগ্রামিং এর একটা মৌলিক বিষয় হচ্ছে তুমি যত বেশি অনুশীলন করবে তত বেশি দক্ষতা অর্জন করবে।

এখন আমাদের মনের প্রশ্ন হল সবাই বলে যে  অনুশীলন (practice) করার জন্য কিন্তু কোথায় করব কিভাবে করব অনুশীলন (practice) ?

আসলে এখানে অনুশীলন করা বলতে বুঝায় প্রতিনিয়ত প্রোগ্রামিং এর নতুন নতুন বৈশিষ্ট্য  বা (feature) গুলু সম্পর্কে জ্ঞান অর্জন করতে থাকা ।
বিভিন্ন কৌশল বা (technique) শিখা , কিভাবে কোড (code) এর রান করার সময় কমিয়ে আনা যায় , কিভাবে প্রোগ্রামের স্টোরেজ বা মেমোরি আয়তন কমিয়ে আনা যায়। কিভাবে কোড (code) লিখলে সবাই বুঝতে সুভিদে হয় ইত্যাদি ইত্যাদি, এই পর্যন্ত হল প্রোগ্রামিং ভাষা শিখার জন্য যা যা করা লাগে । তবে শুধু এই পর্যন্ত শিখে  আর অনুশীলন করা পর্যন্তই শেষ না , তুমি উপরের সবগুলো কাজ ই অনেক সুন্দর ভাবে করলে এখন তোমাকে প্রোগ্রামিংয়ে আরো ভাল এবং নিযেকে আরো দক্ষ করে তোলতে হবে।

## এখন প্রশ্ন হল প্রোগ্রামিংয়ে আরো ভাল করতে হলে অথবা প্রোগ্রামিং এ নিজেকে আরও দক্ষ করতে হলে কি করা উচিত ? কিভাবে এগোলে প্রোগ্রামিং এ ভাল করা যাবে ? 

তোমার মনে যদি এই প্রশ্ন ঘুরে আর তুমি যদি প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখে থাক তাহলে আমি বলব তুমি নিচের বিসয়গুলু শিখা শুরু করে দাও। নিচে ক্রমান্বয়ে বিষয়বস্তু গুলু তুলে ধরা হল।

(১) Data structure

         * Array
         * Linked list
         * Stack
         * Queue
         * Searching
         * Sorting
         * Graph Data structure
         * Tree Data structure
         * Recursion
 
   ==> DATA STRUCTURE  এর এই বিষয়(topic) গুলো  ভাল ভাবে শিখে ফেল এবং এই সব বিষয়                 সম্পর্কিত প্রোগ্রামিং প্রব্লেম গুলু অনলাইন থেকে এবং নিজের প্রচেষ্টায় বাস্তবায়ন(implement)             করতে থাক এবং অনুশীলন করতে থাক।
           এবং কোন DATA STRUCTURE টা  কেন কখন এবং কোথায় ব্যবহার করব এই সবকিছু                   জানার চেষ্টা কর এবং ব্যবহারের পধ্যতিগুলু অনুশীলন করতে থাক।

       এখন তোমার যখনই মনে হবে DATA STRUCTURE এর বিসয়গুলু তুমি বুঝতে পেরেছ এবং এইগুলুকে প্রোগ্রাম এ ব্যবহার করতে পারছ তখনই তোমার পরবর্তী  ধাপ হবে Algorithm শিখা ।

(২) Algorithm

         * Complexity of algorithme
         * Recursion
         * Search Algorithms
         * Sorting Algorithms
         * Divide and Conquer
               > Quick Sort
               > Merge Sort
         * The Greedy Algorithm
         * Dynamic Programming
         * Backtracking Algorithm

       এখানে শুধু ধারনা দেয়ার জন্য কয়েকটি বিসয়বস্তুর নাম তুলে ধরলাম যখন তুমি শিখবে তখন  আরো বিস্তারিত ভাবে শিখবে । Algorithm শিখার জন্য তুমি অনলাইন থেকে সাহায্য অথবা Algorithm এর বই অনুসরন করে শুরু করতে পার । তাছারা অনলাইনে অনেক ওয়েবসাইট আছে যেমন (tutorialspoint.com) এইরকম আরো অসংখ্য ওয়েবসাইট রয়েছে, ইউটিউবে  অনেক  চেনেল আছে
সেখান থেকে শিখতে পার ।

তবে মনে রাখবে যখনই কোনকিছু বুঝতে সমস্যা হবে তখনই  GOOGLE এ গিয়ে খোঁজে বের করে শিখে ফেলবে । কোনকিছু গুগল করে নিজে নিজে শিখাটা অনেক ভাল অভ্যাস।

এখানে আরো একটি বিষয় তা হল String সম্পর্কেও ভাল ধারনা প্রয়োজন।

তাই সময় নষ্ট না করে এখনি সুরু করে দাও।

এতক্ষণ যা বললাম এইগুলু ছিল শিখার জন্য প্রাথমিক কিছু ধারনা এখন আসি আসল কথায় , উপরের বর্ণিত বিসয়গুলি শিখার পাশাপাশি অথবা শিখার পর প্রোগ্রামিংয়ে আরো ভাল করতে হলে যেটা করতে হবে সেটা হল বিভিন্ন প্রোগ্রামিং সমস্যা সমাধার করা। যেমন অনলাইনে অনেক সাইট রয়েছে যেগুলুতে প্রচুর পরিমান সমস্যা দেয়া আছে তাদের মধ্যে কয়েকটি অন্যতম হল hackerrank.com, leetcode.com, codeforces.com and codechef.com) etc। এই সাইটগুলোতে গেলে তুমি পাবে অনেক মজার মজার প্রোগ্রামিং সমস্যা । তাই এখনি Account খুলে practice আরম্ভ করে দাও।

এইভাবেই তুমি যখন বিভিন্ন সাইটে গিয়ে সমস্যা  সমাধান করতে থাকবে আসতে আসতে তত বেশি তোমার প্রোগ্রামিং দক্ষতা বাড়তে থাকবে ।

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

লিখাটি পড়ে যদি ভাল লাগে তাহলে অবশ্যই comment আশা করছি।😎😎

আরো কিছু জানার থকলে কমেন্ট বক্স এ কমেন্ট করতে পারো। অথবা আমাকে মেইল করতে পারো
(  saiful.comilla24@yahoo.com  )  অথবা ফেইসবুকে আমাকে বার্তা পাঠাতে পার।


ভুল ভ্রান্তি মার্জনীয়..................।।😎😏

Wednesday, September 27, 2017

কম্পিউটার সায়েন্স নিয়ে পড়াশোনা কড়ছ ,প্রোগ্রামার হতে চাও কিভাবে শুরু করবা বুঝে উঠতে পারছনা তাহলে নিচের লিখাটি তোমার জন্যই।

#প্রথমে আমি কথা বলব প্রোগ্রামিং নিয়ে , ।।

কম্পিউটার সায়েন্স নিয়ে পরছে কিন্তু প্রোগ্রামিং এর নাম সোনেনি এমন একজনকেও খোঁজে পাওয়া কষ্টকর ।
এখন আসি প্রোগ্রামিং কি এবং কেন প্রোগ্রামিং করা আমাদের প্রয়োজন । কোন সমস্যাকে কম্পিউটারের বুঝার উপযোগী করে সমাধান করাই হল কম্পিউটার প্রোগ্রামিং।
এখন এই  কম্পিউটারের বুঝার উপযোগী করে প্রোগ্রাম লিখতে হলে আমাদেরকে প্রোগ্রামিং ভাষা ব্যবহার করতে হয় যেমন ( সি , সি++ , জাভা , পাইথন , পি এইচ পি  )  ইত্যাদি ।
এখন আমাদের মনে প্রশ্ন আসতে পারে যে প্রোগ্রামিং ভাষা সি , সি++ এইগুলু আবার কি , ভয় পাওয়ার তেমন কিছুই নেই  এইগুলু হচ্ছে প্রোগ্রামিং ভাষা যে ভাষা কম্পিউটার বুঝতে পারে।
বিসয় টা জটিল হয়ে যাচ্ছে? আচ্ছা তাহলে সহজ করে বলি , প্রোগ্রামিং ভাষা বলতে বুঝায় , যে ভাষা কম্পিউটার বুঝতে পারে এবং যে ভাসায় প্রোগ্রাম লিখা হয়।

#এখন আসব আসল কথায় , কেন আমরা প্রোগ্রামিং ভাষা এবং প্রোগ্রামিং শিখব।

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

#এখন তোমাদের মনে প্রশ্ন জাগতে পারে যে শুধু মাত্র কম্পিউটার কে দিয়ে কোন কাজ করানোর জন্যই কি আমরা প্রোগ্রামিং শিখব? তাহলে আমি বলব না সুধুমাত্র এই জন্যই তোমরা প্রোগ্রামিং শিখবে না ।

#প্রোগ্রাম দিয়ে কি করা হয়?

তুমি তোমার কম্পিউটার এ যত গুলো সফটওয়্যার ব্যবহার করছ এই প্রত্তেকটি সফটওয়্যার অসংখ্য প্রোগ্রাম এর সমন্বয়ে বানানো । আরও একটা মজার বিষয় হচ্ছে তুমি যে ওয়েব ব্রাউজার ব্যবহার করে আমার এই লিখাটি পরছ
এই ওয়েব ব্রাউজার টি বানাতে এবং আমার ওয়েবসাইট টি বানাতে ও প্রোগ্রাম ব্যবহার হয়েছে ।
আমরা এখন যে স্মার্টফোন ব্যবহার করি এবং যত ধরনের গেম খেলি এই সবকিছু বানাতে প্রোগ্রাম ব্যবহার হয়ছে ।
এক কথায় বলা যায় কম্পিউটার , মোবাইল , এবং ওয়েব জগতের জা কিছু আছে এই সবকিছু বানাতে প্রোগ্রাম এবং প্রোগ্রামিং প্রয়োজন ।

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

কম্পিউটার প্রোগ্রামিং শেখা কতটা গুরুত্বপূর্ণ ?

প্রোগ্রামিং কতটা গুরুত্বপূর্ণ? কম্পিউটার বিজ্ঞানের অনেক বড় একটা অংশ জুড়েই রয়েছে প্রোগ্রামিংয়ের দখল। প্রোগ্রামিং ছাড়া আমর...