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

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

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

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

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

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

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

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

ক্যারিয়ার এডভাইজ – ১

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

ক্যারিয়ার এডভাইজ (১ম পর্ব)

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

থেরাপ সম্পর্কে কিছু কথা
প্রথমে আমাদের কোম্পানি সম্পর্কে কিছু বলতে চাই। আমাদের মূল কোম্পানিটা হচ্ছে থেরাপ সার্ভিসেস। এটা একটা আমেরিকান কোম্পানি। আমরা অনেকগুলো প্রোডাক্ট তৈরি করি এবং বিক্রি করি। আমাদের মার্কেটটা হচ্ছে ইউএসএ (USA) আর আমাদের মডেলটা হচ্ছে SaaS। SaaS হচ্ছে Software as a Service। এর মানে হচ্ছে আমাদের কাস্টমাররা আমাদের সফটওয়্যারটা সিডিতে কিনে নেয় না অথবা সফটওয়্যারটা কিনে তাদের মেশিনে ইন্সটল করতে হয় না। সফটওয়্যারটা আমাদের ডাটা সেন্টারে রান করছে এবং ওরা ওয়েব এর মাধ্যমে এসে আমাদের সফটওয়্যারটা ব্যবহারের সুযোগ পায়। আর এই সফটওয়্যারটা ব্যবহারের বিনিময়ে আমাদেরকে বাৎসরিক একটা ফি দেয়।এবং আমরা তাদেরকে যে সার্ভিসটা দিচ্ছি তা শুধু সফটওয়্যার না, সফটওয়্যারটা ব্যবহার করে যে ডাটা ঢুকাচ্ছে সেই ডাটা ঠিকভাবে সেইভ করা মানে এটা সঠিক স্টোরেজে রাখা এবং যেন কখনো মুছে না যায় সেই নিশ্চয়তা দেওয়া, এটা সঠিকভাবে ব্যাকআপ করা এবং এ সম্পর্কিত আরো সেবা আছে। আমরা প্রায় ১১ বছর ধরে আমেরিকাতে এটা করছি। থেরাপ সার্ভিসেস যে পণ্য গুলো বিক্রি করি আমরা, সেগুলো থেরাপ অ্যাপ্লিকেশন এর ভিতরে থাকে। থেরাপ অ্যাপ্লিকেশনের ভিতরে অনেকগুলো, প্রায় ৭০-৮০টা বিভিন্ন সাব অ্যাপ্লিকেশান বা মডিউল আছে যেটা বিভিন্ন ইউজাররা ব্যবহার করছে। ইউএসএ-এর স্বাস্থ্যখাতে আমাদের অ্যাপ্লিকেশানের ডেইলি একটিভ ইউজার হচ্ছে প্রায় দুই লক্ষ। মানে ২ লাখ ব্যবহারকারী প্রতিদিন থেরাপ ব্যবহার করছে। থেরাপ ব্যবহার করে নিজেদের মধ্যে যোগাযোগ রক্ষা করছে এবং এ ডাটা যেসব মানুষের জন্য রাখা হয়েছে সেইসব মানুষের সংখ্যাও প্রায় ২ লাখ। ইউএসএ-এর ৫০টা স্টেটের মধ্যে প্রায় ৪৮টা স্টেটে আমাদের গ্রাহক আছে। আমাদের গ্রাহকরা শুধু প্রাইভেট কোম্পানি না, বিভিন্ন স্টেট গভর্নমেন্টও আমাদের গ্রাহক। কাজেই সরকারি এবং বেসরকারি উভয় ধরণের গ্রাহকই আমাদের আছে।

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

