প্রোগ্রামিং কী??? সহজ ভাষায় প্রোগ্রামিং শিখি
প্রোগ্রামিং কী???
কম্পিউটার সায়েন্সের একটা গুরুত্বপূর্ণ পার্ট হল প্রোগ্রামিং। কম্পিউটার বিজ্ঞান সম্পর্কে বিস্তারিত জানা যাবে এখান থেকেঃ http://goo.gl/Bfv0zs
আজকেই যদি প্রথম প্রোগ্রামিং কথাটার সাথে পরিচিত হয়ে থাকেন বা আগে শুনলেও আসলে বুঝতে পারছেন না 'কেমনে কী?' তাহলে এই লিংকে যানঃ http://goo.gl/Lpouo5
আজকেই যদি প্রথম প্রোগ্রামিং কথাটার সাথে পরিচিত হয়ে থাকেন বা আগে শুনলেও আসলে বুঝতে পারছেন না 'কেমনে কী?' তাহলে এই লিংকে যানঃ http://goo.gl/Lpouo5
গ্রুপের প্রায় সকল গুরুত্বপূর্ণ ফাইলের ব্যাকাপ রাখা হয়েছে এই GitHub রিপোজিটোরিতেঃ https://github.com/…/Programming-Prob…/blob/master/README.md
গ্রুপের ফাইল সেকশনে আপডেট না করে উপরোক্ত রিপোতে এখন থেকে নিয়মিত আপডেট করা হবে। এই পাবলিক রিপোজিটরিতে কনট্রিবিউশন করার আহ্বান জানাচ্ছি। সকলকে অগ্রীম ধন্যবাদ। :)
গ্রুপের ফাইল সেকশনে আপডেট না করে উপরোক্ত রিপোতে এখন থেকে নিয়মিত আপডেট করা হবে। এই পাবলিক রিপোজিটরিতে কনট্রিবিউশন করার আহ্বান জানাচ্ছি। সকলকে অগ্রীম ধন্যবাদ। :)
প্রোগ্রামিং টিউটোরিয়াল ও ই-বুক লিংক
এখন আপনি মুটামুটি জানেন যে প্রোগ্রামিং দিয়ে আসলে কি করে। এখন আপনি যদি একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখতে চান তাহলে এখানে আপনার জন্য সি, সি++, জাভা ও পাইথন এর টিউটোরিয়ালের লিংক দেয়া আছে। এখান থেকেই আপনি এই চারটা ল্যাঙ্গুয়েজ বেশ ভাল ভাবে শেখার রিসোর্স পাবেনঃ https://goo.gl/I6qFmJ
("ভাইয়া প্রোগ্রামিং কি? শিখতে চাই, কিভাবে শুরু করব?" এই টাইপ পোস্ট এখন থেকে আর এপ্রুভ হবে না)
("ভাইয়া প্রোগ্রামিং কি? শিখতে চাই, কিভাবে শুরু করব?" এই টাইপ পোস্ট এখন থেকে আর এপ্রুভ হবে না)
সফটওয়্যার ডাউনলোড
ধরা যাক এবার আপনি প্রোগ্রামিং এর প্রাথমিক ধারনা পেয়েছেন। কোড করার জন্য আমরা বিভিন্ন IDE ব্যবহার করে থাকি। এমনই একটা IDE ডাউনলোড করতে পারেন এখান থেকে- https://goo.gl/Mtjub2
কোডে সমস্যা?
IDE নামালেন কিন্তু আপনার IDE টা দিয়ে কাজ করতে পারছেন না। অথবা প্রোগ্রাম রান করলেও প্রত্যাশিত রেজাল্ট পাচ্ছেন না। কোডটা গ্রুপের কাউকে দেখিয়ে সমাধান নিতে চান? তাহলে যে কোন একটা অনলাইন এডিটরে আপনার কোডটা paste করে সেটার লিংক গ্রুপে পোস্ট করুন। অনলাইন এডিটর হিসেবে http://ideone.com/ বা https://paste.ubuntu.com/ ব্যবহার করতে পারেন।
নিম্নোক্ত পদ্ধতিতে সাহায্য চাইলে পোস্ট অ্যাপ্রুভ হবে নাঃ
১। সোর্স কোড সরাসরি গ্রুপের ওয়ালে কপি পেস্ট করলে (এতে গ্রুপের সৌন্দর্য্য নষ্ট হয় ও যারা সাহায্য করবেন তাদেরও কোড বুঝতে সমস্যা হয়)
২। সোর্স কোডের স্ক্রিনশট পোস্ট করলে
৩। সোর্স কোড, প্রবলেম সেট ইত্যাদি ফাইল আকারে গ্রুপের ফাইল সেকশনে আপলোড করলে
৪। কমেন্টে পূর্ণাঙ্গ কোড কপি-পেস্ট করলে কমেন্ট রিমুভ করে দেয়া হতে পারে। ছোট কোডব্লক কমেন্টে সরাসরি দেয়া যেতে পারে। কিন্তু বড় কোড হলে অনুরোধ থাকবে অনলাইন এডিটর ব্যবহার করার জন্য
৫। পোস্ট করার ক্ষেত্রে বাংলিশে পোস্ট না করার অনুরোধ রইলো। বাংলা অক্ষরে পোস্ট করুন অথবা ইংরেজি ভাষায় ইংরেজি অক্ষরে পোস্ট করুন। ইংরেজি অক্ষরে শর্ট ফর্মে বাংলা লিখবেন না। এতে অনেকেই আপনার পোস্টটি পড়তে আগ্রহ হারিয়ে ফেলবে। অনেকেই মোবাইল থেকে পোস্ট করেন বা বিভিন্ন সীমাবদ্ধতার কারণে ইংরেজি অক্ষরে বাংলা পোস্ট করে থাকেন। আপাতত আমরা এধরণের পোস্ট অ্যাপ্রুভ করব। কিন্তু অবশ্যই খেয়াল রাখবেন আপনার লেখা যেন মুরাদ টাকলা স্টাইলে না লিখা হয়। লেখাটা যেন পড়ার যোগ্য থাকে। 'আমার'কে amar লিখুন, amer নয়। 'আছে'কে ase/ache লিখুন, asa/aca/acha নয়।
১। সোর্স কোড সরাসরি গ্রুপের ওয়ালে কপি পেস্ট করলে (এতে গ্রুপের সৌন্দর্য্য নষ্ট হয় ও যারা সাহায্য করবেন তাদেরও কোড বুঝতে সমস্যা হয়)
২। সোর্স কোডের স্ক্রিনশট পোস্ট করলে
৩। সোর্স কোড, প্রবলেম সেট ইত্যাদি ফাইল আকারে গ্রুপের ফাইল সেকশনে আপলোড করলে
৪। কমেন্টে পূর্ণাঙ্গ কোড কপি-পেস্ট করলে কমেন্ট রিমুভ করে দেয়া হতে পারে। ছোট কোডব্লক কমেন্টে সরাসরি দেয়া যেতে পারে। কিন্তু বড় কোড হলে অনুরোধ থাকবে অনলাইন এডিটর ব্যবহার করার জন্য
৫। পোস্ট করার ক্ষেত্রে বাংলিশে পোস্ট না করার অনুরোধ রইলো। বাংলা অক্ষরে পোস্ট করুন অথবা ইংরেজি ভাষায় ইংরেজি অক্ষরে পোস্ট করুন। ইংরেজি অক্ষরে শর্ট ফর্মে বাংলা লিখবেন না। এতে অনেকেই আপনার পোস্টটি পড়তে আগ্রহ হারিয়ে ফেলবে। অনেকেই মোবাইল থেকে পোস্ট করেন বা বিভিন্ন সীমাবদ্ধতার কারণে ইংরেজি অক্ষরে বাংলা পোস্ট করে থাকেন। আপাতত আমরা এধরণের পোস্ট অ্যাপ্রুভ করব। কিন্তু অবশ্যই খেয়াল রাখবেন আপনার লেখা যেন মুরাদ টাকলা স্টাইলে না লিখা হয়। লেখাটা যেন পড়ার যোগ্য থাকে। 'আমার'কে amar লিখুন, amer নয়। 'আছে'কে ase/ache লিখুন, asa/aca/acha নয়।
গ্রুপটা শুধুমাত্র কনটেস্ট প্রোগ্রামিং ও লজিক ডেভেলপমেন্টের জন্য কাজ করে। ডেটা স্ট্রাকচার, অ্যালগরিদম, ম্যাথ, জ্যামিতি এসব ব্যাসিক আর ফান্ডামেন্টাল টপিক নিয়ে এখানে ডিসকাস করা হবে। কম্পিউটার বিজ্ঞানের অন্যান্য গুরুত্বপূর্ণ শাখাগুলোর ব্যাপারে এখানে আলোচনা হবে না। কারণ আমরা মনে করি এতে গ্রুপটা তার স্বকীয়তা হারিয়ে "পাঁচ মিশালী" গ্রুপে পরিণত হবে। আমরা জানি অপারেটিং সিসটেম, নেটওয়ার্ক সিকুরিটি, আর্টিফিশিাল ইন্টেলিজেন্স, মেশিন লার্নিং, রোবটিক্স, ওয়েব ডেভেলপমেন্ট, অ্যাপ ডেভেলপমেন্ট সহ আরো অসংখ্য গুরুত্বপূর্ণ টপিক রয়েছে। আমরা বিনয়ের সাথে বলতে চাই এগুলো নিয়ে পোস্ট করা হলে তা অ্যাপ্রুভ হবে না। এটা নিয়ে তর্ক জুড়ে না দিয়ে পয়েন্টটা বুঝার চেষ্টা করুন।
রিলেটেড টপিক
অ্যালগরিদম লিস্টঃ https://goo.gl/B4tdx2
জ্যামিতিঃ https://goo.gl/fJj56I
নাম্বার থিওরিঃ https://goo.gl/ASU6sW
বাংলা ভাষার প্রোগ্রামিং সংক্রান্ত প্রায় সকল রিসোর্স একত্রে পাওয়া যাবে এখানেঃ https://github.com/me-shaon/bangla-programming-resources
জ্যামিতিঃ https://goo.gl/fJj56I
নাম্বার থিওরিঃ https://goo.gl/ASU6sW
বাংলা ভাষার প্রোগ্রামিং সংক্রান্ত প্রায় সকল রিসোর্স একত্রে পাওয়া যাবে এখানেঃ https://github.com/me-shaon/bangla-programming-resources
প্রোগ্রামিং কনটেস্ট
* গ্রুপে প্রোগ্রামিং কনটেস্টের একটা ট্রেন্ড চালু হয়েছে। আমাদের অ্যারেঞ্জ করা সকল কনটেস্ট ও তার সলিউশন পাবেন এখানেঃ https://goo.gl/8K4nKd
* প্রোগ্রামিং কনটেস্ট কিভাবে করে বা অনলাইন জাজে প্রবলেম সলভ করার সিসটেম কী? অনলাইন জাজে প্রোগ্রামিং প্র্যাক্টিস করে লাভ কী? ইত্যাদি সম্পর্কে কিছু ধারণা পাবেন এই লিংক থেকে। আপনি যদি আগে কখনোই প্রোগ্রামিং কনটেস্ট বা অনলাইন জাজ সম্পর্কে না শুনে থাকেন তাহলে আশা করা যায় হাসানের রাফখাতা - Hasaner Rafkhata ব্লগ থেকে কিছুটা হেল্প পাবেন। 'অনলাইন জাজ সিরিজ' নামের একটা সিরিজ রয়েছে যেখানে কনটেস্ট বা অনলাইন জাজে কিভাবে সলভ করতে হয় সে ব্যাপারে বিস্তারিত লেখা আছে। লিংকঃ http://hellohasan.com/cate…/online-programming-judge-series/
* আর শাফায়েত ভাইয়ের ব্লগ তো আছেইঃ http://goo.gl/FGY2Aa
গ্রুপটা ফালতু! বিরক্তিকর! থাকব না এখানে!!!
এই ফালতু আর বোরিং গ্রুপের অত্যাচার থেকে মুক্তি চান? তাহলে নিচের উল্লেখিত যে কোন একটা কাজ করেন।
এডমিন আপনাকে পেয়ারসে পার্মানেন্টলি ব্যান করবে।
১) ইচ্ছাকৃত বা অনিচ্ছাকৃত স্প্যামিং (spamming) করা
২) ফ্রিল্যান্সিং-আউটসোর্সিং সংক্রান্ত পোস্ট করা বা বিভিন্ন কোর্সের বিজ্ঞাপন দেয়া
৩) ওয়েব ডেভেলপমেন্ট বা অ্যাপ ডেভেলপমেন্টের বিষয়ে পোস্ট করা
৪) ম্যাথ বা প্রোগ্রামিং রিলেটেড না, এমন কোন অপ্রাসঙ্গিক পোস্ট করা
৫) হোমওয়ার্ক বা অ্যাসাইনমেন্ট করিয়ে নেবার চেষ্টা করা
৬) কোন পেজ/গ্রুপের বিজ্ঞাপন দিয়ে পোস্ট দেয়া
৭) কোন রাজনৈতিক ব্যাপারে পোস্ট
৮) কাউকে হেয় বা কটাক্ষ করা
৯) কোন বিশ্ববিদ্যালয় বা প্রতিষ্ঠানের ব্যাপারে অযৌক্তিক সমালোচনা বা বিদ্রুপ করা
১০) গ্রুপের কোন ডক ফাইল এডমিনদের অনুমতি ছাড়া এডিট করা
১১) প্রোগ্রামিং বা নন প্রোগ্রামিং বিষয়ক চাকুরির বিজ্ঞপ্তি দেয়া
এডমিন আপনাকে পেয়ারসে পার্মানেন্টলি ব্যান করবে।
১) ইচ্ছাকৃত বা অনিচ্ছাকৃত স্প্যামিং (spamming) করা
২) ফ্রিল্যান্সিং-আউটসোর্সিং সংক্রান্ত পোস্ট করা বা বিভিন্ন কোর্সের বিজ্ঞাপন দেয়া
৩) ওয়েব ডেভেলপমেন্ট বা অ্যাপ ডেভেলপমেন্টের বিষয়ে পোস্ট করা
৪) ম্যাথ বা প্রোগ্রামিং রিলেটেড না, এমন কোন অপ্রাসঙ্গিক পোস্ট করা
৫) হোমওয়ার্ক বা অ্যাসাইনমেন্ট করিয়ে নেবার চেষ্টা করা
৬) কোন পেজ/গ্রুপের বিজ্ঞাপন দিয়ে পোস্ট দেয়া
৭) কোন রাজনৈতিক ব্যাপারে পোস্ট
৮) কাউকে হেয় বা কটাক্ষ করা
৯) কোন বিশ্ববিদ্যালয় বা প্রতিষ্ঠানের ব্যাপারে অযৌক্তিক সমালোচনা বা বিদ্রুপ করা
১০) গ্রুপের কোন ডক ফাইল এডমিনদের অনুমতি ছাড়া এডিট করা
১১) প্রোগ্রামিং বা নন প্রোগ্রামিং বিষয়ক চাকুরির বিজ্ঞপ্তি দেয়া
উপরের কারণগুলোর জন্য সংশ্লিষ্ট মেম্বারকে বিনা নোটিশে ব্যান করা হবে
মাইন্ড ইট!
আমরা সাধারনত "ভাইয়া... ফেবুতে মেসেজ সেন্ড হচ্ছে না" বা "মোবাইলে বাংলা সাপোর্ট করাব কিভাবে" অথবা "পিসি সেট আপ দিতে সমস্যা হচ্ছে..." এই টাইপের সমস্যার সমাধান দেই না। তাই এই জাতীয় পোস্ট করা থেকে বিরত থাকুন। শুধু মাত্র পোস্ট করার জন্য পোস্ট না করে যৌক্তিক পোস্ট করুন। অনেকেই পোস্ট দেয় "What is algorithm?", "আমি একদম নতুন, কিভাবে প্রোগ্রামিং শুরু করতে পারি?" এই টাইপের পোস্ট করে নিজেকে বোকা প্রমাণ করবেন না। https://www.google.com.bd/ নামের একটা সাইট আছে। সেটা আগে ব্যবহার করুন। ইংরেজিতে 'হেল্প ভ্যাম্পায়ার' নামের একটা টার্ম আছে। সেই জিনিসটা না হওয়াই মনে হয় ভাল। নিজে আগে চেষ্টা করুন। একান্তই না পারলে পোস্ট করুন। কিভাবে গুগল করতে হয় সেটা না জানলে গুগলে এটা লিখে সার্চ দিন “কিভাবে গুগল মারিবেন”। আলাভোলার লেখা চমৎকার একটা পোস্ট পেয়ে যাবেন।
আর কথা না বাড়াই। কেউ পোস্টের এই পর্যন্ত কষ্ট করে পড়েছে বলে মনে হয় না (আমি নিজেই এত বড় পোস্ট কখনো পড়ি না :P ) যদি পড়ে থাকেন তাহলে গ্রুপের আদ্যপান্ত সব আপনার জানা হয়ে গেছে। সবাইকে ধন্যবাদ... আপনারা গ্রুপে সক্রিয় হোন। আপনার ছোট ভাই-বোন বা পাড়ার স্কুল কলেজের ছেলে-মেয়েদেরকে গ্রুপে এড করুন। প্রোগ্রামিংয়ে তাদেরকে আগ্রহী করে তুলুন। আসুন আমরা গড়ে তুলি একটা চিন্তাশীল ও সৃজনশীল প্রজন্ম।
হ্যাপি কোডিং... :)
COMMENTS