ইনফরমেটিক্স অলিম্পিয়াড

আন্তর্জাতিক ইনফরমেটিক্স অলিম্পিয়াডের লোগো

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

আন্তর্জাতিক ইনফরমেটিক্স অলিম্পিয়াডে দল গঠনের লক্ষ্যে প্রথমে জাতীয় ইনফরমেটিক্স অলিম্পিয়াড নামে প্রতিযোগিতা অনুষ্ঠিত হয়, তারপর সেখানে যারা ভালো করে, তাদেরকে নিয়ে বেশ কিছু বাছাই প্রতিযোগিতা করার পরে চূড়ান্ত দল গঠন করা হয়। আর জাতীয় প্রতিযোগিতায় আসতে হলে প্রথমে পাড়ি দিতে হবে বিভাগীয় অলিম্পিয়াড। বাংলাদেশ ইনফরমেটিক্স অলিম্পিয়াডের কোনো অফিশিয়াল ওয়েবসাইট নেই। তাই খবরাখবর পাওয়ার জন্য চোখ রাখতে হবে এই ফেসবুক গ্রুপে : https://www.facebook.com/groups/bdoifamily/

বাংলাদেশে বিভাগীয় ইনফরমেটিক্স অলিম্পিয়াড প্রতিযোগিতায় সাধারণত প্রোগ্রামিং সমস্যা দেওয়া হয় না। বরং গাণিতিক যুক্তি-বুদ্ধি যাচাই করার জন্য প্রশ্ন দেওয়া হয়। তবে জাতীয় ইনফরমেটিক্স অলিম্পিয়াডে প্রোগ্রামিং করেই সমস্যা সমাধান করতে হয়। সেখানে সি ও সি প্লাস প্লাস প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করা যায়।

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

জাতীয় ইনফরমেটিক্স অলিম্পিয়াডে যেহেতু প্রোগ্রামিং করে সমস্যার সমাধান করতে হবে, তাই প্রোগ্রামিং জানতে হবে। প্রোগ্রামিং শেখার জন্য অনলাইনে একটি ফ্রি কোর্স আছে : http://dimikcomputing.com/course/introduction-to-programming-online-course/। একটি জিমেইল একাউন্ট থাকলেই রেজিস্ট্রেশন করা যায়। কোর্সের ভিডিওগুলো নিয়ে ‘প্রোগ্রামিংয়ে হাতে খড়ি’ নামক একটি ডিভিডিও তৈরি করা হয়েছে, যেটি পাওয়া যায় ঢাকার নীলক্ষেতের হক লাইব্রেরিতে। আর ঘরে বসেও কেনা যায়, রকমারি ডট কম থেকে। ভিডিও লেকচারের পাশাপাশি বই পড়তে হবে। প্রোগ্রামিং শেখা শুরুর করার জন্য বাংলায় ‘কম্পিউটার প্রোগ্রামিং ১ম খণ্ড (লেখক: তামিম শাহরিয়ার সুবিন, প্রকাশক: অন্যরকম প্রকাশনী)’ বইটি পড়া যেতে পারে। বইয়ের ওয়েবসাইটে বইটি বিনামূল্যে পড়া যায় : http://cpbook.subeen.com। এছাড়া ওয়েবসাইটে কিছু সমস্যা আছে, যেগুলো সমাধানের চেষ্টা করলে প্রোগ্রামিং স্কিল বাড়বে।

ইনফরমেটিক্স অলিম্পিয়াডের জন্য গাণিতিক জ্ঞান ও দক্ষতা বাড়াতে দ্বিমিক কম্পিউটিং স্কুল আয়োজিত, হাম্মাদ আলী স্যারের ডিসক্রিট ম্যাথ নামক অনলাইন কোর্সটি করা যেতে পারে এখান থেকে : http://dimikcomputing.com/course/discrete-mathematics-online-course/। এটিও সবার জন্য ফ্রি। লেকচার ভিডিওগুলোর ডিভিডি কিনতে পাওয়া যায় ঢাকার নীলক্ষেতের হক লাইব্রেরি ও রকমারি ডট কম-এ।

প্রোগ্রামিং চর্চা করার জন্য আরো কিছু গুরুত্বপূর্ণ ওয়েবসাইটের লিঙ্ক পাওয়া যাবে এখানে : http://cpbook.subeen.com/2011/08/blog-post_854.html

