লণ্ডনের চিঠি
সাগর রহমান ♦
একটি মজার ঘটনা ঘটেছে। বেশ কয়েক মাস ধরে ভাবছিলাম, বাংলাদেশের স্কুল এবং কলেজে তথ্য ও প্রযুক্তি বিষয়ে যে পাঠ্য বইটি পড়ানো হয়, সেটি নিয়ে লিখব। বিশেষত স্কুলগুলোতে ধীরে ধীরে প্রোগ্রামিং শেখানোর বিষয়ে গুরুত্ব তুলে ধরার কথাটি ভেবেছিলাম। গত কয়েক বছরে বাংলাদেশে পাঠ্যপুস্তক হিসেবে ব্যবহৃত তথ্য ও প্রযুক্তি বিষয়ক বইগুলোর দেখে আমি রীতিমত মর্মাহত বোধ করেছি। এইসব বইগুলো অন্য যে কোনো বিষয়ের তুলনায় হেলা-ফেলা করে বানানো হয়েছে- সে বিষয়টি নিয়ে বিশদ আলোচনা আমার উদ্দেশ্য ছিল। তার ওপর বইগুলোতে দেখেছি, বাংলাদেশের এসএসসি পর্যন্ত বাচ্চাদেরকে প্রোগ্রামিং বিষয়ে কোনো কিছু শেখানো হয় না। অথচ এবং স্বভাবতই, উচ্চ মাধ্যমিকে উঠার সাথে সাথে রীতিমত সি প্রোগ্রামিং(!) শেখানোর জন্য উঠে-পড়ে লাগতে হয়।
কল্পনা করুন, একটি বাচ্চা পনের বছর পর্যন্ত প্রোগ্রামিংয়ের কিছুই শিখে আসেনি, আর কলেজে উঠার সাথে সাথে আপনি তাকে সি প্রোগ্রামিং শেখাচ্ছেন এই ভাষায়: “প্রতিটি সি প্রোগ্রামের ভাষা শুরু হয় একটি function main()-এর মাধ্যমে। একটি প্রোগ্রামে একাধিক main() function থাকবে না। প্রতিটি প্রোগ্রামের কাজ এ function থেকে শুরু হবে” (এই লাইনটি নেওয়া হয়েছে জাতীয় শিক্ষাক্রম ও পাঠ্যপুস্তক বোর্ড কর্তৃক অনুমোদিত একাদশ ও দ্বাদশ শ্রেণির পাঠ্যপুস্তকরূপে নির্ধারিত তথ্য ও প্রযুক্তির একটি বই থেকে)। এমন একটি সূচনা দিয়ে কেউ যদি আমাকে প্রোগ্রামিং শেখাতে চায়, তবে নিশ্চিত করে বলতে পারি, প্রোগ্রামিং বিষয়টা সারাজীবনের জন্য তেতো হয়ে যাবে আমার কাছে! ভাবুন একবার, যে বাচ্চাটি জীবনে প্রথম বারের মতো একটি প্রোগ্রামিং শিখতে যাচ্ছে, আর আপনি তাকে থান-ইটের মতো ভারী একটি বাক্য দিয়ে স্বাগত জানাচ্ছেন – যার আগা এবং মাথা – কোনোটারই থৈ পাওয়া যাচ্ছে না, তবে ঐ বাচ্চাটির পালানোর পথ দেখা ছাড়া উপায় আছে? প্রোগ্রামিং এমন একটি বিষয়, যা বাচ্চাদের যত কম বয়সে ধরিয়ে দেওয়া যায়, তত ভাল। পরিণত বয়সে খুব ভালো প্রোগ্রামার হয়েছেন, এমন প্রায় সবাই আসলে প্রোগ্রামিং শিখতে শুরু করেছেন বাচ্চা বয়স থেকে। ছোটোদের চিন্তা-ভাবনা, বোঝার ক্ষমতা, এবং পর্যবেক্ষণ ক্ষমতা আমাদের বয়স্কদের তুলনায় অনেক তীক্ষ্ম থাকে বলে প্রোগ্রামিংয়ের মজাটা একবার ছোটোবেলায় ধরিয়ে দিতে পারলে ভবিষ্যতে এ বিষয়ে তাদের শনৈ: শনৈ: উন্নতি করার সম্ভাবনা যথেষ্ট প্রবল হয়। আমি বলছি না যে, ছোট ক্লাসেই প্রোগ্রামিংয়ের বই ধরিয়ে দিতে। প্রোগ্রামিং শেখাচ্ছেন, কিন্তু সেটা খেলাচ্ছলে, কম্পিউটার গেম খেলতে খেলতে- এমন বহু শিক্ষা-উপযোগী সফটওয়্যার এবং ওয়েবসাইট খুবই সহজলভ্য, যার বেশিরভাগই বিনামূল্যে ব্যবহার করা যায়। নিজের অভিজ্ঞতা থেকে বলছি, যুক্তরাজ্যে বাচ্চাদেরকে ইয়ার টু (বলার সুবিধার্থে বলা যাক – দ্বিতীয় শ্রেণী) থেকেই এই খেলাচ্ছলে প্রোগ্রামিং শেখানো হয়। উপরের শ্রেণীতে উঠার সাথে সাথে একটু একটু করে নতুন নতুন বিষয় যোগ হতে থাকে। মোটামুটি ক্লাস সেভেন কি এইটে উঠতেই একটি বাচ্চাকে খেলাচ্ছলে-টা বাদ দিয়ে সিরিয়াস প্রোগ্রামিংয়ে হাতে খড়ি দেওয়া শুরু হয়ে যায়। জিসিএসসি (বাংলাদেশের এসএসসি) তে কম্পিউটার সায়েন্সের দ্বিতীয় পত্রের পুরো কারিকুলামই প্রোগ্রামিংয়ের ধারণা এবং ব্যবহার দিয়ে সাজানো। ফলে এই বাচ্চারাই যখন উচ্চ-মাধ্যমিকে আসে, তাদেরকে প্রোগ্রামিংয়ের বহর দেখে পালানোর পথ খুঁজতে হয় না- বলাই বাহুল্য।
এই বিষয় নিয়ে লেখার কথা জানিয়েছিলাম কাউকে কাউকে। কিন্তু নানান ব্যস্ততায় এই নিয়ে আর খুব একটা এগুনো হয়নি। আমার এক বন্ধু স্বত:প্রণোদিত হয়ে বাংলাদেশের পাঠ্যপুস্তকের নমুনাও পাঠিয়েছেন গত বছর। সেসব বই দেখে মোটামুটি খসড়া মতামত লিখে রেখেছিলাম। গতকাল বিষয়টি আবার মাথা চাড়া দিয়ে উঠতেই পুরনো খসড়াটি নিয়ে বসলাম, তার আগে ভাবলাম- দেখি তো ২০২৪ সালে পাঠ্য পুস্তক বোর্ড কেমন নতুন বই নিয়ে এসেছেন। এনসিটিবি’র ওয়েবসাইটে ঢুকে নবম শ্রেণীর জন্য নির্ধারিত ডিজিটাল টেকনোলজির বইটি ডাউনলোড করে ঘাঁটাঘাটি করতেই বেশ আশ্চর্য এবং খুশি হয়ে উঠলাম। মজাটি এই জন্য যে, আমি নির্দিষ্ট করে যে বিষয়টি নিয়ে লিখতে চেয়েছিলাম, ঠিক সেটিই প্রয়োগ করা হয়েছে এই বছর। আমার উদ্দিষ্ট ছিল:, যদি বাংলাদেশের আর্থ-সামাজিক প্রেক্ষাপট বিবেচনায় এবং স্কুলগুলোর নানান সীমাবদ্ধতার কথা মাথায় রেখে নিচু ক্লাসগুলোতে প্রোগ্রামিংয়ের ধারণাটি পাঠ্যক্রমে অর্ন্তভুক্ত করা নাও যায় (যদিও আমি এই ধারণার সাথে দ্বিমত পোষণ করি), তবে অন্তত নবম-দশম শ্রেনীর বইতে যেনো সে কাজটি করা হয়। আর দ্বিতীয়ত: যুক্তি ও তথ্য প্রমাণসহ এ কথাটি বোঝানো যে, প্রোগ্রামিং ভাষা শেখানোর কথা আসলে বাচ্চাদের আসলে ‘সি’ বা এই ধরনের কোনো ব্যাকরণ-বাহুল্য ভাষা নয়, বরং আরো অনেক সহজ কিন্তু শক্তিশালী ভাষা ‘পাইথন’ শেখানো উচিত। পাইথন এমন একটি প্রোগ্রামিং ভাষা, যার ডিজাইন করার সময় যতটা সম্ভব ইংরেজি ভাষায় আমরা যেরকম কথা এবং শব্দ ব্যবহার করি, সেগুলোর সাথে যতদূর সম্ভব মিল রেখে করা হয়েছে। যার ফলে, খুব ছোট বাচ্চাদেরকেও পাইথনের প্রাথমিক ধারণাগুলো শিখিয়ে দেওয়া যায় (কথাটি কেবল কথার কথা নয়, আমার ব্যক্তিগত অভিজ্ঞতা থেকে বলা)। আশ্চর্য হয়ে দেখলাম, আমার দুটো কথাই (যা আমি কাছের দুয়েক জনের সাথে আলোচনা করেছি, পত্রিকায় কলামে লিখিনি) পাঠ্যপুস্তক বোর্ড না জেনেই গ্রহণ করেছেন। নবম শ্রেণীতেই প্রোগ্রামিংয়ের ভাষা শেখানো হয়েছে, এবং সেটা – ‘পাইথন’! কম্পিউটার বিজ্ঞানের শিক্ষক হিসেবে দুটো পরিবর্তন এবং সিদ্ধান্তকেই আমি অত্যন্ত সাধুবাদ জানাই।
আমরা সবাই জানি, কম্পিউটার যে ভাষাটি বোঝে, কম্পিউটার দিয়ে কোনো কিছু করাতে গেলে যে ভাষায় কথা বলতে হয়, নির্দেশনা দিতে হয়- সেটি প্রোগ্রামিংয়ের ভাষা। আর অনিবার্যভাবেই, মনুষ্য ব্যবহৃত ভাষার মতোই প্রোগ্রামিংয়ের ভাষাও বহুবিধ। কয়েকটা নাম করা যাক: সি-প্লাস প্লাস, সি, জাভা, পাইথন, সি-সার্প ইত্যাদি। এবং মানুষের ভাষার মতোই এসব ভাষারও স্বতন্ত্র ব্যবহার ভঙ্গি, শব্দাবলী, ব্যাকরণ রয়েছে। বলা বাহুল্য, মানুষের ভাষায় যেমন কোনো কোনোটা অন্যটির চেয়ে জটিল, প্রোগ্রামিংয়ের ক্ষেত্রেও তাই। সাধারণভাবে বলা যেতে পারে, প্রাথমিক অনেক কাজই এই সব ভাষাই করতে পারে, তবে প্রয়োজন ভেদে একটি প্রোগ্রামিংয়ের ভাষা অন্যটি থেকে অধিকতর কার্যকর। কোনোটা হয়তো এ ধরনের সমস্যার সমাধানে ভালো, তো অন্যটি অন্য কাজে। মোদ্দা কথাটা হলো, কম্পিউটার শিক্ষায় কাউকে শিক্ষিত করে তোলা মানে তাকে প্রোগ্রামিংয়ের ভাষায়ও দীক্ষা দেওয়া। এই কারণে বর্তমান বিশ্ব ও সময়ের সাথে তাল মিলিয়ে আমাদের গড়ে তুলতে হবে তথ্য-প্রযুক্তিতে দক্ষ জাতি, অসংখ্য কম্পিউটার শিক্ষায় শিক্ষিত মানুষ। আরো সুনির্দিষ্ট করে বললে, আমাদের দরকার অসংখ্য প্রোগ্রামার। বাংলাদেশের জনগোষ্ঠীকে দক্ষ জনগোষ্ঠী হিসেবে গড়ে তোলার কথা বললেই আমরা কেবল দক্ষ শ্রমিক যারা কল-কারখানায়, নির্মাণে, রেস্টুরেন্টে ইত্যাদি বিষয়ে দক্ষ হয়ে উঠছে কি-না- ভাবনাটি ভাবি- এ ভাবনাটি ধীরে ধীরে বদলাবার সময় এসে গেছে। আগামী দশকে আমরা বহির্বিশ্বে দক্ষ শ্রমিক পাঠানো বলতে যেনো অন্যান্য অনেক বিষয়ে দক্ষ মানুষদের সাথে সাথে দক্ষ কম্পিউটার প্রোগ্রামার পাঠাবো- বুঝি, এ ধারণাটি বিন্দুমাত্র আবেগী কিংবা আগ-বাড়িয়ে-ভাবা ভাবনা নয়। দ্রুত ডিজিটাল প্রযুক্তি গ্রহণ এবং ব্যবহারে দক্ষ হয়ে উঠার ক্ষেত্রে, আমি নিশ্চিত, বাংলাদেশের মানুষ বিশ্বের অনেক জনগোষ্ঠীকে পেছনে ফেলে দিয়েছে। আমাদের নিশ্চিত করা দরকার, সেই ডিজিটাল প্রযুক্তি কেবল যেন ইউটিউবার হয়ে ওঠা, ভ্লগ কিংবা ব্লগ বানানো, যেনো-তেনো উপায়ে ভাইরাল হয়ে ওঠা, সোশ্যাল মিডিয়া এবং ইউটিউবে নিমগ্ন থাকায় নিমজ্জিত না হয়ে যায় শেষ পর্যন্ত। এ জন্য একটি শক্তিশালী পদক্ষেপ হচ্ছে স্কুলে বাচ্চাদের মধ্যে কম্পিউটার প্রোগ্রামিং শেখানো। কেননা, এর মাধ্যমে বাচ্চাদেরকে অতি সহজেই এই ধারণাটি দেওয়া যায় যে, কম্পিউটার দিয়ে তারা চাইলে যা খুশি তাই করতে পারে, বাচ্চারা যে গেমটি বিভোর হয়ে খেলে, সেই গেমটি বেশ সহজেই তারা নিজেরাই তৈরি করতে পারে। কম্পিউটার যন্ত্রটি যে আসলে তাদের হাতের পুতুলের মতো- এ বোধ বাচ্চাদের মনে স্বভাবতই পরম কৌতূহলের জন্ম দেয়, তারা স্বত:প্রণোদিত হয়ে তখন নানান জিনিস শিখতে শুরু করে, নানান জিনিস তৈরি করতে শুরু করে। উচ্চ মাধ্যমিকের বইটি দেখার সুযোগ হয়নি আমার এখনো, তবে আমি আশা করে আছি, দেখবো যে ওখানেও নবম-দশম শ্রেণীর বইটির সাথে তাল মিলিয়ে পাইথন শেখানোটাকে প্রাধান্য দেওয়া হয়েছে।
লণ্ডন, ১৩ জুন ২০২৪
লেখক: কবি, কথা সাহিত্যিক