SL3 Framework

Learning Methods & Techniques

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


Type of Learning Methods

আমরা লার্নিং মেথডস গুলোকে দুইভাগে ভাগ করেছি। কিছু কিছু শেখার মেথড আছে যেগুলো ইন্সট্যান্টলি খুব ভালো সাপোর্ট দেয়, মনে হয় সব কিছু শিখে ফেলেছি। কিন্তু লং টাইমে গিয়ে দেখা যায় যে কিছুই শিখি নি। আবার কিছু কিছু মেথড আছে যেগুলো ইন্সট্যান্টলি কোনো ফলাফল দেয় না, আবার দিলেও আমাদের মন ভরে না। কিন্তু লং রানে এই মেথড গুলোই টিকে থাকে। আমরা প্রথম মেথডের নাম দিয়েছি Less Effective Instant Solution এবং দ্বিতীয় মেথডের নাম দিয়েছি Most Effective Painful Solution। তবে এমনটা না যে, কোনো একটা মেথড বেছে নিলেই কাজ শেষ। আপনাকে কম্পোসিশন করা শিখতে হবে। বিভিন্ন মেথড যোগ করে নিজের শেখার একটা ফ্লেভার তৈরি করতে হবে। কারণ আগেই আমরা বলেছি সবার শেখার পদ্ধতি এক নয়।


Less Effective Instant Solution

আমরা মানুষেরা খুব অলস প্রজাতির প্রাণী। আমরা সব সময় সব কিছু সহজ খুঁজি, শর্টকাট রাস্তা খোঁজার চেষ্টা করি। আপনাকে মনে রাখতে হবে শর্টকাটে আপনি ইনস্ট্যান্ট হয়তো ভালো কিছু করতে পারবেন, কিন্তু লং রানে আপনি হেরে যাবেন। সফলতার কোনো শর্টকাট নিয়ম নেই। 'Less Effective Instant Solution' এর মধ্যে আমরা যেই টেকনিক গুলোর কথা বলবো সব গুলোই আপনাকে সহজ সমাধান দিবে। আপনার মনেও হবে যে আপনি অনেক কিছু শিখে গিয়েছেন, তবে কিছুদূর যাওয়ার পরেই আবার হতাশার সম্মুখীন হবেন। আপনাদের ভিতরে এমন অনেক মানুষ আছেন যারা টিউটোরিয়াল দেখে শিখে মনে করেন যে আমি অনেক কিছু শিখে ফেলেছি। আবার আপনি কিছু দিন পরে নিজে কোনো একটা কাজ করতে গিয়ে হতাশ হয়ে পড়েন, আপনার নিজেরই মনে হয় আপনি কিছু শেখেন নি। এর কারণ আপনি Less Effective Instant Solution পদ্ধতিতে শেখার চেষ্টা করেছিলেন। একটা কথা খুব ভালো করে মাথায় রাখবেন, আপনাকে শুরু করতে হবে Less Effective Instant Solution এর মেথড গুলো দিয়েই, তবে এখানেই থেমে যাওয়া যাবে না। এটা শেষ করে আপনাকে Most Effective Painful Solution এর মেথড গুলোও প্রাকটিস করতে হবে।

আমাদের মতে নিচের লার্নিং টেকনিক গুলো হচ্ছে Less Effective Instant Solution -

  • Youtube Tutorial
  • Random Article Search
  • Paid Video Course

ওপরের তিনটা টেকনিকই আমাদের মতে সব থেকে বাজে টেকনিক যদি না আপনি পরবর্তী Most Effective Painful Solution এর টেকনিক গুলো ফলো করেন। কিন্তু আমাদের দেশের প্রেক্ষাপটে দেখা যায় সবাই শুধুমাত্র ভিডিও টিউটোরিয়াল দেখেই শিখতে থাকে। আর্টিকেল পড়া অনেক ভালো কাজ হলেও সেটার সঠিক ব্যবহার করে না। র‍্যান্ডম ভাবে যেখান সেখান থেকে একটা আর্টিকেল পড়েই মনে করে সব শিখে ফেলেছি। যারা একটু নিজেদের স্মার্ট মনে করে তারা বিভিন্ন টরেন্ট থেকে একটা বিষয়ের ওপরে দশ বারোটা পাইরেটেড কোর্স ডাউনলোড করে অথবা পার্সেস করে। (পাইরেটেড কোর্স ডাউনলোড করা সম্পূর্ণ ইলিগাল এবং ইসলামের ভাষায় এটা হারাম) সব গুলো কোর্স শুধুমাত্র পিসিতে ডাউনলোডই করা থাকে, প্রতিটা কোর্স থেকে অল্প অল্প করে শুধু স্বাদই নেওয়া হয় কিন্তু সম্পূর্ণ কোর্স আর করা হয় না।

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

ইউটিউব ভিডিও, টিউটোরিয়াল বা কোর্স ও Most Effective Painful Solution হতে পারে। তবে এই জন্য আপনাকে ব্যাপার গুলো বুঝতে হবে, নিজের মতো একটা শেখার টেকনিক তৈরি করতে হবে।


Most Effective Painful Solution

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

  • Book Reading
  • Documentation Reading
  • Research Paper Writing
  • Implement Project
  • Solve Others Problem
  • Teach Coding

Book Reading

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


Documentation Reading

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


Research Paper Writing

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


Implement Project

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


Solve Others Problem

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


Teach Coding

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



Less Effective Instant Solution এবং Most Effective Painful Solution এর ভিতরে যেই মেথড গুলোর কথা বলা আছে আসলে ইন্টারনেট ঘাঁটলেও আপনারা এই কয়টা মেথডই পাবেন। এর বাইরে তেমন কিছু নেই যা করে ইফেক্টিভ ভাবে প্রোগ্রামিং শেখা যায়। তাই এখান থেকে আপনাকেই দুইটা বা তিনটা টেকনিক বেছে নিতে হবে এবং সেই অনুযায়ী পড়াশোনা করতে হবে।

Edit this page on GitHub