সবার জন্য শুভকামনা।

প্রোগ্রামিং শেখা

মাঝে মাঝে এমন প্রশ্ন পাই,

  • ‘প্রোগ্রামিংয়ের A টু Z শিখতে চাই, কোন বইটা কিনব?’।
  • ‘সি শিখে কী লাভ? ডেস্কটপ অ্যাপ্লিকেশন বানাতে পারছি না।’
  • ‘লুপ শেষ করে অ্যারে শুরু করে দিলাম, কিন্তু গেম কীভাবে বানাবো, এখনও তো গেমের কোনো কথাই পড়লাম না।’

এমন আরো অনেক প্রশ্ন। যেগুলোর উত্তর আমি সাধারণত দেই না, কারণ এরকম প্রশ্ন যারা করে, তাদেরকে দুই-এক কথায় কোনো কিছু বোঝানো খুবই ঝামেলার ব্যাপার। তাই প্রোগ্রামিং শিক্ষা বিষয়ক আমার মতামত সংক্ষিপ্ত আকারে লিখে দিচ্ছি।

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

তেমনি প্রথমে একটা প্রোগ্রামিং ভাষা কিছুদূর শেখার পরে তুমি যদি লিনাক্সের মতো একটা অপারেটিং সিস্টেম, বা ফেসবুকের মতো ওয়েব অ্যাপ্লিকেশন তৈরির কাজ শুরু করতে চাও, তাহলে হবে না। তুমি ভার্সিটিতে যদি কম্পিউটার সায়েন্স পড়, তখন প্রথমে একটু সি শিখলে, সেগুলো দিয়ে বিভিন্ন প্রবলেম সলভ করলে, তারপরে আরেকটু শিখলে, আরো কিছু প্রবলেম সলভ করলে। এভাবে সি ল্যাঙ্গুয়েজের দরকারি জিনিসগুলো শেখার সাথে সাথে প্রোগ্রামিংয়ের লজিক তোমার মাথায় ঢুকে গেলো। এসময় যদি তুমি সি দিয়ে গেম বানাতে চাও, তাহলে হবে না। তারপরে তুমি ডিসক্রিট ম্যাথ শিখলে, ডাটা স্ট্রাকচার শিখলে।  এখন তুমি আগের চেয়ে বড় বড় প্রোগ্রাম লিখতে পারো। প্রোগ্রামগুলোর কোডও আগের চেয়ে ইফিশিয়েন্ট হয়। তারপরে তুমি জাভা (অথবা সি শার্প) শিখলে। সেখানে ল্যাঙ্গুয়েজ শেখার সাথে সাথে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ের ধারণাটা পাকাপোক্ত করে নিলে। এবারে হয়ত তুমি সুন্দর একটা ডেস্কটপ অ্যাপ্লিকেশন তৈরি করে ফেললে। যেটা হয়ত তুমি সি শেখার সময়ই তৈরি করতে চাইতে… এভাবে সময়ের সাথে সাথে প্রোগ্রামিং করতে করতেই প্রোগ্রামিং শেখা হয়, সেটা কখনও থামানো যায় না। আমার নিজের কথাই বলি। আমি ২০০১ সালে প্রোগ্রামিং শেখা শুরু করি সি ল্যাঙ্গুয়েজ দিয়ে (স্ট্রাকচার্ড প্রোগ্রামিং)। এখন আমি ফাংশনাল প্রোগ্রামিং শিখছি, স্কালা (scala) ল্যাঙ্গুয়েজ শেখার সাথে সাথে (গত সপ্তাহ থেকে শুরু করেছি)। আবার পাইথন শেখার শুরু ২০০৭ সালের শেষ দিকে। কিন্তু আজকেও পাইথনের একটা বইয়ের একটা চ্যাপ্টার পড়ছিলাম, নতুন কিছু শেখার জন্য। এর মধ্যে গত কয়েক বছরে কিন্তু হাজার হাজার লাইন পাইথন কোড লিখে ফেলেছি। আবার আমি যদি বসে থাকতাম যে পাইথন পুরোপুরি শিখে তারপরে পাইথন দিয়ে কাজ করবো, তাহলে হয়ত কখনওই সেটা করা হতো না। এই পোস্টের মূল বক্তব্য আশা করি তোমরা বুঝতে পেরেছ।

