অ্যারোস্পেসে ক্যারিয়ার গড়তে হলে

বিশ্ব মহাকাশ সপ্তাহ (World Space Week) উপলক্ষে ন্যাশনাল ইউনিভার্সিটি অব সিঙ্গাপুরে চলছে বিভিন্ন অনুষ্ঠান। গতকাল (শুক্রবার) সেখানে যাই তানভীরুল ইসলামের একটা বক্তৃতা শোনার জন্য।

এমা লেম্যান
এমা লেম্যান

তানভীরের বক্তৃতার পরই “Building a Career in Aerospace” শিরোনামে আরেকটি বক্তৃতা শুনি। বক্তৃতা করেন এমা লেম্যান (Ms. Emma Lehman), যিনি বর্তমানে গুগলের একটি প্রতিষ্ঠান টেরাবেলা-তে ফ্লাইট অপারেশনস টিমের নেতৃত্ব দিচ্ছেন।

 

সেখানে কী কাজ হয়, জানা যাবে নিচের ভিডিও থেকে:

সেখানে তিনি অ্যারোস্পেস-এ ক্যারিয়ার গড়ার জন্য নয়টি পরামর্শ দেন এমা। যদিও এগুলো নিয়ে তিনি বিস্তারিত বলেন, আমি কেবল বিষয়গুলোর নাম উল্লেখ করছি।

Jpeg
building a career in aerospace

১) লিখতে জানতে হবে: বিজ্ঞানীদের বিভিন্ন রিসার্স পেপার, গ্র্যান্ট প্রপোজাল ইত্যাদি খুব ভালোভাবে লিখতে হয়। তাই লেখালেখি-তে দক্ষতা অর্জন করতে হবে।

২) লেগে থাকতে হবে: কোনো কিছুই সহজ নয়, লেগে থাকা চাই। শুরুতে কোনো কাজ ভালো নাও লাগতে পারে। কিন্তু পরিশ্রম করে যেতে হবে। তাতে একসময় কাজটা সহজ হয়ে যাবে।

৩) নিজের নেটওয়ার্ক ব্যবহার করতে হবে: কেউ যখন লেখাপড়া শেষ চাকরির জন্য তৈরি, তখন নিজের কানেকশন মানে পরিচিত মানুষদের কাজে লাগাতে হবে। চাকরির জন্য কারো কাছে সিভি পাঠানোতে লজ্জ্বার কিছু নেই।

৪) ঝুঁকি নিতে হবে: সবসময় নিরাপদ চাকরি বেছে নিলে সেটা ক্যারিয়ারের জন্য ভালো নাও হতে পারে।

৫) এমন একটি কাজ বা চাকরি খুঁজে নিতে হবে, যেটি তুমি উপভোগ করবে আর কাজ থেকে তুমি অনুপ্রেরণাও পাবে।

৬) সবসময় আরামের কাজ খুুঁজবে না। যেসব জিনিস তুমি জানো, সহজেই করতে পারো, এরকম কাজ বারবার করে কোনো লাভ নেই।

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

৭) অ্যারোস্পেস স্টার্টআপে কাজ নিলে কাজ করার সুযোগ অনেক বেশি পাওয়া যায়। তাই স্টার্টআপেই কাজ খুঁজে নেওয়া উচিত।

৮) অ্যারোস্পেসের জগতেই অনেক ধরণের কাজ আছে। আমি কেবল এরকম কাজ করবো, বা এরকম কোম্পানীতে কাজ করব, এরকম মানসিকতা না রেখে নতুন চ্যালেঞ্জ নেওয়ার ব্যাপারে ফ্লেক্সিবল থাকতে হবে।

৯) পাইথন প্রোগ্রামিং শিখতে হবে।

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

এক ঘণ্টার পাইথন কোডিং

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

তো সামনে “কম্পিউটার বিজ্ঞান শিক্ষা সপ্তাহ” উদযাপনের একটি গুরুত্বপূর্ণ অংশ হচ্ছে “আওয়ার অব কোড“। সারা পৃথিবীর সাথে সাথে বাংলাদেশেও এটি বেশ ঘটা করে পালন করার উদ্যোগ নিয়েছে বিডিওএসএন, আর সাথে গত দুই বছরের মতো এবারেও আছে দ্বিমিক কম্পিউটিং। অনুষ্ঠানের বিস্তারিত জানা যাবে এই ওয়েবসাইটে : http://cseweek.bdosn.org

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

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

১) প্রথম কাজ হচ্ছে সবার কম্পিউটারে পাইথন সফটওয়্যার ইনস্টল করা। ইনস্টলার আগে থেকে ডাউনলোড করে রাখতে হবে (যদি উইন্ডোজ অপারেটিং সিস্টেম হয়, লিনাক্সে এটি এমনিতেই ইনস্টল করা থাকে)। সবাই নিজে নিজে কম্পিউটারে পাইথন ইনস্টল করবে।

