শাহরিয়ার মনজুর – ইন্টারভিউ

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

ACM ICPC World Finals 2016 – Phuket, Thailand.

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

সুবিন : আপনি তো এবারেও এসিএম আইসিপিসি’র চূড়ান্ত পর্ব বিচারক হিসেবে যাচ্ছেন। এ নিয়ে আপনার আইসিপিসির চূড়ান্ত পর্বে কত বার যাওয়া হবে?
শাহরিয়ার মনজুর : বিচারক হলাম ত্রয়োদশতম বারের মতো কিন্তু যাচ্ছি এগারতম বার, প্রথম দুবার ভিসা পাইনি।

সুবিন : আইসিপিসির চূড়ান্ত পর্বের বিচারক হিসেবে নির্বাচনের প্রক্রিয়াটি কী?
শাহরিয়ার মনজুর : ডিরেক্টর অফ জাজিং কাছে প্রবলেম পাঠাতে হয় ইমেইলের মাধ্যমে। একটি কমিটি প্রবলেম সেটারের নাম না দেখে প্রবলেম বাছাই করে। যাদের প্রবলেম বাছাই করা হয় তাদের মধ্য থেকেই বিচারক নির্বাচন করা হয়। তবে একদম অপরিচিত কারো প্রবলেম নেয়া হয় না হয়ত। আমি যখন প্রথমবার প্রবলেম দেই তখন কিছু কারণে পরিচিত ছিলাম অনেকের কাছেই। যেমন : UVa Online Judge-এর সাথে জড়িত থাকা, ওয়ার্ল্ড ফাইনালস্ ওয়ার্মআপ আয়োজন করা, স্কিয়েনা-রেভিল্লা এর প্রোগ্রামিং চ্যালেঞ্জেস (Programming challenges) বইতে আমার নাম থাকা ইত্যাদি। তাই বলা যায়, আমি চূড়ান্ত পর্বের বিচারক হয়েছিলাম অনেকটা ভাগ্যের জোরেই।

সুবিন : সেখানে তো আপনার তৈরি করা প্রোগ্রামিং সমস্যা ব্যবহার করা হয়। এরকম একটি প্রোগ্রামিং সমস্যা তৈরি করতে আপনার কীরকম সময় দিতে হয়?
শাহরিয়ার মনজুর : আমার সবচেয়ে প্রিয় প্রবলেমগুলা আসলে ঢাকা রিজিওনাল অথবা ওয়ার্মআপ কনটেস্টে ব্যবহৃত হয়েছে। একটা প্রবলেম তৈরী করতে কী পরিমান সময় লাগে এটি বলা কঠিন, ব্যাপারটি একাধারে কবিতা লেখা এবং এমন সমস্যা সমাধান করার মতো যা আগে কেউ কখনও করে নি। মনের মধ্যে প্রোগ্রামিং সমস্যা তৈরি করার ভাব আসতে হবে এবং সেটার সমাধানও মাথা থেকে বের হতে হবে। কাজেই সেটা এক দিনেও হতে পারে আবার কয়েক বছর সময়ও লাগতে পারে।

সুবিন : এসিএম আইসিপিসি’র চূড়ান্ত পর্ব ছাড়া আর কোন কোন প্রতিযোগিতার জন্য আপনি প্রোগ্রামিং সমস্যা তৈরি করেন?
শাহরিয়ার মনজুর : ভবিষ্যতে কোথায় করব জানিনা কারণ বয়স হচ্ছে। কিন্তু এখন পর্যন্ত ঢাকা, ফুকেট (থাইল্যান্ড), কুয়ালালামপুর (মালয়েশিয়া), SWERC এবং কিছু চাইনিজ রিজিওনালের জন্য প্রোগ্রামিং সমস্যা তৈরি করেছি।

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

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

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

সুবিন : দেশের প্রোগ্রামারদের মানের উন্নয়ন ঘটানোর জন্য সরকারীভাবে এবং ব্যাক্তিপর্যায়ে কী ধরণের উদ্যোগ নেওয়া যেতে পারে?
শাহরিয়ার মনজুর : সরকার দেশের শিক্ষার মান বাড়াতে পারে যাতে করে মানুষের বিশ্লেষণ করার ক্ষমতা আরো বাড়ে। এছাড়া প্রোগ্রামিং ক্যাম্প, জাতীয় প্রোগ্রামিং প্রতিযোগিতা এর মত ইভেন্ট আরো বাড়ানো যেতে পারে।