সিএস, সিএসই, এসই নাকি আইসিটি?

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

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

প্রথমেই জানতে হবে কম্পিউটার সম্পর্কে মৌলিক ধারণা, আর সেটি পাওয়া যাবে Introduction to Computer নামক কোর্সে। তারপর Structure Programming (স্ট্রাকচার্ড প্রোগ্রামিং)। সাধারণত আমাদের দেশের বিশ্ববিদ্যালয়গুলো এই বিষয়টি পড়ানোর সময় সি ল্যাঙ্গুয়েজ শেখায়। আর সেই সাথে Discrete Mathematics (ডিসক্রিট ম্যাথমেটিক্স)। এটিও দেখবে সিলেবাসে আছে।

তারপরে আমাদের শিখতে হবে Object Oriented Programming (অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং), Data Strucutre (ডাটা স্ট্রাকচার) ও Digital Logic (ডিজিটাল লজিক)। সেগুলোও দেখবে সব বিষয়ের সিলেবাসেই আছে।

এর পরের ধাপ রয়েছে কম্পিউটার নেটওয়ার্কিং (Computer Networking), মাইক্রোপ্রসেসর ও অ্যাসেম্বলি ল্যাঙ্গুয়েজ (Microprocessor and Assembly Language), কম্পিউটার আর্কিটেকচার (Computer Architecture) ও অপারেটিং সিস্টেম (Operating System)। এগুলোও আবশ্যিক বিষয়, মানে জানতেই হবে। তাই তোমরা যদি ভার্সিটির সিলেবাসগুলো খেয়াল করো, দেখবে যে এই বিষয়গুলো আছেই, থাকতেই হবে।

আর বাকি রইল ডাটাবেজ (Database), অ্যালগরিদম (Algorithm), আর্টিফিশিয়াল ইন্টিলিজেন্স (Artifical Intelligence) ও সফটওয়্যার ইঞ্জিনিয়ারিং (Software Engineering)। এই বিষয়গুলোও না জানলেই নয়।

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

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

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

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

[১] https://www.facebook.com/groups/programming.school/

[২] https://www.facebook.com/DimikComputing (কম্পিউটার সায়েন্সের কিছু বিষয় সহজভাবে বোঝানের জন্য তৈরি করা হয়েছে দ্বিমিক কম্পিউটিং স্কুল। সেখানে ইতিমধ্যে প্রোগ্রামিংয়ে হাতেখড়ি, ওয়েব কনসেপ্টস ও ডিসক্রিট ম্যাথের উপর বাংলায় অনলাইন কোর্স আয়োজন করা হয়েছে। সামনে আরো কিছু কোর্স আসছে।)

পাইথন কী?

কম্পিউটারকে দিয়ে কাজ করাতে গেলে কম্পিউটার বুঝতে পারে, এমন ভাষায় তাকে নির্দেশ দিতে হয়। এরকম প্রোগ্রামিং ভাষা অনেক রয়েছে এবং নিত্যনতুন তৈরি হচ্ছে। তবে অল্প কয়েকটি প্রোগ্রামিং ভাষাই প্রোগ্রামারদের কাছে জনপ্রিয় হতে পেরেছে। তেমন একটি প্রোগ্রামিং ভাষা হচ্ছে পাইথন যেটি তৈরি করেন গুইডো ভন রুযাম (Guido van Rossum)। ১৯৮৯ সালের ডিসেম্বর মাসে ক্রিসমাসের ছুটিতে তিনি পাইথন তৈরি করা শুরু করেন। তবে পাইথন সবচেয়ে বেশি জনপ্রিয়তা পায় ২০০০ সালে তার ২.০ সংস্করণ চালু হওয়ার পরে। বর্তমানে পাইথনের ২.৭ এবং ৩.৪ এই দুটি সংস্করণ চালু রয়েছে।

Guido Van Rossum