২) দ্বিতীয় কাজ হচ্ছে “Hello World” প্রোগ্রাম লেখা। এটি যে প্রোগ্রামিং সংস্কৃতির একটি অংশ, সেটি শিক্ষার্থীদের জানাতে হবে।

৩) 1 থেকে 100 পর্যন্ত সমস্ত পূর্ণসংখ্যা প্রিন্ট করার প্রোগ্রাম দেখাতে হবে। প্রথমে কেবল while লুপ ব্যবহার করে। তারপর for লুপ এবং range() ফাংশন ব্যবহার করে। লুপের ধারণা দিতে হবে। ফাংশন নিয়েও কিছু কথা বলতে হবে। তবে বেশি কথা বলে শিক্ষার্থীদের বিরক্ত করা যাবে না।

৪) এবারে লুপ নিয়ে আরো খেলাধূলা করতে হবে। 1, 3, 5, …, 99 প্রিন্ট করা ও 2, 4, 6, …, 98, 100 প্রিন্ট করার প্রোগ্রাম দেখাতে হবে। তবে এর আগে শিক্ষার্থীদের ১০-১৫ মিনিট সময় দিলে ভালো হয় যেন তারা নিজেরা কাজটি করার চেষ্টা করে। তারপর সংখ্যাগুলোকে বড় থেকে ছোট ক্রমেও প্রিন্ট করার প্রোগ্রাম দেখাতে হবে। শুধু লুপ ব্যবহার করে একবার দেখাতে হবে, তারপর range() ফাংশন ব্যবহার করে।

৫) এবারে কন্ডিশনাল লজিকের ধারণা দিতে হবে। এর জন্য আবার 1 থেকে 100 পর্যন্ত জোড়সংখ্যা ও বিজোড় সংখ্যা প্রিন্ট করার প্রোগ্রাম দেখাতে হবে।

৬) 1 থেকে 1000 এর মধ্যে সমস্ত পূর্ণবর্গ সংখ্যা (1, 4, 9, 16 …) প্রিন্ট করার প্রোগ্রাম দেখাতে হবে। প্রোগ্রামটি একাধিকভাবে লিখে দেখাতে হবে।

৭) লিস্টের ব্যবহার দেখাতে হবে। এর জন্য নিচের তিনটি প্রোগ্রাম দেখালে ভালো হয়:

day = raw_input()
if day in ["Friday", "Saturday"]:
   print day, "is holiday"
else:
   print day, "is not a holiday"
name = raw_input()
if name in ["Rose", "Tulip", "Lily", "Daffodil"]:
   print name, "is a flower"
elif name in ["Mango", "Jackfruit", "Guava", "Papaya"]:
   print name, "is a fruit"
else:
   print "I don't know!"
while True:
   name = raw_input()
   if name == "Exit":
      break
   if name in ["Rose", "Tulip", "Lily", "Daffodil"]:
      print name, "is a flower"
   elif name in ["Mango", "Jackfruit", "Guava", "Papaya"]:
      print name, "is a fruit"
   else:
      print "I don't know!"

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

সবাইকে অংশগ্রহনের জন্য সার্টিফিকেট দিলে সবাই হয়ত উৎসাহ পাবে।

পাইথনের জন্য কিছু লিঙ্ক:
১) হুকুশ-পাকুশের প্রোগ্রামিং শিক্ষা : http://hukush-pakush.com
২) Hour of Python : https://hourofpython.com
৩) পাইথনের ওপর ফ্রি ভিডিও লেকচার: http://pyvideo.subeen.com
৪) পাইথনের ওপর বাংলায় লেখা বই : http://bit.ly/pybook (প্রোগ্রামিংয়ে একেবারে নতুনদের জন্য উপযোগি নয়)।

কোড ইট গার্লের প্রোগ্রামিং কর্মশালা

শেষ হল Code it, Girl-এর প্রথম ইভেন্ট – প্রোগ্রামিংয়ের ওপর দিনব্যাপী কর্মশালা। ২৩ টি স্কুল/ কলেজ থেকে মোট ৪৩ জন ছাত্রী কর্মশালায় অংশগ্রহণ করেছে।  ওয়ার্কশপটি ছিল আট ঘণ্টার এবং ওয়ার্কশপে শিক্ষার্থীরা কম্পিউটার ব্যবহার করে হাতে-কলমে প্রোগ্রামিং করে। কর্মশালার বেশিরভাগ সময়ই তারা কাটায় পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ দিয়ে নানান রকমের প্রোগ্রামিং করে। এছাড়া সার্চ ইঞ্জিনের ব্যবহার ও লিনাক্সের ব্যবহার সম্পর্কে তারা ধারণা লাভ করে ও আওয়ার অব কোড-এ অংশ নেয়।

