परिचय
प्रशिक्षकों के सामने आने वाली सबसे कठिन समस्याओं में से एक असाइनमेंट डिजाइन करना और शिक्षार्थियों को प्रतिक्रिया प्रदान करना है जो उन्हें समाधान की ओर मार्गदर्शन करता है। कंप्यूटर-विज्ञान पाठ्यक्रम में यह समस्या बढ़ जाती है, जिसमें असाइनमेंट गुप्त त्रुटि संदेश उत्पन्न कर सकते हैं या बिना किसी त्रुटि को फेंके सफलता का आभास दे सकते हैं। कंप्यूटर विज्ञान में असाइनमेंट की प्रकृति लक्षित प्रशिक्षक प्रतिक्रिया और डिबगिंग कार्यान्वयन में सहायता की आवश्यकता को दोगुना कर देती है।
PyBryt एक ओपन-सोर्स पायथन लाइब्रेरी है जिसका उद्देश्य प्रशिक्षक के हस्तक्षेप की आवश्यकता के बिना छात्रों को विशिष्ट प्रतिक्रिया प्रदान करने में मदद करना है, जबकि छात्र एक असाइनमेंट के माध्यम से काम करता है। PyBryt एक ऑटो-मूल्यांकन ढांचा है जो किसी समस्या की शुद्धता निर्धारित करने के लिए छात्र के समाधान की जांच करता है। यह प्रशिक्षक द्वारा प्रदान किए जाने वाले एक या अधिक संदर्भ कार्यान्वयन की तुलना करके विशिष्ट कार्यान्वयन विवरणों के बारे में लक्षित संदेश भी प्रदान करता है। इस तरह, छात्र प्रशिक्षक से मिलने की आवश्यकता के बिना स्वचालित रूप से समान सहायक संकेत और संकेत प्राप्त कर सकते हैं।
इस सूत्रीकरण का एक और महत्वपूर्ण लाभ भी है: यह प्रशिक्षकों को पारंपरिक ऑटोग्रेडर की तुलना में अधिक ओपन-फॉर्म असाइनमेंट बनाने की अनुमति देता है। पारंपरिक इकाई परीक्षण-आधारित ऑटोग्रेडर अपने सबमिशन में कठोर संरचित वस्तुओं या एक विशिष्ट एपीआई बनाने वाले छात्रों पर भरोसा करते हैं, जो छात्रों को अद्वितीय तरीकों से अपने समाधान की संरचना करने की क्षमता को सीमित करता है। अक्सर, एक ऑटोग्रेडर के साथ ग्रेडिंग की सबसे अधिक समय लेने वाली प्रक्रियाओं में से एक छात्रों को डीबग करने में मदद कर रहा है कि उनके विशिष्ट समाधान ने ऑटोग्रेडर परीक्षणों को पारित क्यों नहीं किया, भले ही कार्यान्वयन नाममात्र सही था। कई संदर्भों के खिलाफ छात्र कार्यान्वयन की तुलना करने PyBryt की क्षमता के साथ, प्रशिक्षक संदर्भ कार्यान्वयन के पुस्तकालयों के साथ असाइनमेंट बना सकते हैं जो एक ही समस्या को हल करते समय छात्रों द्वारा विकसित किए जाने वाले विभिन्न तरीकों के लिए मजबूत होते हैं।
परिदृश्य: छात्र एक एल्गोरिथ्म को लागू करना सीखते हैं
मान लीजिए कि आप चाहते थे कि छात्र फाइबोनैचि अनुक्रम को लागू करें। अनुक्रम उत्पन्न करने के लिए कई अलग-अलग एल्गोरिदम हैं, तुच्छ पुनरावर्ती समाधान से लेकर गतिशील प्रोग्रामिंग समाधान तक कई अन्य लोगों तक। इनमें से प्रत्येक एल्गोरिदम में कई चरण होते हैं जिसके दौरान बग आसानी से होते हैं, और आप एक असाइनमेंट डिज़ाइन करना चाहते हैं जो छात्रों को असाइनमेंट के माध्यम से काम करते समय प्रतिक्रिया प्रदान करके उनके कार्यान्वयन को पूरा करने में मदद करता है। एक सामान्य ऑटोग्रेडर केवल यह जांचता है कि कार्यान्वयन सही है। यद्यपि विशिष्ट सामान्य समस्याओं की जाँच के लिए कुछ इकाई परीक्षण लिखे जा सकते हैं, आपको अधिक सामान्य समाधान की आवश्यकता होती है।
आप क्या सीखेंगे?
इस मॉड्यूल में, आप संदर्भ कार्यान्वयन बनाने के बारे में जानेंगे और PyBryt का उपयोग करके फाइबोनैचि असाइनमेंट बनाने की प्रक्रिया से गुजरेंगे। आप एनोटेशन के बारे में जानेंगे - संदर्भ कार्यान्वयन के बिल्डिंग ब्लॉक्स - और छात्र के मेमोरी पदचिह्न में विभिन्न मूल्यों का विश्लेषण करने के लिए उनका उपयोग करें। फिर, आप एनोटेशन को एक संदर्भ कार्यान्वयन में जोड़ देंगे, और जांच करेंगे कि कई संदर्भों के संयोजन से आप एक ही समस्या के लिए विभिन्न एल्गोरिदम को ऑटोग्रेड कर सकते हैं। अंत में, आप फाइबोनैचि संख्या उत्पन्न करने की समस्या के लिए अपना स्वयं का संदर्भ कार्यान्वयन बनाएंगे।
मुख्य लक्ष्य क्या है?
इस मॉड्यूल के अंत तक, आप संदर्भ कार्यान्वयन बनाने के लिए समाधानों को एनोटेट करने में सक्षम होंगे और समझेंगे कि संदर्भों को असाइनमेंट-मूल्यांकन पाइपलाइन में कैसे संयोजित किया जाए।