মাসুম ভাইয়ের সংক্ষিপ্ত পরিচিতি
প্রফেশনালি প্রোগ্রামিং করছি ১৯৯৬ সাল থেকে। ছোটবেলা থেকেই প্রোগ্রামিং কন্টেস্ট করতাম। সম্ভবত ক্লাস এইট বা নাইন থেকেই প্রোগ্রামিং করা শুরু করি এবং সেটা শুরু করেছি বই পড়ে পড়ে। কম্পিউটার ধরার আগে প্রোগ্রামিং করতাম খাতায়, খাতায়ই রেজাল্ট পেতাম। কম্পিউটার ধরার সুযোগ হয় যখন আমি নটরডেম কলেজে ভর্তি হই। নটরডেম কলেজে একটা কম্পিউটার ক্লাব ছিল, সেটা এই ক্ষেত্রে ভাল ভূমিকা পালন করেছে। ঐ ক্লাবের ভাইস-প্রেসিডেন্ট ছিলাম। ওখান থেকেই কম্পিউটারে প্রোগ্রামিং করতাম। যেহেতু আগে থেকেই প্রোগ্রামিং জানতাম সেহেতু তেমন একটা অসুবিধা হয়নি এবং ঐ সময় থেকেই বিভিন্ন প্রোগ্রামিং কন্টেস্টে যোগ দিতাম। শুরুতে লিনাক্সের উপর বেশ ঝোঁক ছিল। তোমাদের যারা সিনিয়র ভাই’রা আছেন, তারা হয়ত বিডিলাগ-এর নাম শুনে থাকবে, সেই “বাংলাদেশ লিনাক্স ইউজারস গ্রুপ” এর প্রতিষ্ঠাতা ছিলাম। বুয়েট থেকে গ্রাজুয়েশন করেছি ২০০১ এ। আমাদের ব্যাচ হল ৯৪ অর্থাৎ এইচএইচসি’৯৪ ছিলাম। সেশন জ্যাম ছিল, তাই চার বছরের জায়গায় সাত বছর লেগেছে। বুয়েট থেকে পাশ করে বের হবার আগে থেকেই প্রফেশনাল প্রোগ্রামিং করছি। বুয়েটে পড়া অবস্থায়ই বেশ নাম করা আইএসপি অগ্নি সিস্টেম লিমিটেডে কর্মরত ছিলাম এবং বেশ কিছু সিস্টেম ডেভেলপ করেছি সেই সময়ে। আর থেরাপ বিডিতে আছি ২০০৩ থেকে অর্থাৎ থেরাপ যখন থেকে বাংলাদেশে শুরু হয়, তখন থেকেই আছি। যদিও আমার টাইটেল CTO কিন্তু বেসিক্যালি আমি প্রধান সফটওয়্যার ডেভেলপার-ডিজাইনারও।

success-538725_640

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

একটা সফটওয়্যার তৈরি করে গ্রাহক পর্যন্ত পৌঁছে দিতে এগুলো লাগে :

  • সফটওয়্যার ডেভেলপমেন্ট
  • সফটওয়্যার টেস্টিং
  • ডাটাবেজ
  • সিস্টেম অ্যাডমিনিসট্রেশন
  • নেটওয়ার্ক অ্যাডমিনিসট্রেশন
  • এনালিস্ট
  • প্রোজেক্ট ম্যানেজমেন্ট

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

লেখাটি মোট চার পর্বের। পরবর্তী পর্ব পড়তে এখানে ক্লিক করুন

লিনাক্স সার্ভারে পাসওয়ার্ড ছাড়া লগইন

আমরা অনেকেই ssh টুল ব্যবহার করে রিমোট লিনাক্স সার্ভারে লগইন করি এবং প্রতিবারই পাসওয়ার্ড দেওয়া লাগে। এই পাসওয়ার্ড দেওয়ার ঝামেলাটা সহজেই এড়ানো যায়। এতে যেই কম্পিউটার থেকে লগিন করা হয়, সেখানে কি (key) তৈরি করে সার্ভারে সেটা দিয়ে দিতে হয়।

Monitor_padlock

এর জন্য নিচের ধাপগুলো অনুসরন করতে হবে :