পাইথন একটি উচ্চস্তরের প্রোগ্রামিং ভাষা। পাইথন স্ট্রাকচার্ড প্রোগ্রামিং এবং অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং করা যায়। এছাড়া ফাংশনাল প্রোগ্রামিংও করা যায় পাইথন দিয়ে। সাম্প্রতিক একটি জরিপে [১] দেখা যায় যে সারা পৃথিবীতে বর্তমানে জনপ্রিয়তার বিচারে পাইথনের স্থান চতুর্থ (শীর্ষ তিনটি হচ্ছে, জাভা, সি, সি প্লাস প্লাস), আর যুক্তরাষ্ট্রের শীর্ষ বিশ্ববিদ্যালয়গুলোর ৬৯% তার শিক্ষার্থীদের প্রোগ্রামিংয়ের সাথে পরিচয় করিয়ে দেয় পাইথন ব্যবহার করে [২]। এছাড়া বিশ্ববিখ্যাত প্রতিষ্ঠান গুগলের তিনটি অফিশিয়াল প্রোগ্রামিং ভাষার একটি হচ্ছে পাইথন।

পাইথনের এত জনপ্রিয় হওয়ার কারণ কী? পাইথন প্রোগ্রামাররা নিচের কারণগুলোকেই প্রধান মনে করেন:‌

  • পাইথন কোড সহজে পড়া যায়
  • কোড সি বা জাভার চেয়ে তুলনামূলক অনেক ছোট হয়
  • পাইথনে রয়েছে লিস্ট, ডিকশনারি ও সেটের মতো চমৎকার ডাটা স্ট্রাকচার
  • পাইথন বিভিন্ন প্ল্যাটফর্মে ব্যবহার করা যায়
  • বিশাল ও কার্যকর স্ট্যান্ডার্ড লাইব্রেরি রয়েছে
  • শক্তিশালী অনলাইন কমিউনিটি
  • চমৎকার ওয়েব ফ্রেমওয়ার্ক (জ্যাঙ্গো, ফ্লাস্ক ইত্যাদি)

মোটামুটি সব লিনাক্স ডিস্ট্রিবিউশন ও ম্যাক অপারেটিং সিস্টেমে পাইথন বিল্ট-ইন থাকে, আলাদাভাবে ইনস্টল করতে হয় না। উইন্ডোজে পাইথন আলাদা করে ইনস্টল করতে হয়, যা পাইথনের অফিয়াল ওয়েবসাইট [৩] থেকে ডাউনলোড করা যায়।

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

পাইথন শেখার জন্য পাইথনের অফিশিয়াল টিউটোরিয়াল রয়েছে [৪]। এছাড়া অনলাইনে রয়েছে বিভিন্ন বই ও অনলাইন কোর্স। তবে বাংলা ভাষায়ও পাইথন শেখার সুযোগ রয়েছে অনলাইনে। একেবারে নতুনদের জন্য আছে ‘হুকুশ পাকুশের প্রোগ্রামিং শিক্ষা’ [৫] যেটি তৈরি করেছেন ইকরাম মাহমুদ। আর ‘পাইথন পরিচিতি’ [৬] নামে ধারাবাহিক ভিডিও লেকচার রয়েছে যা পাইথন শেখার জন্য বেশ কার্যকর। সম্প্রতি দ্বিমিক কম্পিউটিং স্কুল [৭], বাংলাদেশ পাইথন ইউজার গ্রুপ [৮] ও বাংলাদেশ ওপেন সোর্স নেটওয়ার্ক মিলে প্রথমবারের মতো আয়োজন করে ‘পাইকন ঢাকা ২০১৪’ যা পাইথনের উপর বাংলাদেশে প্রথম আন্তর্জাতিক সম্মেলন।

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

লিঙ্কঃ
১) http://goo.gl/DiWrtA
২) http://goo.gl/eDyqM0
৩) http://python.org
৪) http://goo.gl/QTfyY1
৫) http://hukush-pakush.appspot.com
৬) http://pyvideo.subeen.com
৭) http://dimikcomputing.com
৮) http://pycharmers.net

লেখাটি প্রথম আলোতে প্রকাশিত হয় ২৫-০৭-২০১৪ তারিখে।

অনলাইন সংস্করণ: http://www.prothom-alo.com/technology/article/276553

ই-প্রথম আলো: http://epaper.prothom-alo.com/index.php?opt=view&page=28&date=2014-07-25

