# বিগিনারদের জন্য আইওটি - একটি সুবিন্যস্ত পাঠ্যক্রম
মাইক্রোসফট এর Azure Cloud Advocate গণ আইওটি বেসিক সম্পর্কে 12-সপ্তাহ, 24-লেসনের এই কোর্সটি তৈরী করেছেন। প্রতিটি পাঠের মধ্যে লেকচার-পূর্ববর্তী এবং লেকচার-পরবর্তী কুইজ, পাঠ সম্পূর্ণ করার জন্য লিখিত নির্দেশাবলী, একটি সমাধান, একটি এসাইনমেন্ট এবং আরও অনেক কিছু রয়েছে। আমাদের প্রজেক্ট-ভিত্তিক পদ্ধতির মাধ্যমে নতুন বিষয় সম্পর্কে জানা এবং কাজ করে অভিজ্ঞতা অর্জন দুটোই হবে একসাথে - নতুন স্কিল শেখার জন্য যা নিঃসন্দেহে একটি কার্যকরী পন্থা।
প্রজেক্টগুলোতে খামার থেকে টেবিল পর্যন্ত খাদ্যের অভূতপূর্ব একটি যাত্রা আমরা উপভোগ করবো, শিখবো। এর মধ্যে রয়েছে কৃষিকাজ, প্রক্রিয়া ব্যবস্থাপনা, উৎপাদন, খুচরা ও গ্রাহকপর্যায় সহ আইওটি ডিভাইসের জন্য জনপ্রিয় সব ক্ষেত্র।
**ধন্যবাদ জানাতে চাই আমাদের সেসকল [Microsoft Learn Student Ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn)দের, যারা এই কারিক্যুলামটি রিভিউ এবং অনুবাদে কাজ করেছে - [Aditya Garg](https://github.com/AdityaGarg00),[Anurag Sharma](https://github.com/Anurag-0-1-A), [Arpita Das](https://github.com/Arpiiitaaa), [Aryan Jain](https://www.linkedin.com/in/aryan-jain-47a4a1145/), [Bhavesh Suneja](https://github.com/EliteWarrior315),[Faith Hunja](https://faithhunja.github.io/), [Lateefah Bello](https://www.linkedin.com/in/lateefah-bello/), [Manvi Jha](https://github.com/Severus-Matthew), [Mireille Tan](https://www.linkedin.com/in/mireille-tan-a4834819a/), [Mohammad Iftekher (Iftu) Ebne Jalal](https://github.com/Iftu119), [Priyanshu Srivastav](https://www.linkedin.com/in/priyanshu-srivastav-b067241ba), [Thanmai Gowducheruvu](https://github.com/innovation-platform), এবং [Zina Kamel](https://www.linkedin.com/in/zina-kamel/).**
> **শিক্ষকবৃন্দ** , আপনারা যেন বেশ সহজেই এই কারিকুলাম ব্যবহার করতে পারেন তার জন্য, আমর একটি [গাইডলাইন](for-teachers.md) তৈরী করেছি যাতে আপনার জন্য প্রয়োজনীয় সকল নির্দেশনা রয়েছে। আপনি যদি নিজেই নিজের লেসন তৈরি করতে চান, তবে তার জন্যও আমরা একটি [লেসন টেম্পলেট](lesson-template/README.md) রেখেছি।
> **শিক্ষার্থীরা**, এই কোর্সটি নিজে ব্যবহার করতে চাইলে, পুরো রেপোসিটরি 'fork' করতে হবে এবং লেকচার-পূর্ববর্তী কুইজ দিয়ে শুরু করতে হবে। তারপরে লেকচারটি পড়ে এবং বাকি কাজগুলো বুঝে, নিজেই অনুশীলনগুলি সম্পূর্ণ করতে হবে। সমাধান কোডগুলো কপি না করে, বরং লেসনগুলি বোঝার মাধ্যমে প্রজেক্টগুলি তৈরি করার চেষ্টা করতে হবে। তবে হ্যাঁ, সল্যুশন কোডগুলো প্রতিটি প্রজেক্ট-ভিত্তিক লেসনের সমাধান ফোল্ডারে পাওয়া যাবে। আরেকটি পরামর্শ হলো বন্ধুদের সাথে একটি স্টাডি গ্রুপ গঠন করা এবং একসাথে লেসনগুলোর মধ্য দিয়ে যাওয়া। আরও বেশি শেখার জন্য, [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn) ব্যবহার করা যাবে।
এই পাঠ্যক্রমটি তৈরি করার সময় আমরা দুটি শিক্ষাগত পদ্ধতি বেছে নিয়েছি: প্রজেক্ট-ভিত্তিক পাঠদান এবং ঘন ঘন কুইজের অন্তর্ভুক্তি নিশ্চিত করা। এই সিরিজটির শেষের দিকে, শিক্ষার্থীরা একটি প্ল্যান্ট মনিটরিং এবং পানি সরবরাহের ব্যবস্থা, একটি যানবাহন ট্র্যাকার, খাবারের সন্ধানের জন্য এবং পরীক্ষা করার জন্য একটি স্মার্ট কারখানা সেটআপ এবং একটি ভয়েস-নিয়ন্ত্রিত রান্নার টাইমার তৈরি করবে এবং তাদের ইন্টারনেট অফ থিংস এর মূল বিষয়গুলি শিখবে - কীভাবে ডিভাইস কোড লিখতে হবে,কীভাবে ক্লাউডের সাথে সংযুক্ত হতে হবে, টেলিমেট্রি তথ্য বিশ্লেষণ করতে হবে এবং Edge এ কীভাবে আর্টিফিশিয়াল ইনটেলিজেন্স চালাতে হবে।
কোর্সের বিষয়বস্তু প্রজেক্ট যেন সমান্তরালে চলে তা নিশ্চিত করা হয়েছে - এই প্রক্রিয়াটি শিক্ষার্থীদের জন্য আরও আকর্ষক হবে এবং কনসেপ্টগুলো দীর্ঘদিন মনে রাখতে পারবে।
এছাড়াও, লেকচারের পূর্বে একটি সহজ কুইজ কোনও বিষয় শেখার দিকে শিক্ষার্থীদের উৎসাহিত করে, অন্যদিকে ক্লাসের পরে দ্বিতীয় কুইজ শিখে আসা বিষয়গুলো আরও বেশি মনে রাখার বিষয়টি নিশ্চিত করে। এই পাঠ্যক্রমটি ফ্লেক্সিবল এবং আনন্দদায়ক করে তৈরি করা হয়েছে এবং কেউ চাইলে পুরো কোর্সে না থেকে বরং কোন নির্দিষ্ট অংশেও থাকতে পারে। প্রজেক্টগুলি ছোট থেকে শুরু করা হয়েছে এবং ১২ সপ্তাহের লম্বা সময় ধরে শেষে ক্রমশ জটিল বিষয়গুলি অন্তর্ভুক্ত করা হয়েছে - সহজভাবে শিখন কার্যক্রম চালানোর জন্য।
শিক্ষার্থী এবং শৌখিন আগ্রহীদের কাছে থাকবে এমন সব হার্ডওয়্যার দিয়েই প্রজেক্টগুলো সাজানো হয়েছে। প্রতিটি প্রজেক্টই নির্দিষ্ট কোন ডোমেইন এ খুবই সুনির্দিষ্ট কিছু কাজ করে এবং সেই ডোমেইন সংক্রান্ত প্রয়োজনীয় জ্ঞান সরবরাহ করে। একজন সফল আইওটি যন্ত্র প্রস্তুতকারক হতে হলে, এটা বোঝা খুব জরুরী যে আমরা কোন ডোমেইন এর সমস্যা সমাধান করছি। আর এখানে যেসকল বিষয় শেখানো হচ্ছে তার মাধ্যমে শিক্ষার্থীরা তাদের আইওটি প্রজেক্ট নিয়ে আরো গভীরভাবে চিন্তা করবে যা আইওটি ডেভলাপার হিসেবে বাস্তব জগতের সমস্যা সমাধানে তাদেরকে সাহায্য করবে। তৈরীকৃত সল্যুশন গুলো নিয়ে আরো বেশি প্রশ্ন তারা করতে শিখবে যা তাদেরই উন্নতি ঘটাবে এবং এই প্রোডাক্ট ব্যবহারকারীকে অনেক ভালো অভিজ্ঞতা দিতে পারবে।
## হার্ডওয়্যার
ব্যক্তিগত পছন্দ, প্রোগ্রামিং ভাষার জ্ঞান, শেখার লক্ষ্য এবং প্রাপ্যতার উপর নির্ভর করে প্রজেক্টগুলোর জন্য আইওটি হার্ডওয়্যারের দুটি অপশন রয়েছে। এছাড়াও যাদের কাছে বর্তমানে হার্ডওয়্যার নেই অথবা শেখার পরে কিনতে চায়, তাদের জন্য রয়েছে **'ভার্চুয়াল হার্ডওয়্যার'** ! এই সংক্রান্ত ব্যপারে বিস্তারিত জানতে এবং ক্রয়তালিকা দেখতে চাইলে, [হার্ডওয়্যার](translations/hardware.bn.md) ফাইলটিতে তা রয়েছে।
> 💁 আমাদের [আচরণ বিধি (Code of Conduct)](translations/CODE_OF_CONDUCT.bn.md), [অবদান (Contribution)](translations/CONTRIBUTING.bn.md), and [অনুবাদ (Translation)](translations/TRANSLATIONS.bn.md) সংক্রান্ত নির্দেশনা রয়েছে। আমরা আপনার গঠনমূলক সমালোচনা স্বাগত জানাই!
> **কুইজ সংক্রান্ত একটি বক্তব্য**: সবগুলো কুইজই [এই অ্যাপ](https://brave-island-0b7c7f50f.azurestaticapps.net) এ রয়েছে, যেখানে ৪৮টি কুইজ রয়েছে প্রতিটিতে ৩টি করে প্রশ্ন নিয়ে. প্রতটি লেসন থেকেই কুইজের লিংক রয়েছে, তবে এগুলো লোকাল ভাবেও ব্যবহার করা যাবে; এক্ষেত্রে `quiz-app` ফোল্ডারে প্রদেয় নির্দেশনা অনুসরণ করার অনুরোধ জানানো হলো। ধীরে ধীরে এগুলো অন্যান্য ভাষায়ও উপলব্ধ করা হচ্ছে।
| 01 | [IoT যাত্রার সূচনা](./1-getting-started) | IoT পরিচিতি | প্রথম আইওটি ডিভাইস সেটআপ করার সময়ই আইওটি এর প্রাথমিক নীতিগুলি এবং আইওটি সল্যুশনের বেসিক বিষয়গুলো যেমনঃ সেন্সর এবং ক্লাউড সার্ভিস সংক্রান্ত বিষয়গুলো সম্পর্কে জ্ঞান অর্জন | [IoT পরিচিতি](./1-getting-started/lessons/1-introduction-to-iot/translations/README.bn.md) |
| 02 | [IoT যাত্রার সূচনা](./1-getting-started) | IoT এর আরো গভীরে| আইওটি সিস্টেমের উপাদানগুলির পাশাপাশি মাইক্রোকন্ট্রোলার এবং সিঙ্গেল-বোর্ড কম্পিউটার সম্পর্কে জ্ঞান অর্জন | [IoT এর আরো গভীরে](./1-getting-started/lessons/2-deeper-dive/translations/README.bn.md) |
| 03 | [IoT যাত্রার সূচনা](./1-getting-started) | সেন্সর এবং অ্যাকচুয়েটরের সাহায্যে বাহ্যিক জগতের সাথে যোগাযোগ| 'নাইটলাইট' প্রজেক্টটি করার সাথেই সমান্তরালে বাহ্যিক জগত থেকে ডেটা সংগ্রহ করার জন্য সেন্সর এবং প্রতিক্রিয়া জানাতে ব্যবহৃত অ্যাকচুয়েটর সম্পর্কে জ্ঞান অর্জন | [সেন্সর এবং অ্যাকচুয়েটরের সাহায্যে বাহ্যিক জগতের সাথে যোগাযোগ](./1-getting-started/lessons/3-sensors-and-actuators/translations/README.bn.md) |
| 04 | [IoT যাত্রার সূচনা](./1-getting-started) | আইওটি ডিভাইসকে ইন্টারনেটে সংযুক্ত করা | এমকিউটিটি ব্রোকারের সাথে নাইটলাইটটি সংযুক্ত করে বার্তাগুলি প্রেরণ এবং গ্রহণ করতে আইওটি ডিভাইসটিকে কীভাবে ইন্টারনেটে সংযুক্ত করতে হবে সেই সংক্রান্ত জ্ঞান অর্জন | [আইওটি ডিভাইসকে ইন্টারনেটে সংযুক্তকরণ ](./1-getting-started/lessons/4-connect-internet/translations/README.bn.md) |
| 05 | [ফার্ম](./2-farm) | আইওটি দ্বারা উদ্ভিদ বৃদ্ধির পূর্বাভাস | আইওটি ডিভাইস দ্বারা গৃহিত তাপমাত্রার ডেটা ব্যবহার করে কীভাবে উদ্ভিদ বৃদ্ধির পূর্বাভাস দেওয়া যায় তা শেখা | [আইওটি দ্বারা উদ্ভিদ বৃদ্ধির পূর্বাভাস](./2-farm/lessons/1-predict-plant-growth/translations/README.bn.md) |
| 06 | [ফার্ম](./2-farm) | মাটির আর্দ্রতা নির্ণয় | কীভাবে মাটির আর্দ্রতা সনাক্ত করা যায় এবং তা করতে মাটির আর্দ্রতা সেন্সরটি কীভাবে ক্যালিব্রেট করতে হবে তা শেখা | [মাটির আর্দ্রতা নির্ণয়](./2-farm/lessons/2-detect-soil-moisture/translations/README.bn.md) |
| 07 | [ফার্ম](./2-farm) | স্বয়ংক্রিয় সেচকার্য | রিলে এবং এমকিউটিটি ব্যবহার করে কীভাবে স্বয়ংক্রিয়ভাবে এবং নির্দিষ্ট সময়ে সেচ দেয়া যায় সে সংক্রান্ত জ্ঞান অর্জন | [স্বয়ংক্রিয় সেচকার্য](./2-farm/lessons/3-automated-plant-watering/translations/README.bn.md) |
| 08 | [ফার্ম](./2-farm) | উদ্ভিদকে ক্লাউডে সংযুক্ত করা | ক্লাউড এবং ক্লাউড-হোস্ট করা আইওটি পরিষেবাগুলি সম্পর্কে জ্ঞান অর্জন এবং কীভাবে আমাদের উদ্ভিদটিকে পাবলিক এমকিউটিটি ব্রোকারের পরিবর্তে ক্লাউডে সংযুক্ত করতে হবে তা শেখা | [উদ্ভিদকে ক্লাউডে সংযুক্ত করা](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/translations/README.bn.md) |
| 09 | [ফার্ম](./2-farm) | Migrate your application logic to the cloud | ক্লাউডে কীভাবে অ্যাপ্লিকেশন লজিক লিখতে হবে যাতে তা আইওটি ম্যাসেজের প্রতিক্রিয়া জানাতে পারে তা শেখা| [Migrate your application logic to the cloud](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) |
| 10 | [ফার্ম](./2-farm) | Keep your plant secure | আইওটি তে নিরাপত্তা সম্পর্কে জানা এবং Key ও Certificate এর সাহায্যে আমাদের উদ্ভিদটিকে কীভাবে সুরক্ষিত রাখা যায় তা শেখা | [Keep your plant secure](./2-farm/lessons/6-keep-your-plant-secure/README.md) |
| 12 | [পরিবহন](./3-transport) | Store location data | পরবর্তী সময়ে বিশ্লেষণ বা চিত্রভিত্তিক ডেটা প্রদর্শন (Visualization) এর জন্য আইওটি ডেটা কীভাবে স্টোর করা যায় তা জানা | [Store location data](./3-transport/lessons/2-store-location-data/README.md) |
| 13 | [পরিবহন](./3-transport) | Visualize location data |মানচিত্রে অবস্থানের ডেটা প্রদর্শন করা এবং মানচিত্রগুলি কীভাবে ২টি মাত্রায় বাস্তব ত্রিমাত্রিক বিশ্বের উপস্থাপন করে সে সম্পর্কে জ্ঞান অর্জন | [Visualize location data](./3-transport/lessons/3-visualize-location-data/README.md) |
| 14 | [পরিবহন](./3-transport) | Geofences | Geofences সম্পর্কে জানা এবং কীভাবে এটি ব্যবহার করে সাপ্লাই চেইনের বিভিন্ন পর্যায়ের বাহনগুলো যখন গন্তব্যের কাছাকাছি পৌঁছায় তখন এলার্ট দেয়া যায় তা শেখা | [Geofences](./3-transport/lessons/4-geofences/README.md) |
| 15 | [উৎপাদন](./4-manufacturing) | Train a fruit quality detector | ক্লাউডের ছবি শ্রেণিবদ্ধকরণ মডেলকে (Image Classifier) ফলের মান সনাক্ত করতে কীভাবে প্রশিক্ষিত করতে হবে সে সম্পর্কে জানা | [Train a fruit quality detector](./4-manufacturing/lessons/1-train-fruit-detector/README.md) |
| 16 | [উৎপাদন](./4-manufacturing) | Check fruit quality from an IoT device | আইওটি ডিভাইসে ফলের গুণগত মান সনাক্তকারী ব্যবহার | [Check fruit quality from an IoT device](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) |
| 17 | [উৎপাদন](./4-manufacturing) | Run your fruit detector on the edge | ফলের গুণগত মান সনাক্তকারীকে Edge হিসেবে ব্যবহার | [Run your fruit detector on the edge](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) |
| 18 | [উৎপাদন](./4-manufacturing) | Trigger fruit quality detection from a sensor | সেন্সর থেকে ফলের গুণাগুণ সনাক্তকরণ নিয়ন্ত্রণ করা শেখা| [Trigger fruit quality detection from a sensor](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) |
| 19 | [খুচরাপর্যায়](./5-retail) | Train a stock detector | কোনও দোকানে স্টক গণনা করতে স্টক ডিটেক্টরকে প্রশিক্ষণ দেওয়ার জন্য কীভাবে অবজেক্ট সনাক্তকরণ ব্যবহার করা যায় তা শেখা | [Train a stock detector](./5-retail/lessons/1-train-stock-detector/README.md) |
| 20 | [খুচরাপর্যায়](./5-retail) | Check stock from an IoT device | কোন অবজেক্ট সনাক্তকরণ মডেল ব্যবহার করে আইওটি ডিভাইস থেকে স্টক পর্যবেক্ষণ করা শেখা | [Check stock from an IoT device](./5-retail/lessons/2-check-stock-device/README.md) |
| 21 | [খুচরাপর্যায়](./6-consumer) | Recognize speech with an IoT device | আইওটি ডিভাইস থেকে বক্তব্য (speech) সনাক্ত করে স্মার্ট টাইমার তৈরী করা | [Recognize speech with an IoT device](./6-consumer/lessons/1-speech-recognition/README.md) |
| 22 | [ভোক্তাপর্যায়](./6-consumer) | Understand language | আইওটি ডিভাইসকে কীভাবে কথা বোঝাতে হয় তা শেখা | [Understand language](./6-consumer/lessons/2-language-understanding/README.md) |
| 23 | [ভোক্তাপর্যায়](./6-consumer) | Set a timer and provide spoken feedback | আইওটি ডিভাইসে কীভাবে টাইমার সেট করতে হয় এবং টাইমার কখন সেট হয় এবং তা কখন শেষ হয় সে বিষয়ে কথিত প্রতিক্রিয়া যেন সেই আইওটি ডিভাইস জানাতে পারে তা শেখা | [Set a timer and provide spoken feedback](./6-consumer/lessons/3-spoken-feedback/README.md) |
| 24 | [ভোক্তাপর্যায়](./6-consumer) | Support multiple languages | কীভাবে আইওটি ডিভাইসে নির্দেশ দেয়া এবং স্মার্ট টাইমার থেকে আসা প্রতিক্রিয়া উভয়েই একাধিক ভাষা সাপোর্ট করানো যায় তা শেখা | [Support multiple languages](./6-consumer/lessons/4-multiple-language-support/README.md) |
## অফলাইন ব্যবহার
[Docsify](https://docsify.js.org/#/) ব্যবহার করে পুরো ডকুমেন্টেশনটি অফলাইনে ব্যবহার করা যাবে। এজন্য এই রেপোসিটরি ফর্ক করতে হবে, তারপর লোকাল মেশিনে [Docsify ইন্সটল ](https://docsify.js.org/#/quickstart)করতে হবে। এবার এই রেপোসিটরির রুট ফোল্ডারে `docsify serve` লিখতে হবে। সবশেষে লোকাল হোস্টের পোর্ট ৩০০০ অর্থাৎ `localhost:3000` এ পুরো কোর্সটি ওয়েবসাইট আকারে পাওয়া যাবে।
### পিডিএফ
এই কারিক্যুলামের কনটেন্টসমূহ অফলাইনে ব্যবহারের জন্য সহজেই পিডিএফ এ রূপান্তর করা যাবে। এক্ষেত্রে আগে এটা নিশ্চিত করতে হবে যে [npm ইন্সটল](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) করা রয়েছে এবং এই রেপোর রুট ফোল্ডারে নিম্নলিখিত কমান্ডগুলি রান করতে হবেঃ
অনুবাদের কাজ করে এই কারিক্যুলামে অবদান করতে চান? তাহলে অনুগ্রহ করে আমাদের [অনুবাদ গাইডলাইন](translations/TRANSLATIONS.bn.md) পড়ে , যেকোন একটি [Translation Issue](https://github.com/microsoft/IoT-For-Beginners/issues?q=is%3Aissue+is%3Aopen+label%3Atranslation) এ ইনপুট দেয়ার অনুরোধ করা হলো। যদি কোন নতুন ভাষায় অনুবাদ করতে কেউ আগ্রহী হয়, তবে ট্র্যাকিংয়ের জন্য দয়া করে একটি নতুন Issue সাবমিট করতে হবে।