10931001_895620120470590_5378801531121384549_n10940492_10153018552575797_3949335118392846653_n

কর্মশালাটি পরিচালনা করেন দ্বিমিক কম্পিউটিং-এর তামিম শাহরিয়ার সুবিন এবং তাহমিদ রাফি। তাদের সাথে আরো ছিলেন সফটওয়্যার প্রকৌশলী আশিকুর রহমান মুশফিক এবং রাশিদুল হাসান সৈকত।

10580036_10153018552515797_7995244114120466878_n

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

সন্ধ্যায় ওয়ার্কশপ-এর সমাপনী পর্ব অনুষ্ঠিত হয় ড্যাফোডিল বিশ্ববিদ্যালয়ের অডিটোরিয়ামে। সেখানে উপস্থিত ছিলেন বুয়েটের অধ্যাপক ডক্টর মোহাম্মদ কায়কোবাদ, বাংলাদেশ গণিত অলিম্পিয়াড কমিটির সাধারণ সম্পাদক জনাব মুনির হাসান, ড্যাফোডিল বিশ্ববিদ্যালয়ের সফটওয়্যার ইঞ্জিনিয়ারিং বিভাগের প্রধান তৌহিদ ভুঁইয়া, ভ্যানটেজ ল্যাবস এর ডেভেলপমেন্ট ম্যানেজার মোজাম্মেল হক, Code it, girl এর মেনটর এবং দ্বিমিক কম্পিউটিং এর সহপ্রতিষ্ঠাতা তামিম শাহরিয়ার সুবিন, স্পন্সর হাফিযা খাতুন মেমোরিয়াল ট্রাস্ট এর পক্ষ থেকে ফেরদৌস বাপ্পি এবং আরো অনেকে। আর Code it, girl আয়োজকদের পক্ষ থেকে কথা বলেন আফরীন হোসেন। শাহজালাল বিশ্ববিদ্যালয়ের অধ্যাপক জাফর ইকবাল স্যার অনুষ্ঠানে আসতে না পারলেও ফোন করে ছাত্রীদের উদ্দেশ্যে কথা বলেন এবং এই উদ্যোগ এর সাথে নিজের একাত্মতা প্রকাশ করেন। সমাপনী পর্বে আয়োজকরা দেশে ও বিদেশে বড় বড় সফটওয়্যার প্রতিষ্ঠানে কর্মরত সফল নারীদের নিয়ে একটি প্রেজেন্টেশান প্রদর্শন করেছেন যেটা অংশগ্রহণকারীদের প্রোগ্রামিং শিখতে আরও উৎসাহিত করেছে।

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

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

ফেসবুক গ্রুপ এর লিঙ্কঃ https://www.facebook.com/groups/292738210923130/
পেইজের লিঙ্কঃ https://www.facebook.com/codeitgirl

– প্রেস বিজ্ঞপ্তি।

কোড ইট গার্লের উদ্যোগে পাইথন নিয়ে কর্মশালা

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

এই উদ্দেশেই Code it, girl! এর প্রথম ইভেন্ট – নবম, দশম এবং একাদশ শ্রেণীর ছাত্রীদের জন্য দিনব্যাপী প্রোগ্রামিং ওয়ার্কশপ। এটি অনুষ্ঠিত হবে জানুয়ারি মাসের ১৭ তারিখ (শনিবার) ড্যাফোডিল বিশ্ববিদ্যালয়ের শুক্রাবাদ ক্যাম্পাসে। ওয়ার্কশপে পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে প্রোগ্রামিং জগতের সাথে মেয়েদের পরিচয় করিয়ে দেওয়া হবে। ওয়ার্কশপটি পরিচালনা করবেন ‘কম্পিউটার প্রোগ্রামিং’ বইয়ের লেখক তামিম শাহরিয়ার সুবিন ও দ্বিমিক কম্পিউটিংয়ের পরিচালক তাহমিদ রাফি। এই ইভেন্টে সকল প্রকার একাডেমিক সহায়তা প্রদান করবে তথ্যপ্রযুক্তি শেখার অনলাইন স্কুল – দ্বিমিক কম্পিউটিং। প্রথম ইভেন্টটি স্পন্সর করছে হাফিযা খাতুন মেমোরিয়াল ট্রাস্ট। এই ইভেন্টের ভেন্যু পার্টনার হিসাবে থাকছে ড্যাফোডিল ইন্টারন্যাশনাল বিশ্ববিদ্যালয়। ইন্সপিরেশন পার্টনার হচ্ছে কিশোর আলো। আর পার্টনার হিসাবে সহায়তার হাত বাড়িয়েছে বাংলাদেশ ওপেন সোর্স নেটওয়ার্ক (বিডিওএসএন)। ওয়ার্কশপ এর সমাপনী পর্বে উপস্থিত থাকবেন সাস্টের অধ্যাপক ড. মুহম্মদ জাফর ইকবাল, বুয়েটের অধ্যাপক ডক্টর মোহাম্মদ কায়কোবাদ, বাংলাদেশ গণিত অলিম্পিয়াড কমিটির সাধারণ সম্পাদক জনাব মুনির হাসান এবং নর্থ সাউথ বিশ্ববিদ্যালয়ের সহকারী অধ্যাপক নোভা আহমেদ। সমাপনী পর্বটি অনুষ্ঠিত হবে ড্যাফোডিল ইন্টারন্যাশনাল বিশ্ববিদ্যালয়ের অডিটোরিয়ামে, শুরু হবে সন্ধ্যা ৭ টায় এবং এটি সবার জন্য উন্মুক্ত। সমাপনী পর্বে আয়োজকরা দেশে ও বিদেশে বড় বড় সফটওয়্যার প্রতিষ্ঠানে কর্মরত সফল নারীদের নিয়ে একটি প্রেজেন্টেশান প্রদর্শন করবে যেটা অংশগ্রহণকারীদের প্রোগ্রামিং শিখতে আরও উৎসাহিত করবে।