১) প্রথম কাজ হচ্ছে একজোড়া পাবলিক-প্রাইভেট কি জোড়া (key pair) তৈরি করা। তার জন্য নিচের কমান্ড দিতে হবে :

ssh-keygen -t rsa

এর আউটপুট হবে এমন :
Generating public/private rsa key pair.
Enter file in which to save the key (/home/name/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/name/.ssh/id_rsa.
Your public key has been saved in /home/name/.ssh/id_rsa.pub.
The key fingerprint is:
08:3c:1a:b5:f1:e0:19:13:c5:f4:38:45:ea:e0:1d:91 name@name
The key’s randomart image is:
+–[ RSA 2048]—-+
|    B=+oo        |
|   + OE*         |
|  . O * .        |
|   + * +         |
|  . . + S        |
|                 |
|                 |
|                 |
|                 |
+—————–+

এখানে দুটি কি তৈরি হল। একটি হচ্ছে id_rsa – এটি প্রাইভেট কি (private key), আরেকটি হচ্ছে id_rsa.pub এটি পাবলিক কি (public key)।

২) এখন id_rsa.pub ফাইলটি সার্ভারে কপি করতে হবে (এর জন্য scp কমান্ড ব্যবহার করা যেতে পারে, বা অন্য উপায়েও করা যেতে পারে)।

৩) এবারে ফাইলটি সার্ভারের ~/.ssh/authorized_keys ফাইলে যুক্ত করে দিতে হবে, এই কমান্ড দিয়ে :
cat id_rsa.pub >> /home/name/.ssh/authorized_keys

৪) তারপরে এই কমান্ড দিতে হবে : chmod 600 /home/name/.ssh/authorized_keys (অপশনাল, মানে এই স্টেপ ফলো না করলেও চলে)।

এখন ssh কমান্ড দিয়ে পাসওয়ার্ড ছাড়াই সার্ভারে ঢোকা যাবে! তবে যেই কম্পিউটার থেকে কাজটি করা হয়েছে, মানে যেই কম্পিউটারের পাবলিক কি সার্ভারে কপি করা হয়েছে, সেই কম্পিউটার থেকেই পাসওয়ার্ড ছাড়া সার্ভারে লগিন করা যাবে। অন্য কম্পিউটার থেকে পাসওয়ার্ড লাগবে। আবার চাইলে সার্ভারের নিরাপত্তা বাড়ানোর জন্য পাসওয়ার্ড বেজড লগিন (password based authentication) বন্ধ করে দেওয়া যায়, তাতে যেসব কম্পিউটারের কি সার্ভারের কাছে আছে, কেবল সেসব কম্পিউটার থেকেই সার্ভারে লগিন করা যাবে।

প্রোগ্রামিং এর আশ্চর্য জগত!

প্রোগ্রামিংয়ের আশ্চর্য জগতে স্বাগত!

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

fractal-65474_640

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

programmer

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

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

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

