पाठ 6: प्रोग्रामिंग अनप्लग्ड: माई रोबोटिक फ्रेंड्स

एल्गोरिथम | डिबगिंग | अनपल्गड

रूप-रेखा

कोड के स्थान पर चिन्हों के सेट का उपयोग करते हुए, छात्र अलग-अलग पैटर्नों में कपों को जोड़ने के लिए "रोबोट” को निर्देश देने की कलन विधियां डिज़ाइन करेंगे। छात्र केवल अपने साथियों द्वारा परिभाषित कलन विधि के लिए प्रतिक्रिया करते हुए, रोबोट के तौर पर बारी-बारी से भाग लेंगे। यह खंड छात्रों को चिन्हों और क्रियाओं के बीच संबंध, कलन विधि और प्रोग्राम के बीच अंतर, और डीबगिंग के बहुमूल्य कौशल सिखाते हैं।

उद्देश्य

यह अनप्लग्ड पाठ साधारण कार्य: विशिष्ट डिज़ाइन में कपों को जोड़ने के लिए "रोबोट” प्राप्त करना को पूरा करने के लिए कक्षा को टीम के रूप में साथ लाता है। छात्र कोड में संभावी निर्देशों के रूप में वास्तविक दुनिया की क्रियाओं को पहचानने के लिए काम करेंगे। सही निर्देश तैयार करने का भी अभ्यास किया जाएगा, जब छात्र शब्दों वाले निर्देशों को प्रदान किए गए चिन्हों में रूपातरिंत करने के लिए काम करेंगे। यदि कोड में कोई समस्या उत्पन्न होती है, तो छात्र बग्स को पहचानने और समाधान तैयार करने के लिए साथ मिलकर काम करेंगे। यह गतिविधि प्रोग्रामिंग के लिए आधार तैयार करती है, जिसे छात्र पूरे कोर्स के दौरान करेंगे, जब वे स्पष्ट रूप से बताई गई कलन विधि को परिभाषित करने के महत्व के बारे में जानेंगे।

एजेंडा

तैयार हों (5 मिनट)

मुख्य गतिविधि (45 मिनट)

समाप्ति (10 मिनट)

कोड स्टूडियो पर देखें

लक्ष्य

छात्र इस योग्य होंगे:

  • निर्देश तैयार करते समय सूक्ष्मता पर ध्यान केंद्रित करें
  • क्म में रखे निर्देशों में बग्स या त्रुटियों को पहचानें व उन पर ध्यान दें

तैयारी

लिंक

हेड्स अप! कृपया किसी भी उन दस्तावेज की एक प्रति बनाएं, जिन्हें आप छात्रों के साथ साझा करने वाले हैं।

अध्यापक के लिए

छात्रों के लिए

शब्दावली

  • कलन विधि - कार्य को समाप्त करने के चरणों की सूची।
  • बग - प्रोग्राम का वह भाग, जो सही ढंग से काम नहीं करता।
  • डिबगिंग - कलन विधि या प्रोग्राम में समस्याएं ढूंढना और हल करना।
  • प्रोग्राम - एक कलन विधि, जो किसी ऐसी चीज़ में कोड की गई है, जिसे मशीन द्वारा चलाया जा सकता है।

अध्यापन गाइड

तैयार हों (5 मिनट)

Discussion Goal

इस त्वरित चर्चा का लक्ष्य इस बात पर ज़ोर देना है कि जब रोबोट लोगों की तरह व्यवहार करते प्रतीत होते हैं, तो असल में वे केवल अपने प्रोग्रामिंग के लिए प्रतिक्रिया कर रहे होते हैं। छात्र शायद फिल्मों और टीवी के रोबोट्स का संदर्भ देखेंगे, जो काफी हद तक मनुष्यों की तरह व्यवहार करते हैं। उन्हें ऐसे रोबोट्स पर विचार करने पर ज़ोर दें, जिन्हें उन्होंने वास्तविक जीवन में देखा या सुना है, जैसे Roombas, या डिजीटल सहायक जैसे Amazon Alexa आदि।

रोबोट्स से बात करना

