কম্পিটিটিভ প্রোগ্রামিংয়ের দুনিয়ায় প্রবেশের গল্প

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

বি:দ্র: পোস্টটা লেখার সময় আমি মনে করেছি যেন আমি আমার ব্যক্তিগত ডায়েরিতে লিখছি। তাই আমার মনের কিছু আবেগ লেখার মধ্যে এসে গেছে। যদি পোস্টটা পড়ার সময় কখনো মনে হয় আমি অহংকার করছি তবে ততক্ষণাৎ পোস্টটি পড়া বন্ধ করে “অহংকারী” কমেন্ট করে চলে যান।

২০১৪ সাল: আমার জীবনে আইসিটির আগমন

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

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

২০১৫ সাল: প্রোগ্রামিং নিয়ে আগ্রহের সূত্রপাত

আউস সাইবার লাইব্রেরীর নোটিশ বোর্ডে একটা নতুন প্রতিযোগিতার পোস্টার সাঁটানো দেখতে পেলাম। পোস্টার পড়ে জানলাম প্রতিযোগিতার নাম ন্যাশনাল হাইস্কুল প্রোগ্রামিং কনটেস্ট (NHSPC)। সেই প্রতিযোগিতায় আবার দুটি অংশ ছিল, “আইসিটি কুইজ কনটেস্ট” আর “প্রোগ্রামিং কনটেস্ট”। প্রথমেই অঞ্চল ভিত্তিক বিশ্ববিদ্যালয়গুলোতে নেয়া হবে আঞ্চলিক পর্ব আর তারপর আঞ্চলিকের বিজয়ীদের নিয়ে ঢাকায় হবে জাতীয় পর্ব। রংপুর অঞ্চলের প্রতিযোগিতা হবে বেগম রোকেয়া বিশ্ববিদ্যালয় -এ।

তখন আমি ক্লাস সেভেনের ছাত্র। প্রোগ্রামিং কী সেটাই জানি না। তবে হাইস্কুলে ভর্তি হওয়ার পর থেকেই যেহেতু আইসিটি বিষয়ে ভালো দখল ছিল তাই দিতে গিয়েছিলাম আইসিটি কুইজ কনটেস্ট। মোটামুটি ভালোই দিয়েছিলাম। নাম আইসিটি কুইজ হলেও প্রশ্ন ছিল লজিক/ক্রিটিক্যাল থিংকিং ভিত্তিক। কুইজ দেয়া শেষে বেগম রোকেয়া বিশ্ববিদ্যালয় এর অ্যাকাডেমিক ভবন থেকে যখন বের হচ্ছিলাম তখন দেখি পাশ দিয়ে কয়েকজন বলতে বলতে যাচ্ছিলো “এটাতে ডিপি করা লাগত”, “না, গ্রিডি ইউজ করা লাগত”, “আরে আমি গ্রিডি করে ২টা পেনাল্টি খাইছি”। কথাগুলো শুনে আকাশ থেকে পড়লাম! বলে কী এগুলা!! এক-দেড় ঘন্টা পর পুরস্কার বিতরণী অনুষ্ঠান শুরু হলো। প্রথমে কুইজ বিজয়ীদের নাম ঘোষণা করা হবে। হোস্ট এক এক করে নাম ঘোষণা করতে থাকলেন। আমার নাম ঘোষণা করলেন না। অর্থাৎ আমি বিজয়ী হতে পারি নি। আমার মতো হতাশায় ভেঙে বাকিরা যখন চলে যাওয়ার জন্য চেয়ার থেকে উঠছিল তখনই বলা হলো কেউ যেন না যায়; কারণ প্রোগ্রামিং কনটেস্ট বিজয়ীদের পুরস্কার বিতরণী বাকি আছে। এর পর প্রোগ্রামিং কনটেস্টে যারা বিজয়ী হয়েছিল তাদেরকে এক এক করে ডাকা হলো। মূলত ঐ প্রতিযোগিতায় প্রোগ্রামিং নিয়ে শোনার পর থেকেই আমার প্রোগ্রামিং নিয়ে আগ্রহ জন্মে।

