আজ আমরা বিভিন্ন প্রোগ্রামিং প্রতিযোগিতার সঙ্গে তোমাদের পরিচিত করতে চাই। এসব প্রতিযোগিতা অত্যন্ত সম্মানজনক। স্কুল, কলেজ ও বিশ্ববিদ্যালয় পর্যায়ের বিভিন্ন প্রতিযোগিতা নিয়েই আমাদের আজকের লেখা। তোমাদের মধ্যে যারা প্রোগ্রামিংয়ে ভালো করতে চাও, তারা এই প্রতিযোগিতাগুলোতে অংশ নিতে পারো।
প্রোগ্রামিং প্রতিযোগিতা কী?
প্রথমেই বোঝা দরকার প্রোগ্রামিং প্রতিযোগিতা আসলে কী। এখনকার দিনে মূলত দুই ধরনের প্রোগ্রামিং প্রতিযোগিতা হয়। একটিতে আমাদের বিভিন্ন সফটওয়্যার বানাতে হয়। অন্যটিতে আমাদের কিছু সমস্যা দেওয়া হয়, যেগুলা আমরা সঠিক অ্যালগরিদম প্রয়োগ করে প্রোগ্রামিংয়ের মাধ্যমে সমাধান করি। এই লেখায় প্রোগ্রামিং প্রতিযোগিতা বলতে আমরা দ্বিতীয় প্রকারের প্রতিযোগিতাকেই বুঝব। অর্থাৎ আমাদের কিছু সমস্যা দেওয়া হবে এবং প্রোগ্রামিংয়ের মাধ্যমে নির্দিষ্ট অ্যালগরিদম প্রয়োগ করে আমাদের তা সমাধান করতে হবে।
এ ধরনের প্রতিযোগিতার সবচেয়ে কঠিন ব্যাপারটি হলো যে সমস্যাগুলো এই প্রতিযোগিতায় দেওয়া হয় তার সবগুলোই পুরোপুরি নতুন। এবং এর কোনো নির্দিষ্ট সিলেবাসও নেই। কাজেই প্রতিযোগীদের সমস্যা সমাধানের মেধা ও বিশ্লেষণী ক্ষমতা যাচাই করা যায় এই ধরনের প্রতিযোগিতায়। স্কুল, কলেজ বা বিশ্ববিদ্যালয় সব পর্যায়ের শিক্ষার্থীদের জন্যই এ ধরনের প্রতিযোগিতা রয়েছে। সারা বিশ্বেই এ রকম বেশ কিছু প্রতিযোগিতায় আমাদের শিক্ষার্থীরা অংশ নিতে পারে। এর মধ্যে কিছু কিছু প্রতিযোগিতায় দল হিসেবে অংশ নিতে হয়। বাকিগুলোতে একজন প্রতিযোগী নিজে একা অংশ নেয়।
বিভিন্ন প্রতিযোগিতার মধ্য থেকে আমরা মূলত তিনটি প্রতিযোগিতার ব্যাপারে বলব।
এসিএম আইসিপিসি
এসিএমের পূর্ণ অর্থ হলো অ্যাসোসিয়েশন ফর কম্পিউটিং মেশিনারি। এটি একটি কম্পিউটিং-বিষয়ক আন্তর্জাতিক সংস্থা, যা ১৯৪৭ সালে প্রতিষ্ঠিত হয় এবং এ জাতীয় সংস্থার মধ্যে সবচেয়ে পুরোনো এবং বৃহত্তম। ১৯৭৭ সালে এই সংস্থা চালু করে আন্তর্জাতিক কলেজিয়েট প্রোগ্রামিং কনটেস্ট, যা সংক্ষেপে আইসিপিসি নামে পরিচিত। বিশ্ববিদ্যালয়ের শিক্ষার্থীদের জন্য সবচেয়ে মর্যাদাপূর্ণ প্রোগ্রামিং প্রতিযোগিতা হলো আইসিপিসি।
এই প্রতিযোগিতাটি একটি দলগত প্রতিযোগিতা। প্রতিটি দলে তিনজন সদস্য এবং একজন কোচ থাকেন। তাঁদের সবাইকে একই বিশ্ববিদ্যালয়ের অধীনে থাকতে হয়। বছরে এই প্রতিযোগিতা একবার দুটি ধাপে অনুষ্ঠিত হয়। প্রথমে বিশ্বের চল্লিশটিরও বেশি অঞ্চলে অনুষ্ঠিত হয় আঞ্চলিক প্রতিযোগিতা। আঞ্চলিক প্রতিযোগিতার বিজয়ীদের নিয়ে অনুষ্ঠিত হয় ‘ওয়ার্ল্ড ফাইনালস’, যাতে সারা বিশ্বের একশটিরও বেশি বিশ্ববিদ্যালয় থেকে দল অংশ নিয়ে থাকে।
১৯৯৮ সাল থেকে বাংলাদেশি বিশ্ববিদ্যালয়গুলো এই প্রতিযোগিতায় নিয়মিতভাবে অংশ নিচ্ছে। এখন পর্যন্ত সবচেয়ে বেশিবার অংশ নিয়েছে বাংলাদেশ প্রকৌশল বিশ্ববিদ্যালয়। এর বাইরেও অংশ নেওয়া বিশ্ববিদ্যালয়গুলো হলো ঢাকা বিশ্ববিদ্যালয়, জাহাঙ্গীরনগর বিশ্ববিদ্যালয়, শাহজালাল বিজ্ঞান ও প্রযুক্তি বিশ্ববিদ্যালয়, নর্থ সাউথ বিশ্ববিদ্যালয়, ইস্ট ওয়েস্ট বিশ্ববিদ্যালয় এবং আমেরিকান ইন্টারন্যাশনাল ইউনিভার্সিটি।
এই কনটেস্টে ৮ থেকে ১২টি সমস্যা দেওয়া হয়। শিক্ষার্থীরা মোট পাঁচ ঘণ্টা সময়ের মধ্যে এই সমস্যাগুলো সমাধান করার চেষ্টা করে থাকেন। মজার বিষয় হলো, যদিও দলে তিনজন সদস্য থাকেন, কিন্তু প্রতি দলের জন্য বরাদ্দ কম্পিউটার থাকে মাত্র একটিই। কাজেই দলগুলোকে সমস্যা সমাধানের পাশাপাশি ঠিকমতো সময় ভাগ করে কাজ করতে হয়। অত্যন্ত মর্যাদাপূর্ণ এই প্রতিযোগিতায় দলগুলোর চূড়ান্ত পরীক্ষা নেয় প্রোগ্রামিংয়ের পাশাপাশি তার সমস্যা সমাধানের দক্ষতার, সময়ের সদ্ব্যবহারের এবং দলগত সমন্বয়ের। কম্পিউটার বিজ্ঞানের নিত্যনতুন সব অ্যালগরিদম সম্পর্কে দক্ষতা থাকতে হয় দলগুলোর। পাশাপাশি গাণিতিক পারদর্শিতাও দরকার।
ইন্টারন্যাশনাল অলিম্পিয়াড অব ইনফরমেটিকস (আইওআই)
স্কুল-কলেজের শিক্ষার্থীদের জন্য সবচেয়ে মর্যাদাপূর্ণ প্রোগ্রামিং প্রতিযোগিতা হলো আইওআই। এটি প্রতিবছর অনুষ্ঠিত হয়। ২০১৬ সালে রাশিয়ার কাজানে অনুষ্ঠিত এই প্রতিযোগিতায় ৮৭টি দেশের মোট ৩০৬ জন প্রতিযোগী অংশ নেয়।
এই প্রতিযোগিতায় শুধু স্কুল-কলেজের প্রতিযোগীরা অংশ নিতে পারে। এটি দলগত প্রতিযোগিতা নয়। প্রত্যেক প্রতিযোগী এককভাবে অংশ নেয়। এই প্রতিযোগিতাটি দুই দিনব্যাপী অনুষ্ঠিত হয়। প্রতিদিন তিনটি করে সমস্যা দেওয়া হয় এবং সময় থাকে পাঁচ ঘণ্টা। দুই দিনের প্রতিযোগিতার মোট নম্বরের ওপর ভিত্তি করে প্রতিযোগীদের স্বর্ণ, রৌপ্য বা ব্রোঞ্জপদক দেওয়া হয়ে থাকে।
বাংলাদেশ দল বাছাই করা হয় মূলত দুটি ধাপে। প্রথম বিভাগীয় পর্যায়ের প্রতিযোগিতা অনুষ্ঠিত হয়। বিভাগীয় পর্যায়ে বিজয়ীদের নিয়ে অনুষ্ঠিত হয় জাতীয় প্রতিযোগিতা। এই প্রতিযোগিতার বিজয়ীদের নিয়ে অনুষ্ঠিত ক্যাম্প থেকে বাছাই করা হয় অলিম্পিয়াডের জন্য বাংলাদেশ দল। এ বিষয়ে জানার জন্য ফেসবুকে ‘বাংলাদেশ ইনফরমেটিকস অলিম্পিয়াড’ নামে একটি গ্রুপ রয়েছে। ২০১৬ সালে অংশ নেওয়া বাংলাদেশ দলের প্রতিযোগীরা হলো রুহান হাবিব, সৈয়দ রুবাব রেদওয়ান, তাসমিম রেজা এবং জুবায়ের রহমান। দলনেতা হিসেবে ছিলেন বুয়েটের প্রভাষক মোহাম্মদ কায়সার আবদুল্লাহ।
২০০৫ সাল থেকে শুরু করে ২০১৬ পর্যন্ত অংশ নিয়ে বাংলাদেশ দল মোট ১টি রৌপ্য পদক ও ৫টি ব্রোঞ্জপদক পেয়েছে। এর মধ্যে এই বছর ব্রোঞ্জপদক পেয়েছে দল থেকে রুহান হাবিব এবং সৈয়দ রুবাব রেদওয়ান ।
জাতীয় হাইস্কুল প্রোগ্রামিং প্রতিযোগিতা
২০১৫ সাল থেকে বাংলাদেশ সরকারের পৃষ্ঠপোষকতায় শুরু হয়েছে জাতীয় হাইস্কুল প্রোগ্রামিং প্রতিযোগিতা। এই প্রতিযোগিতায়ও শুধু স্কুল-কলেজের শিক্ষার্থীরা অংশ নিতে পারে। ২০১৬ সালে মোট ১৬টি জেলায় আঞ্চলিক প্রতিযোগিতা থেকে বাছাই করা হয় জাতীয় প্রতিযোগিতার প্রতিযোগীদের। আরও জানতে চোখ রাখতে হবে ন্যাশনাল হাইস্কুল প্রোগ্রামিং কনটেস্ট নামের ফেসবুক গ্রুপে। এ ছাড়া nhspc.net ঠিকানার ওয়েবসাইটে গিয়েও এই প্রতিযোগিতার খুঁটিনাটি জানা যাবে।