प्रदर्शित करें: छात्रों को अन्य प्रकार की चीज़ों का संदर्भ देने के लिए निम्नलिखित में से एक वीडियो देखें, जो रोबोट कर सकते हैं:

चर्चा: उस वीडियो का संदर्भ दें, जिसे आपने चुना है और छात्रों से पूछें कि उन्हें ऐसा क्यों लगता है कि रोबोट जानता था कि क्या करना है। क्या आप जो कहते हैं, रोबोट वास्तव में उसे “समझता” है? यदि यह वह काम नहीं करता, जो इसे बताया गया है, तो क्या इसे मुश्किल में पड़ने की चिंता है?

बताएं: रोबोट केवल वहीं कर सकते हैं, जो उन्हें करने के लिए बताया जाता है, लेकिन हम उन्हें केवल शब्दों का उपयोग करना नहीं बताते। कुछ करने के लिए, रोबोट को ऐसे स्टेप्स की सूची की जरूरत होती है, जिसे यह पढ़ सके। आज, हम यह सीखेंगे कि ऐसा किस वजह से होता है।

मुख्य गतिविधि (45 मिनट)

परिचय और नमूना चित्रित करना

Robot Symbols

सेट अप: समूहों के लिए कपों के ढेर या कागज़ के कटे हुए समलंब उपलब्ध कराएं।

प्रदर्शित करें: mrf-चिन्ह-b प्रदर्शित करें या बोर्ड पर अनुमति दी गई क्रियाएं लिखें - सुनिश्चित करें कि ये उस स्थान पर हैं, जहां उन्हें संपूर्ण गतिविधि के लिए देखा जा सकता है। कक्षा को स्पष्ट करें कि ये केवल चार क्रियाएं हैं, जिन्हें वे इस अभ्यास के लिए उपयोग कर सकते हैं। इस कार्य के लिए, वे केवल कुंजी पर सूचीबद्ध कमांड्स का उपयोग करते हुए विशेष कप का स्टैक बनाने के लिए अपने “रोबोट” दोस्त को निर्देश देंगे।

मॉडल: यह बताने के लिए कि निर्देशों को किस प्रकार काम करने के लिए बनाया गया है, कक्षा के लिए नमूना चित्रित करें कि साधारण पैटर्न को दोहराने के लिए कैसे कलन विधि बनाएं और उसका अनुसरण करें। शुरुआत करने के लिए अपने सामने कपों का सिंगल स्टैक रखें।

प्रदर्शित करें: उस पैटर्न को प्रदर्शित करें, जिसका नमूना चित्रित करने की आपकी योजना है। साधारण तीन कप का पैटर्न शुरू करने के लिए बढ़िया स्थान है।

सुझाव: कक्षा को पूछें कि केवल अनुमति दिए गए छह निर्देशों का उपयोग करते हुए पहला निर्देश क्या होना चाहिए। पहला मूव "कप उठाएं” होना चाहिए। यदि छात्र सूची में से कुछ और सुझाव देते हैं, तो वह क्रिया करें और उन्हें अपनी त्रुटि देखने दें। यदि वे सूची में से कुछ सुझाव नहीं देते हैं, तो स्पष्ट खराबी प्रतिक्रिया करें और उन्हें बताएं कि कमांड ने समझा नहीं है।

हाथ में कप लेकर, कक्षा से आपको तब तक लगातार निर्देश देने को कहें, जब तक पहला कप रखा नहीं जाता। यह स्पष्ट करने के लिए यह बढ़िया स्थान है कि "आगे बढ़ें" और "पीछे जाएं" प्रत्येक क्रिया कप की आधी चौड़ाई को मूव करने पर लागू होती है। संदर्भ के लिए निम्नलिखित चित्र देखें।

3 कप पैटर्न

कक्षा से तब तक निर्देशों की मांग करते रहें, जब तक कि आप संपूर्ण डिज़ाइन पूरा न कर लें।

जब आपका स्टैक पूरा हो जाए, तो संकेत करें कि उन्होंने अभी आपको कार्य को पूरा करने के लिए स्टेप्स की सूची दी है। वह कलन विधि है। कलन विधियां सुझाव साझे करने के लिए बहुत ही बढ़िया हैं, लेकिन एक-एक शब्द का उच्चारण करने में बहुत ज्यादा समय लग सकता है। चिन्ह इसके लिए ही होते हैं!