২০১৬ সাল: প্রোগ্রামিং শেখা শুরু এবং লাস্ট হওয়া

সেবার আমি ক্লাস এইটে। বছরের শুরুর দিকে বেগম রোকেয়া বিশ্ববিদ্যালয় এর কম্পিউটার সায়েন্স অ্যান্ড ইঞ্জিনিয়ারিং ডিপার্টমেন্টের মোস্তফা কামাল ভাই আউস সাইবার লাইব্রেরীতে আমাদের জন্য প্রোগ্রামিং ক্যাম্প আয়োজন করতে চাইলেন (আমাদের বলছি কারণ আমি ছাড়াও আরো অনেকে ছিল তাই)। আমরাও শেখার জন্য আগ্রহী ছিলাম তাই তিনিও তাঁর ডিপার্টমেন্টের অভিজ্ঞ কয়েকজনকে রাজি করালেন আমাদের প্রোগ্রামিং ক্যাম্পে ট্রেইনার হিসেবে আসার জন্য। ক্যাম্পের প্রথম দিনেই এসেছিলেন সাকিব ভাই। তিনি (তাঁর দল) এসিএম আইসিপিসির ঢাকা রিজিওনালে রংপুর বিভাগের চ্যাম্পিয়ন নির্বাচিত হয়েছিলেন। প্রথম দিনে তিনি আমাদেরকে প্রোগ্রামিং এর সাথে পরিচয় করিয়ে দিলেন আর তাঁর বিভিন্ন অভিজ্ঞতার কথা শেয়ার করলেন। এতে করে কম্পিটিটিভ প্রোগ্রামিংয়ের প্রতি আগ্রহ আরো বেড়ে গেল। কিন্তু একটা দুইটা ক্লাস পর সব কেমন যেন মাথার উপর দিয়ে যাওয়া শুরু করলো। তাই ক্লাস মিস দেয়া শুরু করলাম। যেদিন ক্লাস করতাম সেদিনও এক কান দিয়ে শুনে আরেক কান দিয়ে বের করে দিতাম। বোঝার চেষ্টা করতাম না। “বুঝছো?” জিজ্ঞেস করলে বলে দিতাম “হ্যাঁ”। কোড মুখস্থ করতাম। এভাবেই ক্যাম্প হয়ে গেল শেষ। এরপর ক্যাম্পের সবাইকে একদিন জানানো হলো ক্যাম্প সমাপ্তির একটা কনটেস্ট হবে। এদিকে আমি তো কিছুই বুঝি নি! তাও কনটেস্ট দিতে গেলাম। কনটেস্টে চারটা প্রবলেম ছিল। প্রথমটা ছিল “Hello World” প্রিন্ট করা টাইপের প্রবলেম, দ্বিতীয়টা ছিল মনেহয় যোগ বিয়োগের, তৃতীয়টা A+, A- গ্রেড প্রিন্ট করা, আর চতুর্থটা একটু ক্রিটিক্যাল থিংকিংয়ের প্রবলেম। আমি ঐ “Hello World” প্রিন্ট করা টাইপের প্রবলেমটাই সল্ভ করতে পারি নি, আর বাকিগুলোর কথা তো বাদই দিলাম! অর্থাৎ যা হওয়ার ছিল তাই হলো, লাস্ট হলাম।

জেদ করে শিখে ফেলা

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

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

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




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

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

তামিম শাহরিয়ার সুবিন (কম্পিউটার প্রোগ্রামিং ১ম খণ্ড বই থেকে)

মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

উইন্ডোজ পিসি থেকে কোনো সফটওয়্যার পুরোপুরি আনইন্সটল করার নিয়ম

উইন্ডোজ পিসির গতি বৃদ্ধি করার উপায়