ক্যারিয়ার গাইডঃ সফটওয়ার ডেভেলপমেন্ট

আমরা প্রোগ্রামিং শেখার শুরুতে প্রথমে কোন একটা কোড এডিটরে কোড লিখি। এরপর তা কনসোলে আউটপুট দেখায়। কিন্তু আমরা শুনেছি প্রোগ্রামিং করে সফটওয়ার তৈরি করা যায়। সফটওয়ার গুলোতে কি সুন্দর ইন্টারফেস থাকে, বাটন থাকে, কত অপশন থাকে। পেইন্টের মত সফটওয়ারে আঁকা আঁকি করা যায়, ওয়ার্ড সফটওয়ারে লেখা যায়, ব্রাউজারের মত সফটওয়ার দিয়ে ওয়েবসাইট ব্রাউজ করা যায়। […]

Read More

ডেপথ ফার্স্ট সার্চ অ্যালগরিদম – Depth-First Search

ব্রেডথ ফার্স্ট সার্চ অ্যালগরিদমে আমরা একটা নডের পরবর্তী লেভেলের যত গুলো নড রয়েছে, সব গুলো ভিজিট করেছি আগে। ডেপথ ফার্স্ট সার্চে হবে উল্টোটা। একটা নড থেকে পরের নডে, পরের নড থেকে পরের নডে এভাবে নিচের দিকের নড গুলো ভিজিট করবে প্রথমে। নিচের অ্যানিমেশনটা দেখি, ডেপথ ফার্স্ট সার্চ কিভাবে হয়, তার ভিজুয়াল চিত্রঃ ডেপথ ফার্স্ট সার্চ […]

Read More

ব্রেডথ ফার্স্ট সার্চ অ্যালগরিদম – Breadth-first search

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

Read More

অ্যালগরিদমঃ লিনিয়ার সার্চ

সবচেয়ে সহজ সার্চিং অ্যালগরিদম হচ্ছে লিনিয়ার সার্চ (Linear Search)। যেমন আমাদের কাছে একটা নাম্বার লিস্ট রয়েছে। সেখানে একটা নির্দিষ্ট নাম্বার আছে কিনা আমরা তা বের করতে চাই। তার জন্য ঐ লিস্টের প্রথম সংখ্যার সাথে আমারা যে সংখ্যাটা খুঁজছি, তা মিলিয়ে দেখি। যদি মিলে যায়, তাহলে আমরা আমাদের সার্চিং প্রসেসটা শেষ করি। না হয় পরের নাম্বারের […]

Read More

অ্যালগরিদমঃ বাবল সর্ট

সবচেয়ে সহজ সর্টিং অ্যালগরিদম হচ্ছে Bubble Sort. সর্ট মানে হচ্ছে সাজানো। যেমন আমাদের কাছে কিছু এলোমেলো সংখ্যা রয়েছে। আমরা চাচ্ছি যেগুলোকে ছোট থেকে বড় আকারে সাজাতে। এই সাজানোর আইডিয়াটা অনেক সহজ মনে হলেও বাস্তব জীবনে এর অনেক ব্যবহার রয়েছে। সর্টিং এর জন্য বাবল সর্ট করে কি, প্রথমে প্রথম দুইটা সংখ্যার মধ্যে তুলনা করে। তুলনা করে […]

Read More

লুপ থেকে রিকার্শন

রিকার্শন নিয়ে এর আগে একটি লেখা লিখেছি। যেখানে রিকার্শন সম্পর্কে বিস্তারিত জানা যাবেঃ রিকার্শন/ Recursion , রিকার্সিভ অ্যালগরিদম, রিকার্সিভ ফাংশন ও সি প্রোগ্রামিং এ প্রয়োগ   যা কিছু লুপ দিয়ে করা যায়, তার সব কিছুই রিকার্শন দিয়ে করা যায়। যেমন আমরা একটা লুপ লিখি এভাবেঃ এটিকে সহজেই রিকার্শনে পরিবর্তন করে আমরা লিখতে পারি এভাবেঃ সম্পূর্ণ প্রোগ্রামঃ […]

Read More

R প্রোগ্রামিং ল্যাঙ্গুয়েজ

R বা আর ল্যাঙ্গুয়েজ হচ্ছে স্ট্যাটিস্টিক্যাল এনালাইসিস, গ্রাফ রিপ্রেজেন্টেশন এবং রিপোর্টিং এর জন্য প্রোগ্রামিং ল্যাঙ্গুয়েজ। মূলত ডেটা সাইন্সে ডেটা এনালাইসিস এর জন্য আর ল্যাঙ্গুয়েজ ব্যবহৃত হয়। ডেটা নিয়ে কাজ করাই ডেটা সাইন্স এর কাজ। বিগ ডেটা এখন খুব জনপ্রিয় একটা টার্ম। যেখানে ডেটা অনেক বেশি, অনেক অনেক বেশি, সেগুলোকেই বিগ ডেটা বলে। আর ডেটা এনালাইসিস […]

Read More

মেশিন লার্নিং সম্পর্কে ধারণা

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

Read More

গ্রাফ থিওরি, গ্রাফের রিপ্রেজেন্টেশন এবং ইমপ্লিমেন্টেশন

গ্রাফঃ গ্রাফ হচ্ছে কত গুলো নোড (Node) বা ভার্টেক্স(vertice)  এবং এজের (Edge) সমষ্টি। নিচে একটি গ্রাফের ছবি দেওয়া হলোঃ এ গ্রাফে পাঁচটি নোড বা ভার্টেক্স রয়েছে। নোড গুলো হচ্ছেঃ 0,1,2,3,4,5. আর উপরের গ্রাফে এজ রয়েছে ৭টি। নোড গুলোর সংযোগ কারী রেখা হচ্ছে এজ।   গ্রাফকে নিচের মত করে ভাগ করা যায় : Directed, weighted edges […]

Read More

টেনসরফ্লো / TensorFlow – মেশিন লার্নিং লাইব্রেরী ইন্সটলেশন এবং ব্যবহার

টেনসরফ্লো / TensorFlow হচ্ছে গুগলের মেশিন লার্নিং ওপেনসোর্স লাইব্রেরী। যে কেউ এই লাইব্রেরী ব্যবহার করতে পারে। এটি আর্টিফিশিয়াল ইন্টেলিজেন্স সিস্টেমে ডীপ লার্নিং ইমপ্লিমেন্ট করতে ব্যবহার করা হয়। টেনসর ফ্লো প্রথমে গুগলের রিসার্চ টিমে মেশিন লার্নিং এবং ডীপ নিউরাল নেটওয়ার্ক রিসার্চে ব্যবহার করা হত। এখন যা সবার জন্য উন্মুক করে দেওয়া হয়েছে। টেনসরফ্লো সম্পর্কে একটা ধারণা পেতে […]

Read More