যারা নতুন প্রোগ্রামিং শিখবে, তাদের জন্য উপযোগি বই : পাইথন দিয়ে প্রোগ্রামিং শেখা। বিস্তারিত জানতে ছবিতে ক্লিক করুন।
যারা অভিজ্ঞ প্রোগ্রামার, তাদের দ্রুত পাইথন শেখার জন্য উপযোগি বই।

পাইকন ঢাকা ২০১৪

বর্তমান বিশ্বে জনপ্রিয় প্রোগ্রামিং ভাষাগুলোর মধ্যে অন্যতম হচ্ছে পাইথন (Python)। এটি একটি ওপেন সোর্স প্রোগ্রামিং ভাষা যেটি তৈরি ও রক্ষণাবেক্ষণের কাজটি করে পাইথন সফটওয়্যার ফাউন্ডেশন।

PyCon Dhaka 2014
PyCon Dhaka 2014

সারা পৃথিবীতে পাইথন প্রোগ্রামারদের যেই সম্মেলনগুলো অনুষ্ঠিত হয়, সেটির নাম হচ্ছে পাইকন (পাইথন কনফারেন্স)। সারা বিশ্বের সাথে তাল মিলিয়ে “পাইকন ঢাকা ২০১৪” নামে বাংলাদেশে সেটি প্রথমবারের মতো অনুষ্ঠিত হতে যাচ্ছে এই জুন মাসের ২১ তারিখ। ইতিমধ্যে পাইথন ফাউন্ডেশন থেকে অনুমতিও পাওয়া গেছে। তারা তাদের ওয়েবসাইটে ঢাকার এই অনুষ্ঠানের কথা উল্লেখ করেছে।

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

সম্পূর্ণ ইভেন্টটি ভিডিও করা হবে যেন পরববর্তি সময়ে ইউটিউব থেকে আলোচনাগুলো দেখার সুযোগ থাকে।

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

পাইকন ঢাকা-এর অফিশিয়াল ওয়েবসাইট : http://dhaka.pycon.org/

প্রোগ্রামিং শেখার ১০টি লিঙ্ক

যারা প্রোগ্রামিংয়ের জগতে একেবারেই নতুন এবং বাংলা ভাষায় প্রোগ্রামিং শিখতে চায়, তাদের জন্য ১০টি দরকারি লিঙ্ক : 

১) দ্বিমিক কম্পিউটিং – অনলাইনে বাংলায় তথ্যপ্রযুক্তি বিষয়ক বিভিন্ন ফ্রি কোর্স (ভিডিও লেকচার)। নতুনদের জন্য সি প্রোগ্রামিংয়ের ওপরও একটি কোর্স রয়েছে এখানে। :http://dimikcomputing.com/

২) কম্পিউটার প্রোগ্রামিং বইটির ওয়েব ভার্শন (ফ্রি) :http://cpbook.subeen.com/

৩) কম্পিউটার প্রোগ্রামিং বইয়ের পিডিএফ ডাউনলোড : http://goo.gl/vv0kRN

৪) প্রোগ্রামিং বিষয়ক বই:

কম্পিউটার প্রোগ্রামিং ১ম খণ্ড

কম্পিউটার প্রোগ্রামিং ২য় খণ্ড

৫২টি প্রোগ্রামিং সমস্যা ও সমাধান

প্রোগ্রামিং কনটেস্ট – ডাটা স্ট্রাকচার ও অ্যালগরিদম

প্রোগ্রামিং ক্যারিয়ার গাইডলাইন – এক ডজন প্রোগ্রামারের কথা

৫) পাইথন শেখার ফ্রি অনলাইন বই – pybook.subeen.com

৬) প্রোগ্রামিং শেখার গাইডলাইন (তামিম শাহ্‍‍রিয়ার সুবিন)

৭) প্রোগ্রামিং শেখার গাইডলাইন (তানভীরুল ইসলাম) :http://goo.gl/M1DeIZ

৮) প্রোগ্রামাবাদ – প্রোগ্রামিং প্রশ্নোত্তরের জন্য ওয়েবসাইট : http://programabad.com

৯) বাংলা ভাষায় প্রোগ্রামিং সমস্যা :http://dimikoj.com

১০) ফেসবুক গ্রুপ :https://www.facebook.com/groups/programming.school/