শিখতে হবে নিজে নিজেই

স্কুলশিক্ষার্থীদের জন্য চলছে প্রোগ্রামিং প্রতিযোগিতা, প্রোগ্রামিং–চর্চার জন্য এ রকম আয়োজনের বিকল্প নেই। ২৪ মার্চ ঢাকা বিশ্ববিদ্যালয়ের কার্জন হল থেকে ছবিটি তোলা l সংগৃহীত
স্কুলশিক্ষার্থীদের জন্য চলছে প্রোগ্রামিং প্রতিযোগিতা, প্রোগ্রামিং–চর্চার জন্য এ রকম আয়োজনের বিকল্প নেই। ২৪ মার্চ ঢাকা বিশ্ববিদ্যালয়ের কার্জন হল থেকে ছবিটি তোলা l সংগৃহীত

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

যেভাবে শুরু: এক ঘণ্টার প্রোগ্রামিং

ছোটবেলা থেকে প্রোগ্রামিং শেখার সহজ উপায় কী? এ প্রশ্নের উত্তরে সি প্রোগ্রামিং ভাষার জনক ডেনিশ রিচির কথাটারই পুনরাবৃত্তি করতে হয়—প্রোগ্রামিং শেখার সহজ উপায় হলো প্রোগ্রাম লেখা। সেটাই। প্রোগ্রামিং শেখার জন্য প্রোগ্রাম লিখতে হবে।

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

২. নিচু হও

৩. বই হাতে নাও

৪. উঠে দাঁড়াও

৫. উল্টো ঘোরো

৬. পাঁচ কদম যাও

বিল গেটস ও  মার্ক জাকারবার্গ
বিল গেটস ও মার্ক জাকারবার্গ

এই যে ধাপে ধাপে নির্দেশ লিখলাম এটাকেই বলে ‘প্রোগ্রাম করা’। সাধারণ কাজগুলো যেমন করে করা যায়, সেভাবে ‘বিল্ডিং ব্লক’ একটার পর একটা সাজিয়ে করতে পারলেই প্রোগ্রামিংয়ের ধারণাটা হয়ে যায়। ঠিক এ রকমভাবে কোড ডট অরগ (www.code.org) তৈরি করেছে প্রোগ্রামিং শেখার এক ঘণ্টার অনুশীলনী। এই অনুশীলনীগুলোতে ধাপে ধাপে প্রোগ্রামিং শেখার বন্দোবস্ত রয়েছে। মজার ব্যাপার হলো, এ কাজটি করতে পারলে কোনো প্রোগ্রামিং সংকেত না লিখেই প্রোগ্রামিংয়ের একটা ধারণা পাওয়া যায়। আর এভাবে শুরু হতে পারে খুদে প্রোগ্রামারদের আনন্দযাত্রা।
কোন প্রোগ্রামিং ভাষা?
এ প্রশ্নের কোনো সহজ উত্তর নেই। তবে মৌলিক ভাষা দিয়ে শুরু করলে ভালো হয়। সি প্রোগ্রামিং ভাষা তাই আমার প্রথম পছন্দ। তবে ইচ্ছা করলে পাইথন দিয়েও শুরু করা যাবে। মনে রাখতে হবে, সি বা পাইথন—যেটাই হোক প্রোগ্রামিংয়ের মূল ব্যাপারগুলো সম্পূর্ণ বুঝে না নেওয়া পর্যন্ত নতুন কিছুতে যাওয়া যাবে না।
চাই একটা বই

আমাদের দেশে এখনো কোনোও প্রোগ্রামিং স্কুল নেই। সে সঙ্গে স্কুল পর্যায়ে প্রোগ্রামিং পাঠ্যসূচির অন্তর্ভুক্তও নয়। তাই শিখতে হবে মনের আনন্দে, নিজে নিজে। এখন ইন্টারনেটে অনেক উদাহরণ, অনুশীলনী পাওয়া যায়। ফেসবুক, গুগলসহ অনেক প্রযুক্তি প্রতিষ্ঠানের এখন আলাদা প্রোগ্রামিং শেখার ওয়েবসাইট আছে। তবে শুরুতে একটা বইকে সঙ্গী করলে সবচেয়ে ভালো হয়। কারণ, বইতে একটা নির্দিষ্ট পাঠ্যক্রম অনুসরণ করা হয়। যারা সি ভাষা শিখতে আগ্রহী, তামিম শাহরিয়ারের কম্পিউটার প্রোগ্রামিং (প্রথম খণ্ড) বই দিয়ে শুরু করতে পারে। সি প্রোগ্রামিংয়ের জন্য কম্পিউটারে একটা কম্পাইলার লাগে। এ ছাড়া বাংলাদেশ কম্পিউটার কাউন্সিল একটি অনলাইন শিক্ষার ওয়েবসাইট (http://www.eshikkha.net) তৈরি করেছে। সেখানেও সি প্রোগ্রামিং ভাষায় লেখা প্রোগ্রাম সঠিক হয়েছে কি না, সেটা যাচাই করা যায়।

প্রোগ্রামিং প্রতিযোগিতা

কম্পিউটার প্রোগ্রামিংয়ে ভালো হতে হলে প্রতিযোগিতামূলক আয়োজনে যোগ দেওয়ার কোনো বিকল্প নেই। ছোটবেলা থেকে বিভিন্ন অনলাইন প্রোগ্রামিং প্রতিযোগিতায় অংশ নিয়ে নিজের দক্ষতা যাচাই করতে হবে। তিন বছর ধরে সরকারের তথ্য ও যোগাযোগ প্রযুক্তি (আইসিটি) বিভাগ চালু করেছে ‘জাতীয় হাইস্কুল প্রোগ্রামিং প্রতিযোগিতা (এনএইচএসপিসি)’। এ প্রতিযোগিতায় অংশগ্রহণ করতে হবে। বাংলাদেশ ওপেন সোর্স নেটওয়ার্ক (বিডিওএসএন) এ প্রতিযোগিতার বাস্তবায়ন সহযোগী। কোডমার্শাল (www.codemarshal.org) নামে একটি অনলাইন বিচারক ওয়েবসাইটে এ প্রতিযোগিতা অনুষ্ঠিত হয়। ২০১৭ সালের প্রতিযোগিতা বর্তমানে প্রায় শেষ পর্যায়ে। প্রতিবছর ফেব্রুয়ারি মাসে এ প্রতিযোগিতা অনুষ্ঠিত হয়। প্রতিযোগিতার বিজয়ীরা ঢাকায় একটি ক্যাম্পে নিবিড়ভাবে প্রোগ্রামিং চর্চা করতে পারে। এ বছর থেকে এ প্রতিযোগিতার মাধ্যমে বাংলাদেশের ইনফরমেটিক্স প্রতিযোগিতা হবে এবং তার মাধ্যমে বাংলাদেশের প্রতিযোগীরা অংশ নেবে আন্তর্জাতিক ইনফরমেটিক্স অলিম্পিয়াডের আসরে। হাইস্কুলের শিক্ষার্থীদের জন্য এটিই কম্পিউটার প্রোগ্রামিং প্রতিযোগিতার সর্বোচ্চ ধাপ।

খুদে প্রোগ্রামারদের  কম্পিউটার প্রোগ্রামিং শেখা আনন্দময় হোক।