একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখতে কীভাবে শুরু করা উচিত ?
Tags: programming, problemsolving, beginners, codenewbie
Published: 2022-04-12 18:24:40

[প্রোগ্রামিং ল্যাঙ্গুয়েজ শেখার রোডম্যাপ সম্পর্কে ব্যাসিক ধারণা।](https://youtu.be/8Fs_3FsP-DQ)

1. **ল্যাঙ্গুয়েজ নির্বাচন**

প্রোগ্রামিং ল্যাঙ্গুয়েজ নির্বাচনের ক্ষেত্রে আপনি যেটা শিখবেন তার বিভিন্ন দিক বা কাজ যাচাইপূর্বক নির্বাচন করুন।

2. **প্রোগ্রামিং ফান্ডামেন্টাল**

প্রোগ্রামিং এর মূল বিষয়গুলো বোঝার আগে আমাদের খুঁজে বের করতে হবে প্রোগ্রামিং কি। [এ সম্পর্কে জানতে](https://cutt.ly/nUO7Bur) এই স্টেজে এসে আসলে জানা উচিত প্রোগ্রামিং এর বেসিক জিনিসগুলো কি কি, একটি প্রোগ্রাম কিভাবে কাজ করে ইত্যাদি। বেসিক বলতে মূলত Variable, Operators, Statements, Condition, Loop, Array, Function। এই ধাপে আমাদের জানা দরকার নেই যে এগুলো কিভাবে কাজ করে। আমাদের শুধু জানা উচিত এর বংশ পরিচয় টুকু ।

3. **বেসিক ম্যাথ**

এই ধাপে বেসিক ম্যাথ বলতে আহামরি তেমন কিছু নেই। আমরা যে ক্লাস ফাইভ পর্যন্ত শিখেছিলাম সমান(😊, বড়(>), ছোট(<), ভাজ্য, ভাজক, ভাগশেষ, যোগ, বিয়োগ এসব একটু ভালো করে মাথায় সেট করে নেয়া। এটি শুধুমাত্র একটি উদাহরণ দিলাম। অর্থাৎ আমাদের কিছু বেসিক ক্যালকুলেশন জানা উচিত। আপনি অবশ্যই ক্লাস ৯-১০ এর পর্যায়ে যেসব শিখেছেন তা নিয়ে হালকা ঘাটাঘাটি করতে হবে। জটিল না হলেও সহজ বিষয় নিয়ে তো অবশ্যই জানতেই হবে।

4. **ল্যাঙ্গুয়েজ শেখা শুরু করা**

এবারে আমাদের নির্বাচন করা প্রোগ্রামিং ল্যাঙ্গুয়েজ এর শুরু থেকে সব শেখা শুরু করা উচিত। ল্যাঙ্গুয়েজ এর ইতিহাস, টাইপ, বেসিক সিনট্যাক্স, কন্ট্রোল ফ্লো, লুপ ইত্যাদি।

5. **বেসিক সিনট্যাক্স**

একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ এর বেসিক কাঠামো লিখতে পারা এবং তার বিস্তারিত বলতে পারাও এক ধরনের যোগ্যতা। কোথা হতে শুরু হয়, কেন শুরু হয়, এর কাজ কি, কেন রিটার্ন হয়। এসব বিষয় সম্পর্কে অল্প হলেও আমাদের জানা উচিত। আমরা একটি নতুন ঘর তুললাম অথচ জানলাম না যে ঘরের কোন জিনিসটি কি দ্বারা বানানো হয়েছে, তা কিভাবে কাজ করবে তবে তা রডের বদলে বাঁশ ব্যবহারের সমতুল্য।

6. **টপিক সলভ ও মাথা খাটানো**

আমরা যখন ল্যাঙ্গুয়েজ এর একটা করে টপিক শিখবো, তা ভালো করে বোঝার জন্য অবশ্যই ঐ টপিক রিলেটেড কিছু সমস্যা সমাধান করার চেষ্টা করবো। এতে করে ঐ টপিক সম্পর্কে আমাদের একটি মোটামুটি ধারণা চলে আসবে। যেমনঃ if - else শিখলাম। ভালো কথা। তারপর এই জিনিসটা কিভাবে কাজ করে তা জানার জন্য অন্তত ১০ টা সমস্যা নিয়ে মাথা খাটানো উচিত। কোন আপেল বড় না ছোট, একজনের বয়স জেনে নিয়ে বের করলাম সে বড় নাকি আমি। কিছু সংখ্যা দেয়া আছে, আমি ভাবলাম যে, ওখান থেকে ৩ দ্বারা বিভাজ্য কোনগুলো। এমনই হালকা সমস্যা সমাধান।

7. **প্রবলেম সলভ**

এবারে আমি মনে করি আমাদের বেসিক কিছু আইডিয়া নেয়া ও শেখা শেষ। এসবের মধ্যে কি কি ছিল ? data type, operators, statements, loops(basic), array(basic)। এখন আমাদের সবচেয়ে গুরুত্বপূর্ণ কাজটি হলো beecrowd বা URI (beecrowd.com.br) অনলাইন জাজে একটি একাউন্ট খোলা এবং বিগিনার লেভেলে যেকোনো ৩০ টি সমস্যা সমাধান করা। সমাধানে অবশ্যই খেয়াল রাখতে হবে যেন কিছু আটকে গেলে আমরা সমাধান না খুজি। আমরা যেকারো হেল্প আশা করবো। দরকার হলে “কোড আলাপ” গ্রুপে পোস্ট করব। প্রোগ্রামিং এ একটি প্রবলেম কিভাবে সমাধান করা উচিত ? [তা জানতে](https://cutt.ly/7UO7L4s)

8. **কিছু হার্ড বেসিক শেখা**

এ পর্যায়ে আমাদের শিখতে হবে কিভাবে nested loop কাজ করে, multi-dimensional array কি, pointer কি, string কি, function কি কেন কিভাবে, libraries, files ইত্যাদি । এসবের বেসিক টু ইন্টারমিডিয়েট লেভেল পর্যন্ত শেখা।

9. **আরেকটু প্রবলেম সলভ**

এই ধাপে আমাদের URI থেকে বিগিনার লেভেলের অন্তত ১০০ টি প্রবলেম এবং অন্যান্য লেভেল বা ক্যাটেগরির কিছু কিছু প্রবলেম সলভ করতে হবে। হয়েত এরপর আমরা মোটামুটি অনেক কিছুই শিখে যাবো। সেই সাথে আমাদের ম্যাথমেটিকেল জিনিসগুলো সম্পর্কে আরো ধারণা লাভ করতে হবে। একটু হার্ড লেভেলই বলা যায়।

- এর পর ডাটা স্ট্রাকচার এলগরিদম এবং আরো বিভিন্ন কিছু শিখবেন।

বিগিনারদের প্রোগ্রামিং শেখার প্লাটফর্ম ফলো করতে পারেন।

### কোড আলাপ
[**Facebook**](https://www.facebook.com/codealap) [**Youtube**](https://youtube.com/c/CodeAlap)