প্রোগ্রামিং কিভাবে শিখব
তোমরা যারা গান শেখো, তারা যেমন নিয়মিত গানের চর্চা করো, প্রোগ্রামিংয়ের বেলাতেও তেমনি চর্চা করতে হয়। নিয়মিত লেখাপড়া আর চর্চার মাধ্যমেই তুমি হয়ে উঠতে পারবে একজন দক্ষ প্রোগ্রামিং শিল্পী। প্রোগ্রামিং শেখার জন্য শুরুতে প্রয়োজন একটি বই, যা তোমাকে প্রোগ্রামিংয়ের শুরুটা দেখিয়ে দেবে, প্রয়োজন একটি কম্পিউটার, সাথে ইন্টারনেট থাকলে ভালো হয়। তবে সবচেয়ে বেশি প্রয়োজন সপ্তাহে গড়ে দশ-বারো ঘণ্টার মতো সময়। অবশ্যই পরীক্ষা চলাকালীন সময়টা ছাড়া।  প্রোগ্রামিংয়ের বই কোথায় পাবে? দেশের বড় শহরগুলোর বইয়ের দোকানে প্রোগ্রামিংয়ের বই পাওয়া যায়, তবে সেগুলো বেশিরভাগই ইংরেজিতে। ইংরেজি বই পড়া অবশ্য তেমন কঠিন কোনো ব্যাপার নয়, একটু সাহস করে শুরু করে দিলেই হয়। আর বাংলা বই পড়তে চাইলে তোমরা http://cpbook.subeen.com ওয়েবসাইটে ঢুঁ মারতে পারো। এখানে বাংলা ভাষায় প্রোগ্রামিংয়ের উপর একটি বই ফ্রি দেওয়া আছে, যেটি কী না স্কুল-কলেজের ছাত্রছাত্রীদের কথা ভেবেই লেখা হয়েছে। এছাড়া ইন্টারনেটে ইংরেজিতে অনেক বই আছে প্রোগ্রামিং শেখার। সেগুলোর মধ্যে কিছু কিছু বই ফ্রি পাওয়া যায়। বই তো পেয়ে গেলে, তাহলে আর দেরি কেন? শুরু করে দাও। এ বিষয়ে আরো জানতে : প্রোগ্রামিং শেখা

প্রোগ্রামিং শেখার অনলাইন স্কুল
ছেলেবেলায় গান শেখার জন্য গানের স্কুল থাকে, নাচ শেখার জন্য নাচের স্কুল। ক্রিকেট খেলা শেখার জন্য ক্রিকেট একাডেমি। কী চমৎকারই না হতো বাংলাদেশে যদি প্রোগ্রামিং শেখার জন্য কোনো প্রোগ্রামিং স্কুল থাকতো! কিন্তু সমস্যা হচ্ছে কী, খুব ভালো প্রোগ্রামার না হলে অন্যকে প্রোগ্রামিং শেখানো যায় না। আর আমাদের দেশে খুব ভালো প্রোগ্রামাররা অনেক ব্যস্ত থাকেন বলে প্রোগ্রামিং শেখানোর বিষয়টি তাঁরা ভাবেন না। এই সমস্যার একটি সমাধান অবশ্য বের হয়েছে। প্রোগ্রামিং ও অন্যান্য বিষয় শেখার কিছু ওয়েবসাইট আছে, যেখানে অনলাইন কোর্স করা যায়। বেশিরভাগ কোর্সই বিনামূল্যে করা যায়। এরকম ওয়েবসাইগুলোর মধ্যে অন্যতম হচ্ছে coursera.org, edx.org ও udacity.com। তবে বাংলা ভাষায়ও প্রোগ্রামিং, সফটওয়্যার ডেভেলাপমেন্ট, ওয়েব ও মোবাইল অ্যাপ্লিকেশন ডেভেলাপমেন্ট শেখার জন্য অনলাইনে ভিডিও ও কোর্স পাওয়া যায়। এরকম একটি ওয়েবসাইট হচ্ছে দ্বিমিক কম্পিউটিং স্কুল : http://dimikcomputing.com। এর কোর্সগুলো ফ্রি কিন্তু তার জন্য তোমাদের থাকা চাই উচ্চ গতির ইন্টারনেট। আশার কথা এই যে, আমাদের দেশে ইন্টারনেট দিন দিন সহজলভ্য হচ্ছে। আর প্রতিটি কোর্স শেষেই ডিভিডি বের করছে দ্বিমিক কম্পিউটিং স্কুল (ফেসবুক পেজ : https://www.facebook.com/DimikComputing), যাতে করে যাদের ভালো ইন্টারনেট নেই, তারা ডিভিডি থেকে ভিডিও লেকচার দেখে শিখতে পারে। এছাড়া ইন্টারনেটে নানান ফোরাম ও ফেসবুকে বিভিন্ন গ্রুপ রয়েছে, যেখানে তুমি যোগ দিতে পারো ও প্রোগ্রামিং নিয়ে আলাপ করতে পারো।