जब आप किसी कलन विधि को ऐसे चिन्हों में बदलते हैं, जिसे रोबोट (या कंप्यूटर) समझता है, तो इसे प्रोग्रामिंग कहते हैं।तीर को टेक्सट में बदलकर उस पहले मूव के लिए "प्रोग्राम" लिखने में मदद करने के लिए कहें। फिर पैटर्न को पूरा करने के लिए बाकी जरूरी मूव्स लिखने के लिए उनके साथ मिलकर काम करें। अपने छात्रों के विश्वास के आधार पर, आप "रोबोट" के तौर पर काम करने और कोड लिखने के बीच आगे-पीछे अदला-बदली कर सकते हैं, या आप प्रोग्राम को लागू करने से पहले उन्हें संपूर्ण प्रोग्राम लिखने के लिए कह सकते हैं। एक संभावी समाधान इस प्रकार प्रतीत होता है:

3 कप समाधान

वालंटियर: जब कक्षा मॉडल प्रोग्राम को पूरा कर ले, तो किसी एक छात्र बुलाएं और यह सुनिश्चित करने के लिए "रोबोट” के तौर पर काम करें कि प्रोग्राम सही तरीके से काम करता है। उन्हें निर्देशों को ज़ोर से बोलने के लिए प्रोत्साहित करें, जब वे कोड "चलाएं।"

अपने रोबोट्स को प्रोग्राम करना

समूहों में बांटें: छात्रों को 4 के समूहों में बांटें। उसके बाद प्रत्येक समूह को दो जोड़ियों में बांटा जाना चाहिए - प्रत्येक जोड़ी अन्य जोड़ी के द्वारा "चलाए" जाने के लिए अपना खुद का प्रोग्राम विकसित किया।

वितरित करें: प्रत्येक समूह को कप या कागज़ के कटआउट का एक स्टैक दें।

प्रदर्शित करें: कक्षा को स्टैकिंग कप सुझाव - प्रहस्तनीय दिखाएं या समूहों के उपयोग के लिए अलग-अलग प्रतियां दें। प्रत्येक जोड़ी (समूह को नहीं) को यह चयन करने को कहें कि वे अपने रोबोट से कौन-से सुझाव पर काम करवाना चाहते हैं। पहली बार अधिक आसान सुझाव पर ज़ोर देने का प्रयास करें, फिर बाद में उन्हें अधिक जटिल डिज़ाइन चुनने को कहें। जोड़ियों को अपने समूह के दूसरे आधे हिस्से से अपने चयन को छिपाकर रखने के लिए प्रोत्साहित करें।

चर्चा करें: प्रत्येक जोड़ी को इस बारे में चर्चा करने के लिए समय दें कि केवल दिए गए चिन्हों का उपयोग करते हुए स्टैक कैसे बनाया जाना चाहिए। सुनिश्चित करें कि प्रत्येक समूह "रोबोट” द्वारा बाद में पढ़ने के लिए कहीं पर "प्रोग्राम" को लिखकर रखता है।

Teaching Tip

नियम लागू करना: जब रोबोट स्टैक पर काम कर रहा हो, तो सुनिश्चित करें कि कक्षा को इस बारे में पता है:

  • प्रोग्रामर्स को उस समय बात करने की अनुमति नहीं होती, जब रोबोट काम कर रहा होता है। इसमें ज़ोर से बोलकर जवाब देना या जब रोबोट कुछ गलत कर रहा हो तो टोकना शामिल है।
  • प्रोग्रामर्स को अपना हाथ ऊपर उठाना चाहिए, यदि उन्हें कोई बग दिखाई देता है।

