প্রোগ্রামিং শিখতে হলে কিভাবে শুরু করবো?
প্রোগ্রামিং লিখতে শেখা তোমার মনকে প্রসারিত করে এবং তোমাকে আরো ভালোভাবে চিন্তা করতে শেখায় , এর মাধ্যমে তুমি এমন ভাবে চিন্তা করতে শিখবে যা জীবনের বিভিন্ন ক্ষেত্রে তোমাকে সাহায্য করবে । – বিল গেটস
কোড শেখা একটি নতুন দক্ষতা যা আজকাল জনপ্রিয়। আপনি যা (যৌক্তিক) ভাবতে পারেন তার সবকিছুই একটি অ্যাপ বা ওয়েবসাইট ব্যবহার করে করা যেতে পারে ।
অ্যাপ্লিকেশনগুলি ডিজিটাইজড হওয়ার সাথে সাথে প্রোগ্রামারদের চাহিদাও বৃদ্ধি পাচ্ছে।
কিভাবে কোড শিখবেন ?
শুরু করার আগে আমি আপনাকে একটা কঠিন কথা বলি যে, আপনি এমন একটি পথ বেছে নিয়েছেন যে পথে চ্যালেঞ্জ থাকা সত্ত্বেও আপনি কখনও হাল ছেড়ে না দিয়ে ধৈর্য ধারন করবেন এবং Self Motivated থাকবেন ।
প্রথম এবং প্রধান পদক্ষেপ হল প্রোগ্রামিং ভাষা বেছে নেওয়া। C দিয়ে শুরু করতে পারেন, কারণ এর সীমিত শব্দভাণ্ডার (32টি কীওয়ার্ড সেট)। প্রায় প্রতিটি ভাষার তুলনায় C শিখতে কম সময় লাগে।
তবে, শেখার জন্য নির্দিষ্ট প্রোগ্রামিং ভাষা নেই। বরং, আপনি কি করতে চান সেটা আগে ঠিক করুন। তারপর, সংশ্লিষ্ট প্রোগ্রামিং ভাষা(গুলি) শিখুন।
আপনি যদি একটি মোবাইল অ্যাপ তৈরি করার পরিকল্পনা করেন তাহলে Android এর জন্য Java বা Kotlin এবং iOS এর জন্য Swift দিয়ে শুরু করতে পারেন ।
এবং আপনি যদি একটি ওয়েবসাইট তৈরি করতে চান, তাহলে শুরু করার জন্য Javascript, PHP দিয়ে শুরু করতে পারেন ।
আপনি নিম্নলিখিত দুটি উপায়ে প্রোগ্রামিং ভাষা শিখতে চাইতে পারেন:
1. ইন্টারেক্টিভ ওয়েবসাইটগুলির মাধ্যমে
Codecademy এবং Freecodecamp-এর মতো ওয়েবসাইটগুলি ইন্টারেক্টিভ কোডিং সেশনের জন্য আপনারা দেখতে পারেন । এই ওয়েবসাইটগুলি খুব দ্রুত কোডিং শুরু করার জন্য অনলাইন এডিটর এবং কম্পাইলার অফার করে।
2. ভিডিও টিউটোরিয়ালের মাধ্যমে
আপনি যদি যেকোনো জিনিস বিস্তারিত জানতে পছন্দ করেন, তাহলে আমি বলব আপনি একটি Online Programming Tutorial খুজে বের করুন, যেখানে আপনি এডিটর setup করা থেকে শুরু করে প্রোজেক্ট কিভাবে করতে হয় ধাপে ধাপে শিখতে পারবেন । কিছু কোর্স আছে যেগুলো সার্টিফিকেশনও অফার করে যা আপনাকে পরবর্তীতে চাকরি পেতে সাহায্য করতে পারে।
আমি যে দুইটি উপায় উল্লেখ করেছি সেগুলি মূলত একক প্রচেষ্টা। তবে, আমি একজন মেন্টর খোঁজার পরামর্শ দিই। আপনি শেখার সময় এমন সমস্যার সম্মুখীন হতে পারেন যে, আপনি যতই চেষ্টা করুন না কেন, সমাধান করতে পারবেন না। এই যায়গাটায় মেন্টর সাহায্য করতে পারেন। একজন মেন্টর প্রকৃত শিক্ষক হওয়ার প্রয়োজন নেই – আপনার ভাষায় জ্ঞানী যে কেউ হতে পারে, যারা কঠিন ধারণা ব্যাখ্যা করতে পারে এবং আপনাকে সমাধানের দিকে নির্দেশ করতে পারে। এছাড়াও, একজন অভিজ্ঞ মেন্টর আপনাকে টিউটোরিয়ালগুলিতে অন্তর্ভুক্ত নয় এমন কোডিং অনুশীলনগুলি অনুসরণ করতে এবং প্রযুক্তিতে ক্যারিয়ার নেভিগেট করার জন্য পরামর্শ দিয়ে সহায়তা করতে পারে।
প্রোগ্রামিং বেসিক শেখার উপর ফোকাস করুন
মনে রাখবেন শুরুতে আপনাকে প্রগ্রামিং-এর সবকিছু জানতে হবে না। মৌলিক বিষয়গুলোতে সময় দিন । প্রো কোডার হওয়ার জন্য আপনার মৌলিক বিষয়গুলিকে 💪 শক্তিশালী করতে হবে। এগুলোই আপনার 👍Programming Career -এর ভিত্তি । আপনি যদি মনে করেন কয়েক ঘণ্টা সময় দিলেই বুঝে যাবেন, তাহলে ভুল করবেন । আপনাকে নিয়মিত চর্চা করতে হবে । ২-৩ মাস নিয়মিত চর্চা করার মাধ্যমে আপনি মৌলিক বিষয়গুলো আয়ও করতে পারবেন ।
নিম্নলিখিত বিষয়গুলো ভালভাবে শিখুন, কারণ এই বিষয়গুলো প্রায় সব ভাষায় প্রচলিত।
Data Types
Variables
Functions
Operators
Array or Lists
If statements
Conditional loops
Classes and objects
Exception handling
Trees, maps, and many more
প্রোজেক্ট তৈরি করুন
আপনি যা শিখেছেন তা যাচাই করার সর্বোত্তম উপায় হল প্রোজেক্ট তৈরি করা । মৌলিক বিষয়গুলো আয়ত্ত করার পরে আপনাকে অবশ্যই প্রজেক্ট করতে হবে । শুধুমাত্র প্রজেক্ট করার মাধ্যমেই আপনি প্রোগ্রামিং এর পরিপূর্ণ প্রয়োগ বুঝতে পারবেন। রসগোল্লা না খেলে যেমন এর স্বাদ বোঝা যায়না, প্রোজেক্ট না করলেও প্রগ্রামিং এর মজা পাওয়া যায় না।
ছোট ছোট অনেক প্রোজেক্ট আছে যেগুলো আপনি নিজেই চেষ্টা করতে পারেন। যেমন –
১। একটি টাইম কনভার্টার, যেখানে সেকেন্ড ইনপুট দিলে সমতুল্য ঘন্টা, মিনিট, দিন দেখাবে।
২। একটি Random Number জেনারেটর, যা দুটি নির্দিষ্ট মানের মধ্যে একটি এলোমেলো সংখ্যা তৈরি করে।
৩। একটি ক্যালকুলেটর, যেখানে ইনপুট হবে দুইটি নাম্বার এবং গাণিতিক অপারেটর এবং আউটপুট হবে ফলাফল।
৪। একটি Address Book, যেখানে ব্যবহারকারীরা যোগাযোগের ঠিকানা জমা দিতে পারে, তারপর আপনার প্রোগ্রামে সংরক্ষিত পরিচিতিগুলি অনুসন্ধান করতে পারে।
ধৈর্য এবং নিয়মিত চর্চার মাধ্যমে আপনি একজন পেশাদার প্রোগ্রামার হবেন এবং দেশকে এগিয়ে নিয়ে যাবেন ।
শুভকামনা

ডেভেলপমেন্ট লিড এন্ড মেন্টর, পন্ডিত
Results-oriented, resourceful and problem-solving software engineer professional specializing in large scale software design and development for a wide variety of companies. High level of involvement in the advancement of the industry and adherence to best practice.