সুবিন : আপনি তো অনেকদিন ধরে শিক্ষকতাও করছেন। আট-দশ বছর আগের শিক্ষার্থী ও বর্তমান সময়ের শিক্ষার্থীদের মধ্যে কোনো পার্থক্য আপনার চোখে পরে?
শাহরিয়ার মনজুর : মানের খুব বেশি তারতম্য চোখে পরে নি। কিন্তু এখন অনেকেরই বাসায় ডেস্কটপ অথবা ল্যাপটপ কম্পিউটার থাকায় কম্পিউটার এর সাধারণ ব্যবহারের মান অনেক ভালো। কিন্তু একই সাথে প্রোগ্রামিং এ সময় নষ্ট (!) না করে ফেইসবুক এ সময় নষ্ট করার প্রবণতা অনেক বেশি। আমর প্রথম কম্পিউটার এর গল্প ( ৮ মেগা ram, ৪২০ মেগা HDD ) এখনকার ছাত্ররা অনেক আগ্রহ নিয়ে শুনে কারণ তাদের কাছে এটা শেরশাহ আমলের গল্প মনে হয়।

সুবিন : ভালো সফটওয়্যার প্রকৌশলী হতে গেলে প্রোগ্রামিংয়ে দক্ষ হতে হয়, আবার প্রোগ্রামিংয়ে দক্ষতা অর্জনের জন্য চর্চার কোনো বিকল্প নেই। এখন যারা প্রতিযোগিতামূলক প্রোগ্রামিং করে না, বা অনলাইন জাজেও প্রবলেম সলভ করে না, তাদের জন্য প্রোগ্রামিং চর্চা করার বিকল্প উপায় কী হতে পারে?
শাহরিয়ার মনজুর : মোটামুটি ভালো প্রোগ্রামার হবার জন্য যেকোনো ভালো বই এর অনুশীলনীর সব সমস্যা নিজে নিজে সমাধান করলেই যথেষ্ট। এমন লেখক নামের মধ্যে “শাহরিয়ার” সাবস্ট্রিং (substring) আছে তাদের লেখা বই পড়াও ভালো।
সুবিন : একজন কম্পিউটার বিজ্ঞানের শিক্ষার্থীর জন্য প্রথম প্রোগ্রামিং কোর্সটা খুবই গুরুত্বপূর্ণ। তো এই কোর্সটি আপনি দীর্ঘদিন পড়িয়ে আসছেন। যারা নতুন শিক্ষক হবেন এবং এই কোর্সটি পড়াবেন, তাদের জন্য আপনি কিছু পরামর্শ দেন।
শাহরিয়ার মনজুর : যে কাউকে প্রোগ্রামিং শেখাতে পারব এই বিশ্বাস আমার আছে। কিন্তু মূল সমস্যা হলো প্রোগ্রামিং শেখানোর জন্য যত সময় প্রত্যেক শিক্ষার্থীকে দেওয়া দরকার সেটা সম্ভব হয়ে ওঠে না ক্রেডিট আওয়ার (credit hour)-এর দোলাচলে। এটাও ঠিক যে সবার খুব ভালো প্রোগ্রামার হবার ক্ষমতা থাকে না কিন্তু মোটামুটি মানের প্রোগ্রামার সবাই হতে পারে। শিক্ষক হিসাবে আমি কিছু ভালো প্রোগ্রামার তৈরী করতে পেরেছি কিন্তু আরো অনেক বেশি পারলে ভালো লাগত। আবার সাউদইস্ট ইউনিভার্সিটির একমাত্র গুগলার আমার সি এর কোর্স করেই নি, নিজে নিজেই প্রোগ্রামিং শিখেছে।

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

সুবিন : আপনি ছোটবেলায় কোন কোন স্কুল-কলেজে পড়েছেন?
শাহরিয়ার মনজুর : বনানী বিদ্যানিকেতন (কেজি), লিটল এঞ্জেলস স্কুল (৩-৫), ইঞ্জিনিয়ারিং ইউনিভার্সিটি স্কুল (৬-১০), ঢাকা কলেজ। আমার দেখা সবচেয়ে ভালো শিক্ষা প্রতিষ্ঠান ঢাকা কলেজ কারণ সেখানে মুক্ত চিন্তা করার অনেক সুযোগ।