Code it, girl! একটি অলাভজনক ও স্বেচ্ছাসেবামূলক প্রতিষ্ঠান, এর উদ্যোক্তারা দেশে-বিদেশে বিভিন্ন সফটওয়্যার প্রতিষ্ঠানে কর্মরত। আয়োজকরা হলেন আফরীন হোসেন, মিরফাত শারমিন, রিযভি বিন ইসলাম, মোশ্তাক আহমেদ ম্যাক, তাপস পাল, আশিকুর রহমান মুশফিক, শুভ্র সরকার, রাশিদুল হাসান সৈকত, ওয়াজদা আখতার এবং নাদিয়া রাহমান বৃষ্টি।

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

ফেসবুক গ্রুপ এর লিঙ্কঃ https://www.facebook.com/groups/292738210923130/

পেইজের লিঙ্কঃ https://www.facebook.com/codeitgirl

– প্রেস বিজ্ঞপ্তি।

পাইথন শেখার ডিভিডি

সম্প্রতি পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ শেখার ডিভিডি বের করেছে দ্বিমিক কম্পিউটিং স্কুল (http://dimikcomputing.com)।

 python-dvd

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

ডিভিডি সম্পর্কে বিস্তারিত তথ্য :

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

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

সুচিপত্রঃ
ইউনিট ০১ : পাইথনের সূচনা ও কন্ট্রোল ফ্লো
০১.০১ সূচনা
০১.০২ পাইথন কি এবং কেনো?
০১.০৩ পাইথনের ভার্সন
০১.০৪ প্রথম ইউনিটের সিলেবাস
০১.০৫ ভ্যারিয়েবল
০১.০৬ স্ট্রিং – ১
০১.০৭ স্ট্রিং – ২
০১.০৮ লিস্ট
০১.০৯ কন্ডিশনাল লজিক
০১.১০ কন্ডিশনাল লজিক – ২
০১.১১ কন্ট্রোল ফ্লো – ১
০১.১২ কন্ট্রোল ফ্লো – ২
০১.১৩ প্রথম ইউনিটের সমাপ্তি

ইউনিট ০২ : ডাটা স্ট্রাকচার
০২.০১ পাইথনের ডাটা স্ট্রাকচার
০২.০২ ডাটা স্ট্রাকচার কি?
০২.০৩ লিস্ট ডাটা স্ট্রাকচার
০২.০৪ লিস্টের ব্যবহার
০২.০৫ স্ট্যাক ও কিউ হিসেবে লিস্ট
০২.০৬ টাপল ডাটা স্ট্রাকচার
০২.০৭ টাপলের ব্যবহার
০২.০৮ সেট ডাটা স্ট্রাকচার
০২.০৯ সেটের ব্যবহার
০২.১০ ডিকশনারি
০২.১১ ডিকশনারির ব্যবহার
০২.১২ দ্বিতীয় সপ্তাহের সমাপ্তি

ইউনিট ০৩ : পাইথনের মডিউল
০৩.০১ ফাংশন ও মডিউল
০৩.০২ ফাইল থেকে পাইথন স্ক্রিপ্ট চালানো
০৩.০৩ কিবোর্ড থেকে ইনপুট
০৩.০৪ প্যাকেজ ও মডিউল
০৩.০৫ ফাংশন লেখার নিয়ম
০৩.০৬ প্রথম ফাংশন : যোগ
০৩.০৭ ফাংশনের প্যারামিটার
০৩.০৮ ভ্যালু ও রেফারেন্স
০৩.০৯ প্যারামিটারের ডিফল্ট মান
০৩.১০ ফাংশনে একাধিক ভ্যালু রিটার্ন
০৩.১১ ইমপোর্ট
০৩.১২ ইমপোর্ট এর ব্যবহার
০৩.১৩ প্যাকেজ তৈরী করা
০৩.১৪ প্যাকেজের ব্যবহার
০৩.১৫ তৃতীয় সপ্তাহের সমাপ্তি

ইউনিট ০৪ : ইনপুট, আউটপুট ও এক্সেপশন হ্যান্ডলিং
০৪.০১ ইনপুট, আউটপুট, ফাইল ও এক্সেপশন
০৪.০২ স্প্লিট ও জয়েন
০৪.০৩ স্প্লিট ও জয়েনের ব্যবহার
০৪.০৪ স্ট্রিং ফরম্যাটিং
০৪.০৫ স্ট্রিং ফরম্যাটিং – ২
০৪.০৬ ফাইল অপারেশন
০৪.০৭ এক্সেপশন হ্যান্ডলিং
০৪.০৮ ট্রাই ও ক্যাচ
০৪.০৯ চতুর্থ সপ্তাহের সমাপ্তি

ইউনিট ০৫ : পাইথনে অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং
০৫.০১ এই ইউনিটে যা শিখব
০৫.০২ ওওপি এর ধারনা
০৫.০৩ ক্লাস তৈরী করা
০৫.০৪ ক্লাস ও অবজেক্ট
০৫.০৫ অবজেক্ট ও ইনস্ট্যান্স
০৫.০৬ ইনহেরিটেন্স
০৫.০৭ ইনহেরিটেন্সের ব্যবহার
০৫.০৮ ওওপি এর আরো কিছু কথা
০৫.০৯ পঞ্চম ইউনিটের সমাপ্তি

ইউনিট ০৬ : পাইথনের কিছু টুকিটাকি
০৬.০১ এই ইউনিটে যা শিখব
০৬.০২ ইটারেটর
০৬.০৩ জেনারেটর
০৬.০৪ জেনারেটর এক্সপ্রেশন
০৬.০৫ রেগুলার এক্সপ্রেশন
০৬.০৬ পাইথনের বিল্ট-ইন
০৬.০৭ নতুন প্যাকেজ ইনস্টল করা
০৬.০৮ ওয়েব প্রোগ্রামিং

শিক্ষক পরিচিতিঃ
তামিম শাহ্‍রিয়ার সুবিন — শাহজালাল বিজ্ঞান ও প্রযুক্তি বিশ্ববিদ্যালয় থেকে ২০০৬ সালে কম্পিউটার সায়েন্স ও ইঞ্জিনিয়ারিং বিভাগ থেকে গ্রাজুয়েশন করেন। বাংলা ভাষায় ‘কম্পিউটার প্রোগ্রামিং’ নামে একটি বই লিখেছেন (বইটির অনলাইন ভার্শন সবার জন্য উন্মুক্ত http://cpbook.subeen.com)। পাইথনের উপর তাঁর লেখা ব্লগ (http://love-python.blogspot.com/) বেশ জনপ্রিয়। মুক্ত সফটওয়্যার লিমিটেড নামে একটি সফটওয়্যার কোম্পানী পরিচালনা করার পাশাপাশি বাংলাদেশ গণিত অলিম্পিয়াডে একজন একাডেমিক কাউন্সিলর (ভলান্টিয়ার) হিসেবে কাজ করেন। এছাড়া তিনি দ্বিমিক কম্পিউটিং স্কুলের একজন প্রতিষ্ঠাতা।

ডিভিডিহে আর‌ যা যা রয়েছেঃ
– পাইথনের ইন্সটলার সফটওয়্যার।
– ভিডিও প্লে করার জন্য প্রয়োজনীয় সফটওয়্যার।

পাইথন কী?

কম্পিউটারকে দিয়ে কাজ করাতে গেলে কম্পিউটার বুঝতে পারে, এমন ভাষায় তাকে নির্দেশ দিতে হয়। এরকম প্রোগ্রামিং ভাষা অনেক রয়েছে এবং নিত্যনতুন তৈরি হচ্ছে। তবে অল্প কয়েকটি প্রোগ্রামিং ভাষাই প্রোগ্রামারদের কাছে জনপ্রিয় হতে পেরেছে। তেমন একটি প্রোগ্রামিং ভাষা হচ্ছে পাইথন যেটি তৈরি করেন গুইডো ভন রুযাম (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

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

উবুন্টুতে ফ্লাস্ক ইনস্টল করার প্রক্রিয়া

সাধারণ ছোটোখাটো প্রজেক্ট থেকে মাঝারি সাইজের প্রজেক্টের জন্য ফ্লাস্ক (Flask) একটি চমৎকার পাইথন ফ্রেমওয়ার্ক। আমি রেস্টফুল এপিআই তৈরির জন্য ফ্লাস্ক রেস্টফুল (Flask-RESTful) ব্যবহার করি। ডেভেলাপমেন্টের জন্য আমি ম্যাক ও উবুন্টু (Ubuntu) দুটোই ব্যবহার করি, আর সার্ভারে উবুন্টু। এখানে আমি উবুন্টুতে ফ্লাস্ক প্রজেক্ট ডেপ্লয় করার জন্য যা যা দরকার, সেগুলো লিখে রাখবো, যাতে পরবর্তি সময়ে আমার কিংবা অন্যদের সুবিধা হয়। কমান্ডগুলো উবুন্টু ১৪.০৪ ব্যবহার করে পরীক্ষা করা হয়েছে।

প্রথমে চেক করতে হবে কম্পিউটারে উবুন্টুর সব প্যাকেজ হালনাগাদ করা হয়েছে কী না। না হলে আপডেট করে নিতে হবে। এর জন্য সহজ কমান্ড হচ্ছে :
sudo apt-get update && sudo apt-get upgrade

এখন পাইথন ও পিপ (pip) ইনস্টল করবো :

sudo apt-get install build-essential python-dev python-pip

তারপরের কাজ হচ্ছে ভার্চুয়াল এনভারনমেন্ট ইনস্টল করা।
sudo pip install virtualenv

এটি দরকারি এজন্য যে একেক প্রজেক্ট একেক সময়ে করা হয়, তাই সেই প্রজেক্টের জন্য দরকার মডিউল আলাদা করে ফেলা উচিত, যাতে পরবর্তি সময়ে অন্য প্রজেক্টে কাজ করার সময় কনফ্লিক্ট তৈরি না হয়।

এখন যেই ডিরেক্টরিতে অ্যাপ্লিকেশনটি রাখা হবে, সেটি তৈরি করে ফেলা যাক :

sudo mkdir -p /var/www/myapp

এখন পারমিশন পরিবর্তন করতে হবে। আমার ক্ষেত্রে ইউজার আইডি হচ্ছে www-data, ইউজার গ্রুপও হচ্ছে www-data। আপনার ক্ষেত্রে সেটি অন্যরকম হতে পারে। লক্ষ্য রাখতে হবে যে অনেক সময় ফাইল পরিবর্তন করলে সেটি রুট বা অন্য ইউজার-এর হয়ে যায়, তাই পরীক্ষা করতে হবে যে myapp ডিরেক্টরির সব ফাইল এবং সাব-ডিরেক্টরির পারমিশন ঠিক আছে কী না।
sudo chown -R www-data:www-data /var/www/myapp
cd /var/www/myapp

এখন ভার্চুয়াল এনভারমেন্ট তৈরি করি।
virtualenv venv --no-site-packages

ভার্চুয়াল এনভারমেন্ট একটিভেট করে সেখানে ফ্লাস্ক ইনস্টল করি।
source venv/bin/activate
pip install flask

এখানে আমরা আমাদের ফ্লাস্ক অ্যাপটি রাখবো।

লক্ষ্য রাখতে হবে যে হোস্ট সেট করতে হবে 0.0.0.0 তে (127.0.0.1-এ নয়)। আর অ্যাপ্লিকেশনের শুরুটা রাখতে হবে if __name__ == ‘__main__’: ব্লকের ভিতরে।

এরপরের কাজ হচ্ছে ওয়েব সার্ভার ইনস্টল করা (যদি ইনস্টল করা না থাকে)। আমি সাধারণত ইঞ্জিন-এক্স ব্যবহার করি। আর ইনস্টল করার আগে ভার্চুয়াল এনভারমেন্ট ডিএকটিভেট করে নিতে হবে এই কমান্ড দিয়ে :
deactivate
sudo apt-get install nginx

এখন আমি uwsgi ইনস্টল করবো, এটি ইঞ্জিনএক্স ও আমার ফ্লাস্ক অ্যাপ্লিকেশনের মধ্যে একটি যোগসূত্র তৈরি করে দিবে, মানে এটিই আমার ফ্লাস্ক অ্যাপ্লিকেশনকে চালাবে। এর ব্যবহার বাধ্যতামূলক নয়, তবে ব্যবহার করলে ভালো। 🙂

sudo apt-get install uwsgi uwsgi-plugin-python

এখন একটা সকেট ফাইল তৈরি করা লাগবে যার মাধ্যমে ইঞ্জিনএক্স, uwsgi-এর সাথে যোগাযোগ করবে।
cd /tmp/
touch mapp.sock

ফাইলের পারমিশন পরিবর্তন করতে হবে যাতে ইঞ্জিনএক্স সেটি চালাতে পারে।
sudo chown www-data:www-data myapp.sock

এরপর ইঞ্জিনএক্সের কনফিগারেশন ফাইল তৈরি করতে হবে। এর জন্য প্রথমে /etc/nginx/sites-available ডিরেক্টরিতে যেতে হবে নিচের কমান্ড দিয়ে :
cd /etc/nginx/sites-available

তারপরে ডিফল্ট যেই কনফিগারেশন ফাইল আছে, সেটি মুছে ফেলতে হবে বা সরিয়ে রাখতে হবে।
sudo mv default _default

এবারে নতুন কনফিগারেশন ফাইল তৈরির জন্য আমরা নিচের কমান্ড ব্যবহার করতে পারি :
sudo vi myapp
এটি vi এডিটর দিয়ে খুলবে, চাইলে অন্য এডিটরও ব্যবহার করা যায়।

এখন নতুন ফাইলে নিচের জিনিসগুলো পেস্ট করতে হবে :

server {
    listen 80;
    server_tokens off;
    server_name myapp.com;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/tmp/myapp.sock;
    }

    location /static {
        alias /var/www/myapp/static;
    }
}

এখানে লক্ষ্যণীয় যে static ফাইলগুলো রাখার জন্য /var/www/myapp/static ডিরেক্টরি ব্যবহার করা হয়েছে। আপনি আপনার প্রয়োজনমতো ডিরেক্টরি তৈরি করে সেই লোকেশন এখানে লিখবেন।

যেই কনফিগারেশন ফাইলটি তৈরি করলাম, তার একটি লিঙ্ক তৈরি করতে হবে /etc/nginx/sites-enabled ডিরেক্টরিতে। এর জন্য নিচের কমান্ড দিতে হবে :
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/myapp

এবারে uwsgi এর জন্যও একটি কনফিগারেশন ফাইল তৈরি করা লাগবে, লোকোশনসহ ফাইলটি হচ্ছে /etc/uwsgi/apps-available/myapp.ini

ফাইলে নিচের জিনিসগুলো লিখতে হবে:

[uwsgi]
vhost = true
socket = /tmp/myapp.sock
venv = /var/www/myapp/venv
chdir = /var/www/myapp
module = api
callable = app

মডিউল হচ্ছে পাইথন স্ক্রিপ্ট যেই ফাইলে আছে তার নাম আর কলেবল হচ্ছে ওই স্ক্রিপ্টে যেই ফ্লাস্ক অবজেক্ট তৈরি করা হয়েছে। উদাহরণস্বরূপ নিচের স্ক্রিপ্টটি আমরা দেখি:

from flask import flask
app = Flask(__name__)

@my_app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run(host='0.0.0.0')

এটি যদি api.py নামের ফাইলে সেভ করা হয়, তাহলে কনফিগারেশন ফাইলে module = api এবং callable = app লিখতে হবে।

তারপর নিচের কমান্ড দিয়ে লিঙ্ক করতে হবে:
sudo ln -s /etc/uwsgi/apps-available/myapp.ini /etc/uwsgi/apps-enabled/myapp.ini

সবশেষে nginx ও uwsgi আবার চালু করতে হবে।
sudo service nginx restart
sudo service uwsgi restart

সবকিছু ঠিকঠাক হয়ে থাকলে ফ্লাস্ক অ্যাপ্লিকেশনটি এখন কাজ করবে।

পাইকন ঢাকা নিয়ে বিস্তারিত

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

banner

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

2

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

4

পরবর্তি প্রেজেন্টেশন এর বিষয় ছিল রেস্ট এপিআই (REST API)। ‘টেস্ট ইওর রেস্ট এপিআই’ শীর্ষক এই প্রেজেন্টেশনের বক্তা মুক্ত সফটওয়্যার লিমিটেড এর ব্যাবস্থাপনা পরিচালক তামিম শাহরিয়ার সুবিন। রেস্ট এপিআইয়ের পরে পাইথনের লাইব্রেরী বিউটিফুলসুপ (BeautifulSoup) এর উপরে প্রেজেন্টেশন প্রদান করেন নর্থ সাউথ বিশ্বিবিদ্যালয়ের শিক্ষার্থী ইনাম মিজবাহ নূর। তিনি তার বক্তব্যে দেখান কিভাবে বিউটিফুলসুপ ব্যবহার করে HTML পার্সিং করা যায়। ওয়েব ক্রলিং ও স্ক্র্যাপিংয়ের জন্য বিউটিফুলসুপ একটি জনপ্রিয় লাইব্রেরী।

8

‘জ্যাঙ্গো ইন লার্জ স্কেল অটোমেশন’ শিরোনামে পরবর্তি প্রেজেন্টেশন উপস্থাপন করেন মুক্ত সফটওয়্যার লিমিটেড এর সিটিও মাহফুজুর রহমান মাসুম। জ্যাঙ্গো হচ্ছে পাইথনে তৈরী জনপ্রিয় একটি ওয়েব ডেভেলপমেন্ট ফ্রেমওয়ার্ক যার সাহায্যে অনেক সহজে খুব বড় স্কেলের প্রজেক্ট তৈরী করা যায়।

9

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

অনুষ্ঠানের দ্বিতীয় সেশন শুরু হয় বেলা ১২ টায়। এই সেশনে ছিলো আরো পাঁচটি প্রেজেন্টেশন। দ্বিতীয় সেশনের শুরুতেই একটি ভিন্নধর্মী বিষয় নিয়ে হাজির হন শাহজালাল বিজ্ঞান ও প্রযুক্তি বিশ্ববিদ্যালয়ের শিক্ষার্থী রুহশান আহমেদ আবীর। তিনি জেনেটিক্স ডিপার্টমেন্টের একজন শিক্ষার্থী। তিনি ব্যখ্যা করেন বায়‌োইনফরমেটিক্স কি এবং বায়‌োইনফরমেটিক্স এর বিভিন্ন ক্ষেত্র যেমন FASTA ফাইল পার্সিং, ডিএনএ থেকে আরএনএ ট্রান্সক্রিপশন, প্রোটিনের হোমোলজি মডেলিংয়ে কিভাবে পাইথন লাইব্রেরী ব্যবহৃত হয়। তারপরে আরেকটি আকর্ষণীয় বিষয় ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিংয়ের জন্য লেখা পাইথন লাইব্রেরী NLTK নিয়ে আলোচনা করেন ফাসিউল কবির। তিনি এসসেনিক (Escenic) নামক প্রতিষ্ঠানে সফটওয়্যার প্রকৌশলী হিসেবে কর্মরত আছেন। ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং হচ্ছে বিজ্ঞানের এমন একটি শাখা যেখানে কম্পিউটার বিজ্ঞান, কৃত্রিম বুদ্ধিমত্তা ও ভাষতত্বের জ্ঞান ব্যবহার করে কম্পিউটার প্রোগ্রামের মাধ্যমে কথ্য ও লিখিত ভাষা পার্সিং ও তার অর্থ অনুধাবন এবং অর্থবোধক বাক্য গঠন সংক্রান্ত গবেষণা করা হয়। সহজ করে বলতে গেলে মানুষ এবং যন্ত্রের মধ্যে মনের ভাব আদান প্রদানের জন্য যে শাখায় গবেষণা করা হয় তাই হচ্ছে ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং। আর এই কাজের জন্য পাইথনে রয়েছে চমৎকার একটি লাইব্রেরী যার নাম ন্যাচারাল ল্যাঙ্গুয়েজ টুলকিট বা NLTK।

10

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

12

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

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

11

5

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

1314

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

banner-logo

অনুষ্ঠানে অংশগ্রহণকারী সকলকে স্পনসরদের পক্ষ থেকে টি-শার্ট, গিফট প্যাক ও দুপুরের খাবার সরবরাহ করা হয়। পাইকন ঢাকা ২০১৪-এর স্পন্সর ছিলো নিউজক্রেড, ওয়াইডস্পেস, বিডিজবস, মুক্তসফট, ফাইন্ডার এলবিএস, অনলাইন কেনাকাটা, ট্রান্সেনডিও ও নেসক্যাফে। অনুষ্ঠানের সমাপ্তি ঘোষনা করে আয়োজকরা বলেন, ‘বাংলাদেশে এই প্রথমবারের মত আমরা পাইথন ডেভেলপারদের জন্য আন্তর্জাতিক ভাবে স্বীকৃত পাইকন ঢাকা ২০১৪ করেছি। অনুষ্ঠানে উপস্থিত সকলের উৎসাহ ও উদ্দীপনা দেখে আমরা অভিভূত’। তারা ভবিষ্যতে পাইথন প্রোগ্রামারদের আরো বড় সম্মেলন আয়োজন করার ইচ্ছা ব্যাক্ত করেন। তারা আরো জানান, dhaka.pycon.org ইউআরএল এ ইভেন্টের বিস্তারিত তথ্য জানা যাবে।

6

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

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

PyCon Dhaka 2014
PyCon Dhaka 2014

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

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

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

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

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