স্কুল-কলেজের স্টুডেন্টদেরকে কি পাঠ্য বইয়ের বাইরে প্রোগ্রামিং শেখা উচিত?
উত্তর হচ্ছে, একদম গণহারে দুনিয়ার সবাইকে পিটিয়ে পটিয়ে প্রোগ্রামিং এর লাইনে আনতেই হবে এমন কোন কথা নাই। বরং তাদের ভাব চক্কর একটু খেয়াল করলে যদি বুঝা যায় তারা প্রোগ্রামিং/টেকনোলজি এর লাইনে আগ্রহী তাহলে অবশ্যই তাদেরকে সেই লাইনে নিয়ে আসা উচিত। এখন প্রশ্ন হচ্ছে কিভাবে বুঝবো কে প্রোগ্রামিং এর লাইনে ভালো করতে পারে আর কে নাও করতে পারে। সেটা কিভাবে বুঝা যাবে? উত্তর হচ্ছে, তিনটা ইজি চেকপয়েন্ট আছে।
চেকপয়েন্ট ওয়ান: ব্যাকগ্রাউন্ড অবজারভেশন:
যে স্টুডেন্ট এর কথা বলা হচ্ছে--সে স্কুলে কোন সাবজেক্টেগুলাতে ভালো মার্কস পাচ্ছে? সেগুলা কি সাইন্স/ম্যাথ রিলেটেড সাবজেক্ট। নাকি সে ম্যাথ/সাইন্সের সাবজেক্টগুলাতে ডাব্বা মারতছে। যদি কেউ ম্যাথ/সায়েন্সে ভালো না করে তার জন্য প্রোগ্রামিং একটু চ্যালেঞ্জিং হয়ে উঠতে পারে। (যদিও ইমপসিবল বলা ঠিক হবে না। চেষ্টা করলে, এনাফ ধৈর্য্য ধরে লেগে থাকলে অনেকেই অনেক কিছু করে ফেলতে পারে। তবে ম্যাথ/সায়েন্সে ভালো হলে তার জন্য প্রোগ্রামিং বা জিনিসগুলা একটু ইজি হয়ে যায়।)
.
চেকপয়েন্ট টু: ইন্টারেস্ট এসেসম্যান্ট:
সে ফ্রি টাইমে কী কী করে। বা কী করতে তার ভালো লাগে। বা স্কুলের কোন টিচারকে তার বেশি ভালো লাগে। সেই টিচার কোন সাবজেক্টের টিচার। পড়ালেখা এর বাইরে কোন জিনিসগুলা নিয়ে সে বেশি আগ্রহ প্রকাশ করে। অর্থাৎ তার ইন্টারেস্ট/আগ্রহ কোন জায়গায়? যদি ইন্টারেস্ট টেকনোলজি রিলেটেড জিনিসে হয় তাহলে তাকে প্রোগ্রামিং এর দিকে নেওয়া যেতে পারে। আর যদি মনে হয় তার আগ্রহ আর্ট, ক্রিয়েটিভ, ড্রয়িং, মিউজিক বা ফটোগ্রাফিতে বা অন্য কিছুতে তাহলে তাকে সেই লাইনে সুযোগ দেয়া উচিত।
.
চেকপয়েন্ট থ্রি: ডিমান্ড ডিটেকশন:
তার আবদারগুলো কোন দিকের হয়। অর্থাৎ সে কী কী জিনিস কিনে দিতে বলে। সে কি টেকনোলজি বা সায়েন্স রিলেটেড কিছু কিনে দিতে বলে নাকি "টেবিলের নিচে লুকিয়ে পাবজি খেলে ধরা না খাওয়ার ১০১ উপায়" রিলেটেড বই খুঁজে? অথবা "টানা ৯৬ ঘন্টা ফেইসবুক স্ক্রলিং কম্পিটিশন" এ অংশ গ্রহণ করতে চায়। নাকি সে ভিডিও গেমস চাচ্ছে। সেগুলা একটু খেয়াল করলেই বুঝা যাবে সে প্রোগ্রামিং এর লাইনে আগ্রহী হতে পারে। নাকি হতে পারে না।
.
কিভাবে শেখানো উচিত???
ভালো হয় ধরি মাছ না ছুঁই পানি স্টাইলে প্রোগ্রামিং এর বিষয়ে আগ্রহী করে তুললে। অথাৎ ম্যাথ/সাইন্স/টেকনোলজিতে রিলেটেড কোন একটা বই কিনে দেয়া। প্রায়ই প্রোগ্রামিং রিলেটেড ওয়ার্কশপ/সেমিনার/বুটক্যাম্প হয়। সেগুলাতে নিয়ে যাওয়া। অলিম্পিয়াড এর প্রিপ্রারেশন বা ন্যাশনাল হাইস্কুল প্রোগ্রামিং কন্টেস্ট, রোবটিক্স/IOT রিলেটেড কোন ইভেন্ট এ পার্টিসিপেট করতে উৎসাহিত করা। তার কাছ থেকে কোন এক্সপেক্টেশন না রাখা। অথাৎ পারুক বা না পারুক অংশগ্রহন করতে আগ্রহী করে তোলা।
.
এখন প্রশ্ন হচ্ছে প্রোগ্রামিংটা ইজিলি এবং ইফেক্টিভলি কোন জায়গা থেকে শেখা যায়?
প্রোগ্রামিং শেখার প্রচুর জায়গা আছে এবং প্রচুর রিসোর্স আছে এবং বেশী রিসোর্স থাকার কারনে আসলে প্রোগ্রামিং শিখতে গিয়ে অনেকে আরো বেশী কনফিউজড হয়ে যায়। তো স্টুডেন্টরা যাতে কনফিউজড না হয়ে যায় সেক্ষেত্রে কয়েকটা সলিড রিসোর্স তাদেরকে দিয়ে দেওয়াটাই অনেক অনেক বেশী ইজিয়ার।
১. বই কিনে দিতে চাইলে: তামিম শাহরিয়ার সুবিন ভাইয়ের কম্পিউটার প্রোগ্রামিং-প্রথম খণ্ড
২. মোবাইল এ এপ দিয়ে শিখতে চাইলে: প্রোগ্রামিং হিরো এপ: Programming Hero: Coding Just Got Fun (beta) - Apps on Google Play
৩. ওয়েবসাইট থেকে শিখতে ছিলে MIT Scratch। Scratch - Imagine, Program, Share
.
ফাইনালি একটা জিনিস খেয়াল রাখতে হবে। দুনিয়ায় সবাই গনহারে প্রোগ্রামার হবে না। কেউ মার্কেটার হবে, কেউ একাউন্ট্যান্ট হবে, কেউ ব্যাংকার হবে, কেউ আরকিটেক্ট হবে, কেউ ডাক্তার, কেউ বিজনেজ পারসন হবে। আবার কেউ কেউ ট্রাফিক সিস্টেমকে ডিজাইন করবে, কেউ পলিটিশিয়ান হবে, কেউ আমলা হবে আবার কেউ কেউ প্রোগ্রামার হবে। সেটাই দুনিয়ার সৌন্দর্য্য। সো সকল বাচ্চাকে জোর করে প্রোগ্রামিং এর লাইনে নিয়ে আসতে হবে এমন কোন কথা নাই। যদি কেউ কিউরিয়াস থাকে তাহলে তাকে অবশ্যই এই লাইনে অনুপ্রাণিত করে নিয়ে আসা উচিত। বাট সে যদি আগ্রহী না ই থাকে তাহলে তাকে জোর করে এই লাইনে নিয়ে আসার কোন মানে হয় না।
©Jhankar Mahbub vaia
উত্তর হচ্ছে, একদম গণহারে দুনিয়ার সবাইকে পিটিয়ে পটিয়ে প্রোগ্রামিং এর লাইনে আনতেই হবে এমন কোন কথা নাই। বরং তাদের ভাব চক্কর একটু খেয়াল করলে যদি বুঝা যায় তারা প্রোগ্রামিং/টেকনোলজি এর লাইনে আগ্রহী তাহলে অবশ্যই তাদেরকে সেই লাইনে নিয়ে আসা উচিত। এখন প্রশ্ন হচ্ছে কিভাবে বুঝবো কে প্রোগ্রামিং এর লাইনে ভালো করতে পারে আর কে নাও করতে পারে। সেটা কিভাবে বুঝা যাবে? উত্তর হচ্ছে, তিনটা ইজি চেকপয়েন্ট আছে।
চেকপয়েন্ট ওয়ান: ব্যাকগ্রাউন্ড অবজারভেশন:
যে স্টুডেন্ট এর কথা বলা হচ্ছে--সে স্কুলে কোন সাবজেক্টেগুলাতে ভালো মার্কস পাচ্ছে? সেগুলা কি সাইন্স/ম্যাথ রিলেটেড সাবজেক্ট। নাকি সে ম্যাথ/সাইন্সের সাবজেক্টগুলাতে ডাব্বা মারতছে। যদি কেউ ম্যাথ/সায়েন্সে ভালো না করে তার জন্য প্রোগ্রামিং একটু চ্যালেঞ্জিং হয়ে উঠতে পারে। (যদিও ইমপসিবল বলা ঠিক হবে না। চেষ্টা করলে, এনাফ ধৈর্য্য ধরে লেগে থাকলে অনেকেই অনেক কিছু করে ফেলতে পারে। তবে ম্যাথ/সায়েন্সে ভালো হলে তার জন্য প্রোগ্রামিং বা জিনিসগুলা একটু ইজি হয়ে যায়।)
.
চেকপয়েন্ট টু: ইন্টারেস্ট এসেসম্যান্ট:
সে ফ্রি টাইমে কী কী করে। বা কী করতে তার ভালো লাগে। বা স্কুলের কোন টিচারকে তার বেশি ভালো লাগে। সেই টিচার কোন সাবজেক্টের টিচার। পড়ালেখা এর বাইরে কোন জিনিসগুলা নিয়ে সে বেশি আগ্রহ প্রকাশ করে। অর্থাৎ তার ইন্টারেস্ট/আগ্রহ কোন জায়গায়? যদি ইন্টারেস্ট টেকনোলজি রিলেটেড জিনিসে হয় তাহলে তাকে প্রোগ্রামিং এর দিকে নেওয়া যেতে পারে। আর যদি মনে হয় তার আগ্রহ আর্ট, ক্রিয়েটিভ, ড্রয়িং, মিউজিক বা ফটোগ্রাফিতে বা অন্য কিছুতে তাহলে তাকে সেই লাইনে সুযোগ দেয়া উচিত।
.
চেকপয়েন্ট থ্রি: ডিমান্ড ডিটেকশন:
তার আবদারগুলো কোন দিকের হয়। অর্থাৎ সে কী কী জিনিস কিনে দিতে বলে। সে কি টেকনোলজি বা সায়েন্স রিলেটেড কিছু কিনে দিতে বলে নাকি "টেবিলের নিচে লুকিয়ে পাবজি খেলে ধরা না খাওয়ার ১০১ উপায়" রিলেটেড বই খুঁজে? অথবা "টানা ৯৬ ঘন্টা ফেইসবুক স্ক্রলিং কম্পিটিশন" এ অংশ গ্রহণ করতে চায়। নাকি সে ভিডিও গেমস চাচ্ছে। সেগুলা একটু খেয়াল করলেই বুঝা যাবে সে প্রোগ্রামিং এর লাইনে আগ্রহী হতে পারে। নাকি হতে পারে না।
.
কিভাবে শেখানো উচিত???
ভালো হয় ধরি মাছ না ছুঁই পানি স্টাইলে প্রোগ্রামিং এর বিষয়ে আগ্রহী করে তুললে। অথাৎ ম্যাথ/সাইন্স/টেকনোলজিতে রিলেটেড কোন একটা বই কিনে দেয়া। প্রায়ই প্রোগ্রামিং রিলেটেড ওয়ার্কশপ/সেমিনার/বুটক্যাম্প হয়। সেগুলাতে নিয়ে যাওয়া। অলিম্পিয়াড এর প্রিপ্রারেশন বা ন্যাশনাল হাইস্কুল প্রোগ্রামিং কন্টেস্ট, রোবটিক্স/IOT রিলেটেড কোন ইভেন্ট এ পার্টিসিপেট করতে উৎসাহিত করা। তার কাছ থেকে কোন এক্সপেক্টেশন না রাখা। অথাৎ পারুক বা না পারুক অংশগ্রহন করতে আগ্রহী করে তোলা।
.
এখন প্রশ্ন হচ্ছে প্রোগ্রামিংটা ইজিলি এবং ইফেক্টিভলি কোন জায়গা থেকে শেখা যায়?
প্রোগ্রামিং শেখার প্রচুর জায়গা আছে এবং প্রচুর রিসোর্স আছে এবং বেশী রিসোর্স থাকার কারনে আসলে প্রোগ্রামিং শিখতে গিয়ে অনেকে আরো বেশী কনফিউজড হয়ে যায়। তো স্টুডেন্টরা যাতে কনফিউজড না হয়ে যায় সেক্ষেত্রে কয়েকটা সলিড রিসোর্স তাদেরকে দিয়ে দেওয়াটাই অনেক অনেক বেশী ইজিয়ার।
১. বই কিনে দিতে চাইলে: তামিম শাহরিয়ার সুবিন ভাইয়ের কম্পিউটার প্রোগ্রামিং-প্রথম খণ্ড
২. মোবাইল এ এপ দিয়ে শিখতে চাইলে: প্রোগ্রামিং হিরো এপ: Programming Hero: Coding Just Got Fun (beta) - Apps on Google Play
৩. ওয়েবসাইট থেকে শিখতে ছিলে MIT Scratch। Scratch - Imagine, Program, Share
.
ফাইনালি একটা জিনিস খেয়াল রাখতে হবে। দুনিয়ায় সবাই গনহারে প্রোগ্রামার হবে না। কেউ মার্কেটার হবে, কেউ একাউন্ট্যান্ট হবে, কেউ ব্যাংকার হবে, কেউ আরকিটেক্ট হবে, কেউ ডাক্তার, কেউ বিজনেজ পারসন হবে। আবার কেউ কেউ ট্রাফিক সিস্টেমকে ডিজাইন করবে, কেউ পলিটিশিয়ান হবে, কেউ আমলা হবে আবার কেউ কেউ প্রোগ্রামার হবে। সেটাই দুনিয়ার সৌন্দর্য্য। সো সকল বাচ্চাকে জোর করে প্রোগ্রামিং এর লাইনে নিয়ে আসতে হবে এমন কোন কথা নাই। যদি কেউ কিউরিয়াস থাকে তাহলে তাকে অবশ্যই এই লাইনে অনুপ্রাণিত করে নিয়ে আসা উচিত। বাট সে যদি আগ্রহী না ই থাকে তাহলে তাকে জোর করে এই লাইনে নিয়ে আসার কোন মানে হয় না।
©Jhankar Mahbub vaia