অনলাইন জাজ
প্রোগ্রামিং শেখার শুরুটা তো হলো। চর্চাটা হবে কীভাবে? ইন্টারনেটে হাজার হাজার প্রোগ্রামিং সমস্যা পাওয়া যায়, যেগুলো সমাধান করে তোমার প্রোগ্রাম সেখানে জমা দিলে তুমি কিছুক্ষণের মধ্যেই জানতে পারবে যে তোমার সমাধানটি সঠিক হয়েছে কী না। যেসমস্ত ওয়েবসাইটে এই সুবিধাটা আছে, সেগুলোকে বলে অনলাইন জাজ বা সংক্ষেপে ওজে (OJ)। লাইটওজে (lightoj.com) একটি চমৎকার অনলাইন জাজ যেখানে তুমি প্রোগ্রামিং চর্চা শুরু করতে পারো। আর বাংলা ভাষায় প্রোগ্রামিং সমস্যা পেতে চাইলে তোমাদের যেতে হবে কম্পিউটার প্রোগ্রামিং বইয়ের ওয়েবসাইটে। এই লেখাটি পড়তে পার : প্রোগ্রামিং চর্চার জন্য ১০টি অনলাইন জাজ

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

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

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

এখনই সময় শুরু করার
আমি ছোট, আমি কি প্রোগ্রামিং শিখতে পারব? বিল গেটসের নাম তোমরা নিশ্চয়ই শুনেছ, বিশ্ববিখ্যাত কোম্পানী মাইক্রোসফট কর্পোরেশনের প্রতিষ্ঠাতা। ১৩ বছর বয়সে বিল গেটস তাঁর প্রথম কম্পিউটার প্রোগ্রাম তৈরি করেন, যেটি ছিল টিক-ট্যাক-টো গেম। তারপর তিনি যেই স্কুলে পড়তেন, সেখানে ক্লাস শিডিউল তৈরির সফটওয়্যারও বানিয়ে দেন। ফেসবুকের প্রতিষ্ঠাতা মার্ক জাকারবার্গও স্কুলে পড়ার সময় প্রোগ্রামিং শেখা শুরু করেন। প্রথমে তাঁর বাবাই ছিলেন তাঁর প্রোগ্রামিং শিক্ষক। স্কুলে যখন তাঁর বন্ধুরা গেম খেলতে ব্যস্ত, সেই সময়টা জাকারবার্গ ব্যস্ত থাকতেন গেম বানানোর কাজে! এরকম আরো অনেক উদাহরণ আছে, আমি কেবল তোমাদের পরিচিত দুজন মানুষের কথা বললাম। বিল গেটস যদি সফটওয়্যার তৈরি করেই পৃথিবীর সেরা ধনী হতে পারে, মার্ক জাকারবার্গ যদি ফেসবুক তৈরি করে বিশ্বের কোটি কোটি মানুষকে যুক্ত করতে পারে, স্টিভ জবস যদি আইফোন তৈরি করে সারা পৃথিবীর মানুষকে তাক লাগিয়ে দিতে পারে, তুমি কেন পারবে না? তোমাদের এখন কাজ হবে বাবা-মাকে বুঝিয়-সুঝিয়ে তাঁদের কাছ থেকে অনুমতি বের করা যেন তুমি সপ্তাহে ১০-১২ ঘণ্টা প্রোগ্রামিং করতে পারো। তাহলে আর তোমাকে ঠেকায় এমন সাধ্য কার?

তোমাদের জন্য গুরুত্বপূ্র্ণ দশটি ওয়েবসাইটের লিঙ্ক :

  1. http://scratch.mit.edu
  2. http://code.org
  3. http://edx.org
  4. http://coursera.org
  5. http://udacity.com
  6. http://dimikcomputing.com
  7. http://programabad.com
  8. http://dimik.pub
  9. http://cpbook.subeen.com
  10. http://www.khanacademy.org

 