करें: जब दोनों समूह अपने प्रोग्राम पूरे कर लें, तो वे अन्य जोड़ी द्वारा लिखे निर्देशों का अनुसरण करके एक-दूसरे के लिए "रोबोट” बनने की बारी ले सकते हैं। यह सुनिश्चित करने के लिए छात्रों को अपने "रोबोट” पर ध्यानपूर्वक नज़र रखने को प्रोत्साहित करें कि वे निर्देशों का अनुसरण कर रहे हैं। यदि किसी छात्र को कोई बग दिखाई देता है और वह अपना हाथ उठाता है, तो रोबोट को अपनी क्षमता के अनुसार निर्देश पूरा करने को कहें। उसके बाद, छात्रों को संभावी बग के बारे में चर्चा करने और समाधानों का सुझाव देने को कहें। तब तक दोहराएं, जब तक कि स्टैक सही ढंग से न बन जाए।

घूमें: उन समूहों पर नज़र रखें, जो अपने कोड में अतिरिक्त चीज़ें (जैसे संख्याएं) जोड़कर शॉर्टकट लेने का प्रयास कर रहे हैं। उनके सुप्रयोग के लिए उनकी प्रशंसा करें, लेकिन उन्हें यह भी याद दिलाएं कि इस अभ्यास के लिए, रोबोट कुछ नहीं समझते, वे केवल दिए गए चिन्हों को समझते हैं। यदि आप चाहें, तो आप संकेत दे सकते हैं कि उन्हें अगली बार इस गेम को खेलने के लिए अपने शानदार समाधान को सुरक्षित रखना चाहिए, क्योंकि उन्हें जल्द ही अपने आविष्कार का उपयोग करने का अवसर मिल सकता है!

दोहराएं: उपलब्ध समय के आधार पर, जोड़ियों को मिलाएं और उन्हें अलग-अलग पैटर्न पर काम करने का अवसर दें। हर बार समूह प्रक्रिया को दोहराएं, उन्हें अधिक चुनौतीपूर्ण पैटर्न का चयन करने के लिए प्रोत्साहित करें।

Discussion Goal

अर्थ निकलना: इस चर्चा का लक्ष्य छात्रों को रोबोट और प्रोग्रामर दोनों के तौर पर अपने अनुभवों को समझने के लिए स्थान देना है। सवालों को जानबूझ कर व्यापक बनाया गया है, लेकिन छात्रों को स्पष्ट प्रोग्राम लिखने की चुनौतियों और अपने निर्देशों की व्याख्या करने में रोबोट या कंप्यूटर के अवरोधों के बारे में सोचने के लिए तैयार किया गया है।

चर्चा करें: जब हर किसी को रोबोट बनने का अवसर मिल जाए, तो कक्षा को अपने अनुभवों पर चर्चा करने के लिए फिर से इकट्ठा करें। विशेषकर, कक्षा के तौर पर चर्चा करें:

  • निर्देश सोचने का सबसे मुश्किल हिस्सा क्या था?
  • क्या किसी को अपने निर्देशों में कोई बग मिला, जब आपके रोबोट ने उनका अनुसरण करना शुरू किया?
    • बग क्या था?
    • आपको ऐसा क्यों लगता है कि आपने प्रोग्राम लिखते समय उस पर ध्यान नहीं दिया?
  • जब आप रोबोट थे, तो आपको दिए गए निर्देशों का अनुसरण करने का सबसे मुश्किल हिस्सा कौन-सा था?

समाप्ति (10 मिनट)

जर्नल तैयार करना

छात्रों ने जिस बारे में सीखा है, यह क्यों उपयोगी है, और वे इस बारे में क्या महसूस करते हैं, लिखवाने से, किसी भी उस ज्ञान को ठोस बनाने में मदद मिल सकती है, जो उन्होंने आज प्राप्त किया है और भविष्य में उनके देखने के लिए एक समीक्षा शीट तैयार करें।

जर्नल संबंधी सुझाव:

  • आज का पाठ किस बारे में था?
  • आपको आज का पाठ कैसा लगा?
  • आपने अपनी गेम को बेजोड़ बनाने के लिए क्या किया?
  • ऐसी गेम चित्रित करें, जिसे आप भविष्य में बनाना चाहते हैं।

मानक संरेखण

पूर्ण पाठ्यक्रम संरेखण देखें

CSTA K-12 Computer Science Standards (2017)

AP - Algorithms & Programming
  • 1A-AP-09 - Model the way programs store and manipulate data by using numbers or other symbols to represent information.