স্টেপ-১::
পাঁচটা বেসিক জিনিস সম্পর্কে ক্লিয়ার ধারণা থাকতে হবে- variable, if-else, array, for loop এবং function। আরো বেশি শিখার জন্য একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ ঠিক করতে হবে। পাইথন, জাভা, C++, জাভাস্ক্রিপ্ট, C# বা অন্য যে কোন একটা।
স্টেপ-২:
প্রোগ্রাম চলার সময় বিভিন্ন তথ্য বা ডাটা কিভাবে রাখতে হবে সেটা বুঝার জন্য কয়েকটা ডাটা স্ট্রাকচার (data structure) শিখতে হবে। তার মধ্যে হ্যাশ টেবিল (hash table) বা ডিকশনারি মাস্ট শিখতে হবে। তারপরে Stack এবং Queue সম্পর্কে কিছু আইডিয়া নিতে হবে। বেশি তেল থাকলে linked list, Tree নিয়ে গুতাগুতি করতে পারেন।
স্টেপ-৩:::
একটা array এর মধ্যে নির্দিষ্ট কোন একটা উপাদান খুঁজে বের করা পদ্ধতিতে বলা হয় search। মিনিমাম linear search এবং binary search এর কোড নিজ হাতে লিখে প্রাকটিস করতে হবে।
একটা array এর উপাদানগুলিকে ছোট থেকে বড় বা বড় থেকে ছোট সাজানোর পদ্ধতিকে প্রোগ্রামিং এর ভাষায় sorting বলে। কমপক্ষে bubble sort নিজ হাতে প্রোগ্রামিং করতে পারতে হবে। অন্যসব sorting যেমন, merge sort, selection sort, insertion sort নিজে নিজে প্রোগ্রামিং করতে পারলে আপনি এগিয়ে যাবেন।
স্টেপ-৪:::
কোন একটা সফটওয়্যার এপ্লিকেশনের ডাটা দীর্ঘ মেয়াদে সংরক্ষণ করার জন্য ডাটাবেস ব্যবহার করা হয়। ডাটাবেস গুলার মধ্যে Microsoft SQL এবং MySQL জনপ্রিয়। এই দুইটার যেকোনো একটাতে কিভাবে ডাটা রাখতে হয়, বের করে আনতে হয় সেটা জানতে হবে। আরো একটু বেশি জানতে চাইলে, কোন একটা স্কুলের বিভিন্ন ক্লাসের স্টুডেন্টদের নাম, সাবজেক্ট, পরীক্ষার নম্বর সহ যাবতীয় তথ্য সংরক্ষণের জন্য ডাটাবেসে কি কি টেবিল লাগবে সেটা শিখতে হবে।
স্টেপ-৫::
প্রোগ্রামিং কনসেপ্ট সম্পর্কে ধারনা থাকতে হবে। তারমধ্যে সবচেয়ে গুরুত্বপূর্ণ হচ্ছে Object Oriented Programming যেটাকে সংক্ষেপে OOP বলা হয়। OOP তে প্রোগ্রাম এর বিভিন্ন জিনিসকে বাস্তব দুনিয়ার বস্তু বা অবজেক্ট হিসেবে চিন্তা করা হয়। OOP এর তিনটা প্রধান অংশ- Inheritance, Encapsulation এবং Polymorphism সম্পর্কে ক্লিয়ার ধারণা থাকতে হবে।
স্টেপ-৬:
আপনাকে নিজে নিজে প্রোগ্রামিং করতে হবে। দরকার হইলে গুগলে সার্চ দিয়ে কোন ওয়েবসাইট থেকে দেখে দেখে টাইপ করবেন তারপরেও নিজে নিজে প্রোগ্রামিং করতে হবে। ছোট ছোট প্রোগ্রাম দিয়ে শুরু করতে হবে। যেমন, আয়তক্ষেত্রের দৈর্ঘ্য, প্রস্থ দিলে সেটার ক্ষেত্রফল বের করে দিতে পারে এমন প্রোগ্রাম। তবে প্রোগ্রামার হইতে হইলে আপনাকে fibonacchi series বের করার একাধিক পদ্ধতি জানতেই হবে। আরো কিছু দিন পরে ক্যালকুলেটর বানানোর প্রোগ্রাম নিজে নিজে পারতে হবে।
স্টেপ-৭:::
সব প্রোগ্রামিং ল্যাঙ্গুয়েজেরই কিছু জনপ্রিয় প্যাকেজ/লাইব্রেরি/ফ্রেমওয়ার্ক থাকে। আপনাকে কমপক্ষে একটা ভালো করে জানতে হবে। তবে ধীরে ধীরে আরো কয়েকটা সম্পর্কে ধারণা নিতে হবে। প্রোগ্রামিং করার সময় বিভিন্ন সফটওয়্যার ব্যবহার করা হয়। যেমন, eclipse, visual studio, webstorm, sublime text, Notepad++, ইত্যাদি। এদের যেকোনো একটা ব্যবহার করা জানতে হবে।
স্টেপ-৮::::
কোন একটা বিশাল সফটওয়্যার প্রোগ্রামে যদি একাধিক প্রোগ্রামার কাজ করে, তাইলে কোডগুলা কোন একটা ভার্সন কন্ট্রোল বা সোর্স কন্ট্রোল সফটওয়্যার দিয়ে সেইভ করা হয়। সোর্স কন্ট্রোল সফটওয়্যার এর মধ্যে সবচেয়ে বেশি জনপ্রিয় -github। প্রোগ্রামার হইতে হইলে আপনার github একাউন্ট এবং সেখানে কয়েকটা নিজস্ব প্রজেক্টের কোড থাকা উচিত।
স্টেপ-৯::::
আপনাকে গুগল করে যেকোনো প্রবলেমের সল্যুশন বের করার দক্ষতা অর্জন করতে হবে। যারা আপনার চাইতে এগিয়ে আছে তাদের ফলো করতে হবে। ঘন্টার পর ঘন্টা টিউটোরিয়াল দেখে কাটাইতে হবে। stackoverflow তে অন্যদের প্রশ্নের উত্তর ব্যবহার করে আপনার সমস্যার সমাধান করা জানতে হবে। সবচেয়ে ভালো হয় কেউ যদি প্রোগ্রামিং কনটেস্ট বা অনলাইনে প্রবলেম সলভ করার চেষ্টা করেন।
স্টেপ-১০::::
প্রোগ্রামার হইতে হইলে আত্ম-উদ্যোগী হয়ে লেগে থাকতে হবে। নিত্য নতুন কিছু ট্রাই করার ইচ্ছা থাকতে হবে। নিজে নিজে কিছু করার আকাঙ্ক্ষা থাকতে হবে।
Object Oriented Programming সম্পর্কে প্রাথমিক ধারণা:::
আপনার নিজের কিছু সম্পদ আছে যেমন-ল্যাপটপ, মোবাইল ইত্যাদি। আপনি আবার উত্তরাধিকার সূত্রে আপনার পরিবার থেকে থাকার জায়গা (বাসা) পেয়ে থাকেন। যদিও বাসাটা আপনার না, তারপরেও আপনি উত্তরাধিকার সূত্রে সেই বাসা ব্যবহার করতে পারেন। এইটাই Inheritance বা উত্তরাধিকার।
আপনার বাসায় যে ময়লা নিতে আসে তাকে কিন্তু বাসার ভিতরে ঢুকতে দেন না। সে জানে না বাসার কোথায় কিভাবে ময়লা রাখা হয়। তারমানে বাসার ভিতরে ময়লা রাখার পদ্ধতি তার কাছে লুকানো বা Encapsule করা। তার সেটা জানার দরকারও নাই। খালি- ময়লা বলে ডাক দিলে, ময়লা দিয়ে গেলেই হলো। বাইরের মানুষের কাছ থেকে ভিতরের জিনিস লুকানোকেই Encapsulation বলে।
আপনার আব্বু অফিস থেকে ফিরে এসে যদি বলে- এই টেবিলে পানি নাই। অনেক সময় আপনার আম্মু এসে পানি দিয়ে যায়। আবার কখনো কখনো আপনাদের বাসার কাজের লোক এসে পানি দিয়ে যায়। কালেভদ্রে আপনার ছোটবোনও টেবিলে পানি রেখে যায়। এখন কে পানি দিয়ে যাচ্ছে সেটা আপনার আব্বুর কাছে মুখ্য না। যখন যে আছে সে করে দিলেই হবে। তারমানে পানি দিয়ে যাওয়ার কাজটা অনেকেই করতে পারে। এইটাই অনেকটা Polymorphism এর মত।
সূত্রঃ JhankarMahbub