প্রোগ্রামিং চর্চার ১০টি অনলাইন জাজ

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

practice
practice

প্রোগ্রামিং চর্চার জন্য অনলাইন জাজ :

১) http://cpbook.subeen.com/p/blog-page_11.html : এখানে বাংলায় প্রোগ্রামিং সমস্যা দেওয়া আছে, যা প্রোগ্রামিংয়ে একেবারে যারা নতুন, তাদের জন্য ভালো।

২) http://lightoj.com : এটি তৈরি করেছেন বাংলাদেশের জানে আলম জান। এখানে অভিজ্ঞ প্রোগ্রামারদের সাথে সাথে বিগিনারদের জন্যও কিছু সমস্যা দেওয়া আছে।

৩) http://projecteuler.net : এখানে অনেক মজার সমস্যা আছে যেগুলোর বেশিরভাগই প্রোগ্রাম লিখে সমাধান করতে হয়। এখানে প্রোগ্রাম জমা দেওয়া লাগে না, কেবল প্রোগ্রাম দিয়ে বের করা উত্তরটা জমা দিতে হয়।

৪) http://ace.delos.com/usacogate : এটি যদিও আমেরিকার ইনফরমেটিক্স অলিম্পিয়াড ট্রেনিং প্রোগ্রাম, কিন্তু সাইটে যেকোনো দেশের প্রোগ্রামাররাই রেজিস্ট্রেশন করে অনুশীলন করতে পারে। তোমরা যারা প্রোগ্রামিং প্রতিযোগিতায় ভালো করতে চাও, তাদের অবশ্যই এখানে অনুশীলন করা উচিত।

৫) http://www.topcoder.com/tc : এখানেও নিয়মিত অনলাইন প্রোগ্রামিং প্রতিযোগিতা অনুষ্ঠিত হয়। এখানে ভালো ফলাফল করলে আবার টাকাও দেয় (কী আনন্দ!)। এ ছাড়া এখানে অনেক ভালো টিউটোরিয়াল ও আর্টিকেল আছে। এটি অভিজ্ঞ প্রোগ্রামারদের জন্য বেশ ভালো একটি সাইট।

৬) http://uva.onlinejudge.org : এই সাইটে নিয়মিত অনলাইন প্রোগ্রামিং প্রতিযোগিতার আয়োজন করা হয়। এ ছাড়াও অনুশীলনের জন্য প্রচুর সমস্যা দেওয়া আছে। নতুন প্রোগ্রামারদের জন্য এটি বেশ ভালো জায়গা। তবে একই ধরণের অনেক প্রবলেম আছে। তাই খেয়াল করতে হবে যেন একই রকম অনেক প্রবলেম সলভ করে সময় নষ্ট না হয়।

৭) http://www.spoj.com : এখানেও অনেক ভালো সমস্যা আছে। সমাধান করে প্রোগ্রাম জমা দিলে প্রোগ্রাম সঠিক হয়েছে কি না তা জানা যায়। এই ওয়েবসাইটের একটি বৈশিষ্ট্য হচ্ছে সি, সি প্লাস প্লাস, জাভা, পার্ল, পাইথন, রুবি, পিএইচপি এরকম আরো অনেক ল্যাঙ্গুয়েজ ব্যবহার করে প্রোগ্রাম লেখা যায়।

৮) http://codeforces.com : এই সাইটে নিয়মিত বিভিন্ন ধরনের প্রোগ্রামিং কন্টেস্ট হয়। অভিজ্ঞ প্রোগ্রামারদের জন্য ভালো।

৯) http://www.codechef.com : এটিও প্রোগ্রামিং প্রতিযোগিতার জন্য একটি ভালো ওয়েবসাইট এবং অভিজ্ঞ প্রোগ্রামারদের জন্য।

১০) http://acm.timus.ru : এখানে চমৎকার কিছু প্রবলেম আছে, বেশিরভাগই বিভিন্ন রাশিয়ান কনটেস্টের।