27 June 2010 8 Comments

ভালো প্রোগ্রামার- প্রোগ্রামিং কনটেস্টের গল্প

-আহমেদ শামসুল আরেফীন
বি.দ্র. লেখাটির ইংরেজী সংস্করণ পাওয়া যাবে এখানে

স্যার বলেন, কালকে কিন্তু তোমাদের ক্লাশটেস্ট। এইযে, সিলেবাস। সবাই রাজি। হঠাৎ একজন ছাত্র বলে উঠলো। স্যার, আমি তো কালকে প্রোগ্রামিং কনটেস্ট করতে যাচিছ। টেস্টটা পড়ে নিলে হয় না। স্যার মহা বিরক্ত হলেন এবং বলেন, সেটা অন্য ব্যপার।

এই “অন্য ব্যপার” টিই কিন্তু সেই প্রথাগত ক্লাশটেস্ট, কুইজ আর ভাইভার চেয়ে একজন কম্পিউটার সাইন্স বা সিএসই ছাত্রের কাছে অনেক বেশি আকর্ষনীয় এবং চ্যালেঞ্জিং বিষয় হিসেবে পরিগণিত হয়। সম্ভবতঃ এটি এখন অনেকেই বুঝতে পারছেন।

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

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

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

এখনও কোন কোন শিক্ষা প্রতিষ্ঠানে বেশ কিছু প্রচীনপন্থী শিক্ষক আছেন। যারা মনে করেন প্রোগ্রামিং কনটেস্ট ব্যপারটি হল ছাত্রের এক রকমের এক্সট্রা-করিকুলার এক্টিভিটি ছাড়া আর কিছু নয় ( যেমন – সাঁতার কাটা, অভিনয় করা)।

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

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

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

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

(মহাগণিতজ্ঞ রামানুজন,ভারতের তামিল রাজ্যের সরকারী আর্টস কলেজ থেকে পড়ে ও গ্রামে থেকেও আবিস্কার করেছেন রামানুজন-মৌলিক সংখ্যা )

প্রোগ্রামিং প্রতিযোগিতার আউটকাম কি? সম্ভবতঃ একজন ভাল প্রোগ্রামারের প্রাপ্তি একটাই আর তা হল- রিকগনিশন বা পরিচিতি আর কনফিডেন্স। দেশে এবং বিদেশে কম্পিউটার রিলেটেড মানুষদের কাছে এসিএম প্রোগ্রামাররা প্রায় দেবতুল্য।

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

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

(২০০৩ সালে কোন এক ভাগে হারিকেন জ্বালিয়ে কম্পিঃ বিজ্ঞান পড়ার চেষ্টা করতে করতে- মনের দুঃখে হঠাৎ লিখে ফেল্লাম। লেখাটি একটি কম্পিঃ ম্যাগাজিনে ছাপা হয়েছিল তখন। আজও মনে হয় কিছুটা প্রযোজ্য হবে। প্রিয় একটি লেখা- তাই পোষ্ট দিলাম। )

এ বিষয়ে আরও পড়ুন:

8 Responses to “ভালো প্রোগ্রামার- প্রোগ্রামিং কনটেস্টের গল্প”

  1. Rimon Ahmed 24 September 2010 at 7:37 pm #

    সাইট টা খুবই ভালো লাগলো, ঠিক ভালো বললে ভুল হবে, বলতে হয় ভালোর চেয়ে বেশি কিছু অথবা এধরনের কিছু, আমি রিমন, Daffodil university তে Software engineering Department এ পড়ছি। আমার জন্য আপনার সাইট টা খুবই দরকারি। আশা করছি নতুন নতুন পোস্ট দিয়ে আমাদের আপডেটেড রাখবেন। আর আনার সাইটে গণিত বিষয়ক কছু পোস্ট দেখলাম, এ প্রসংগে বলি, আমরা কিছু বন্ধু মিলে একটা গণিত বিষয়ক সাইট খুলেছি, নাম- http://www.gonitschool.com এই সাইটে আপনার সক্রিয় অবস্থানে খুশি হব। কোনো প্রয়োজনে যোগাযোগ করতে পারেন- rimon989@gmail.com অথবা admin@gonitschool.com

  2. admin 20 October 2010 at 12:08 pm #

    ওয়েব ঠিকানাটি (http://www.gonitschool.com ) এই ওয়েবের সাইডবারে যুক্ত করা হলো।

  3. Md Khairul Sujan 13 June 2011 at 8:01 am #

    আসসালামু আলাইকুম ভাইয়া, আমি সুজন। City University-তে CSE-তে 2nd semester-এ পড়ছি। এখন আমি আপনার এই ব্লগটির একজন নিয়মিত পাঠক। খুব দরকারি অনেক পোস্ট আছে এখানে। ভাইয়া আমি গত সপ্তাহে একটি ফ্রি ব্লগ সাইট বানিয়েছি। আমার সাইটটির URL হল http://www.ksujan.cz.cc. এই সাইটটা বানানুর পিছনে কারন হল আমার department-এর বন্ধুদের সাহায্য করা। তাদেরকে বিভিন্ন স্বপ্ন দেখানো। তাদেরকে বিভিন্ন Resource provide করা(যেমনঃ লেকচার সীট,লেকচার videos, বই, বিভিন্ন গুরুত্বপূর্ণ Article ইত্যাদি)।
    ভাইয়া আমি চাচ্ছিলাম আপনার অনুমতি পেলে এই সাইটের কিছু গুরুত্বপূর্ণ লেখা আপনার নাম ও Post-এর URL দিয়ে আমার সাইটে প্রকাশ করতে। আপনার অনুমতির
    অপেক্ষায় রইলাম।

  4. admin 13 June 2011 at 8:12 am #

    সুজন, মূল লেখকের নাম উল্লেখপূর্বক যেকোন লেখা কোটেশনের (” “) মধ্যে পূন-প্রকাশ করতে বাধা নেই। মূল লেখার আগে ও পরে নিজের মন্তব্য/লেখা জুড়ে দিলে খারাপ হয় না। Best wishes..


Leave a Reply

You must be logged in to post a comment.