সুবিন : আমাদের স্কুলের লেখাপড়া নিয়ে তো নিয়মিতই বিভিন্ন পরীক্ষা-নিরীক্ষা করা হয়। সিলেবাস, বই ইত্যাদি পরিবর্তন করা হয়। আপনার পর্যবেক্ষণে আমাদের স্কুলের শিক্ষাব্যবস্থায় কি মৌলিক কোনো পরিবর্তন প্রয়োজন বলে আপনি মনে করেন?
শাহরিয়ার মনজুর : খুব ধীরে হলেও সব দেশের শিক্ষার মান বাড়ে, আমরা কেন জানি উল্টা দিকে হাঁটলাম। নতুন যদি কিছু করতে না পারি, আগে যেমন ছিল সেখানে তো অন্তত ফেরত যেতে পারি? SSC , HSC -তে গ্রেডিং সিস্টেম যদি রাখতেই হয় তাহলে ৯০% এ A+ করা যেতে পারে এবং গ্রেড এর ধাপ আরো বাড়ানো উচিত। মনে রাখা দরকার যে শিক্ষা ব্যবস্থা কোনো সার্কাস না যে সবাইকে এসেই চমৎপ্রদ কোনো খেলা দেখাতে হবে।

সুবিন : আপনি প্রোগ্রামিং শেখা শুরু করলেন কবে এবং কিভাবে প্রোগ্রামিং-এর প্রতি আকৃষ্ট হয়েছিলেন?

শাহরিয়ার মনজুর : প্রোগ্রামিং শেখা শুরু করি বুড়ো বয়সে, অর্থাৎ আমার বয়স যখন ঊনিশ, তখন। হুজুগে পরে বুয়েটের কম্পিউটার সায়েন্স ও ইঞ্জিনিয়ারিং বিভাগে ভর্তি হই। শুরুতে প্রোগ্রামিং খুবই ভয় পেতাম। ১০,০০০+ লাইন এর একটি টার্ম অ্যাসাইনমেন্ট করে নিজেকে খুব ভালো প্রোগ্রামার ভাবা শুরু করি, ভাল্লাদলিদ (ইউভিএ) সাইট-এ প্রোগ্রামিং সমস্যা সমাধান করতে গিয়ে সেই ভুল ভাঙ্গে, এরপর ওইখানে বেশ কিছু সমস্যা সমাধান করে আবার নিজেকে ততক্ষণ ভালো প্রোগ্রামার ভাবা শুরু করি যতক্ষণ কিসমান এর সাথে আলাপ হয়নি। সার করা হলো : একমাত্র বোকারাই নিজেদের ভালো প্রোগ্রামার ভাবে।

সুবিন : আমি বর্তমানে একটি প্রবণতা লক্ষ করছি, শিক্ষার্থীরা যখন নতুন প্রোগ্রামিং শেখে, তখন কোনো সমস্যা সমাধান করতে না পারলে তারা সাথে সাথেই কোনো ফোরাম বা ফেসবুক গ্রুপ থেকে সেটার সমাধান জেনে নেয়। এতে কি আসলে তেমন কোনো লাভ হয়?
শাহরিয়ার মনজুর : আমার এক স্টুডেন্ট বলেছিল পাশ করে নতুন চাকরীতে ঢোকার পর, “স্যার উপরে আল্লাহ নিচে গুগল (google), তাই সব কিছুর সমাধান বের করতে পারি”, কিন্তু শিক্ষার্থীরা এমন করলে এতে তাদেরই ক্ষতি। এই জন্য ক্লাসেও যারা প্রোগ্রামিং বেশি পারে তাদের আমি সতর্ক করি যেন অন্যদেরকে তারা তাদের কোড না দেখায়।

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

“আজি হতে শত বর্ষ পরে ,
কে তুমি খাবি খাচ্ছ আমার প্রবলেম নিয়ে
আজি হতে শত বর্ষ পরে”

এই সাক্ষাৎকারটিসহ মোট এক ডজন সাক্ষাৎকার নিয়ে প্রকাশিত হয়েছে প্রোগ্রামিং ক্যারিয়ার গাইডলাইনঃ এক ডজন প্রোগ্রামারের কথা। বইটি পাওয়া যাচ্ছে রকমারি ডট কম-এ।