2025-11-11T11:43:09.580597

Automatically Generating Questions About Scratch Programs

Obermüller, Fraser
When learning to program, students are usually assessed based on the code they wrote. However, the mere completion of a programming task does not guarantee actual comprehension of the underlying concepts. Asking learners questions about the code they wrote has therefore been proposed as a means to assess program comprehension. As creating targeted questions for individual student programs can be tedious and challenging, prior work has proposed to generate such questions automatically. In this paper we generalize this idea to the block-based programming language Scratch. We propose a set of 30 different questions for Scratch code covering an established program comprehension model, and extend the LitterBox static analysis tool to automatically generate corresponding questions for a given Scratch program. On a dataset of 600,913 projects we generated 54,118,694 questions automatically. Our initial experiments with 34 ninth graders demonstrate that this approach can indeed generate meaningful questions for Scratch programs, and we find that the ability of students to answer these questions on their programs relates to their overall performance.
academic

Scratch प्रोग्राम के बारे में स्वचालित रूप से प्रश्न उत्पन्न करना

मूल जानकारी

  • पेपर ID: 2510.11658
  • शीर्षक: Automatically Generating Questions About Scratch Programs
  • लेखक: Florian Obermüller, Gordon Fraser
  • वर्गीकरण: cs.SE (सॉफ्टवेयर इंजीनियरिंग)
  • प्रकाशन समय/सम्मेलन: CompEd 2025 (ACM Global Computing Education Conference 2025)
  • पेपर लिंक: https://arxiv.org/abs/2510.11658

सारांश

प्रोग्रामिंग शिक्षा में, छात्रों का मूल्यांकन आमतौर पर उनके द्वारा लिखे गए कोड के आधार पर किया जाता है। हालांकि, प्रोग्रामिंग कार्य को पूरा करना अंतर्निहित अवधारणाओं की वास्तविक समझ की गारंटी नहीं देता है। इसलिए, शिक्षार्थियों से उनके कोड के बारे में प्रश्न पूछकर प्रोग्राम समझ क्षमता का मूल्यांकन करने के लिए अनुसंधान प्रस्तावित किया गया है। प्रत्येक छात्र प्रोग्राम के लिए लक्षित प्रश्न बनाना कठिन और चुनौतीपूर्ण दोनों है, इसलिए पूर्व के कार्यों ने ऐसे प्रश्नों को स्वचालित रूप से उत्पन्न करने के तरीके प्रस्तावित किए हैं। यह पेपर इस विचार को ब्लॉक-आधारित प्रोग्रामिंग भाषा Scratch तक विस्तारित करता है। हम Scratch कोड प्रश्नों के 30 विभिन्न प्रकार प्रस्तावित करते हैं, जो स्थापित प्रोग्राम समझ मॉडल को कवर करते हैं, और LitterBox स्टैटिक विश्लेषण उपकरण को विस्तारित करते हैं ताकि दिए गए Scratch प्रोग्राम के लिए स्वचालित रूप से संबंधित प्रश्न उत्पन्न किए जा सकें। 600,913 परियोजनाओं वाले डेटासेट पर, हमने स्वचालित रूप से 54,118,694 प्रश्न उत्पन्न किए। 34 नौवीं कक्षा के छात्रों के साथ प्रारंभिक प्रयोग से पता चलता है कि यह विधि वास्तव में Scratch प्रोग्राम के लिए सार्थक प्रश्न उत्पन्न कर सकती है, और यह पाया गया कि छात्रों द्वारा इन प्रश्नों का उत्तर देने की क्षमता उनके समग्र प्रदर्शन से संबंधित है।

अनुसंधान पृष्ठभूमि और प्रेरणा

मूल समस्या

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

समस्या की महत्ता

  1. समझ और कार्यान्वयन के बीच अंतर: छात्र परीक्षण-त्रुटि, प्रतिलिपि या AI सहायता के माध्यम से प्रोग्रामिंग कार्य पूरा कर सकते हैं, लेकिन अंतर्निहित प्रोग्रामिंग अवधारणाओं को वास्तव में नहीं समझते हैं
  2. मूल्यांकन विधियों की सीमाएं: पारंपरिक मूल्यांकन विधियां मुख्य रूप से कोड की शुद्धता पर ध्यान केंद्रित करती हैं, छात्र की प्रोग्राम समझ क्षमता पर नहीं
  3. बड़े पैमाने पर चुनौती: बड़े पैमाने पर शिक्षण परिदृश्यों में, शिक्षकों के लिए प्रत्येक छात्र के प्रोग्राम के लिए व्यक्तिगत समझ मूल्यांकन प्रश्न मैन्युअल रूप से बनाना कठिन है

मौजूदा विधियों की सीमाएं

  1. पाठ भाषा की सीमा: मौजूदा प्रश्न उत्पादन विधियां मुख्य रूप से Java जैसी पाठ प्रोग्रामिंग भाषाओं के लिए हैं, Scratch जैसी ब्लॉक प्रोग्रामिंग भाषाओं के लिए उपयुक्त नहीं हैं
  2. भाषा विशेषताओं में अंतर: Scratch में चर घोषणा कथनों के बजाय उपयोगकर्ता इंटरफेस के माध्यम से बनाए जाते हैं, ब्लॉकों को पंक्ति संख्या द्वारा संदर्भित नहीं किया जा सकता है
  3. व्यवस्थितता की कमी: सैद्धांतिक ढांचे के आधार पर व्यवस्थित प्रश्न डिजाइन विधि की कमी है

अनुसंधान प्रेरणा

इस पेपर की अनुसंधान प्रेरणा पहले से मौजूद "शिक्षार्थी के कोड के बारे में प्रश्न" (Questions about Learner's Code, QLCs) अवधारणा को Scratch वातावरण तक विस्तारित करना है, ब्लॉक प्रोग्रामिंग शिक्षा के लिए स्वचालित प्रोग्राम समझ मूल्यांकन उपकरण प्रदान करना।

मुख्य योगदान

  1. व्यवस्थित प्रश्न डिजाइन: Block Model प्रोग्राम समझ मॉडल के आधार पर, Scratch कोड के लिए 30 प्रकार के प्रश्नों को व्यवस्थित रूप से डिजाइन किया गया
  2. उपकरण विस्तार: खुले स्रोत स्टैटिक विश्लेषण उपकरण LitterBox को विस्तारित किया, जिससे यह Scratch प्रोग्राम के समझ प्रश्नों को स्वचालित रूप से उत्पन्न कर सके
  3. बड़े पैमाने पर सत्यापन: 600,913 सार्वजनिक Scratch परियोजनाओं वाले डेटासेट पर विधि की प्रयोज्यता को सत्यापित किया गया
  4. अनुभवजन्य अनुसंधान: 34 नौवीं कक्षा के छात्रों के कक्षा प्रयोग के माध्यम से प्रश्नों की प्रभावशीलता और छात्र उत्तर प्रदर्शन और प्रोग्रामिंग क्षमता के बीच संबंध को सत्यापित किया गया

विधि विस्तार

कार्य परिभाषा

इनपुट: एक Scratch प्रोग्राम परियोजना आउटपुट: उस प्रोग्राम के बारे में स्वचालित रूप से उत्पन्न समझ प्रश्नों का एक समूह, जिसमें प्रश्न पाठ, उत्तर विकल्प और सही उत्तर शामिल हैं बाधाएं: प्रश्न प्रोग्राम में वास्तव में मौजूद कोड निर्माणों पर आधारित होने चाहिए, और Block Model के सैद्धांतिक ढांचे के अनुरूप होने चाहिए

विधि आर्किटेक्चर

1. सैद्धांतिक आधार: Block Model अनुकूलन

Block Model में चार स्तरों के ध्यान के दायरे और तीन प्रोग्राम आयाम शामिल हैं:

स्तरपाठ आयामनिष्पादन आयामउद्देश्य आयाम
परमाणु स्तरभाषा तत्वतत्व संचालनतत्व उद्देश्य
ब्लॉक स्तरवाक्य रचना/शब्दार्थ संबंधित क्षेत्रकोड ब्लॉक संचालनकोड ब्लॉक कार्यक्षमता
संबंध स्तरकोड ब्लॉकों के बीच संदर्भकोड ब्लॉकों के बीच प्रवाहलक्ष्य और उप-लक्ष्य संबंध
मैक्रो स्तरप्रोग्राम समग्र संरचनाएल्गोरिदम या प्रोग्राम व्यवहारप्रोग्राम लक्ष्य या उद्देश्य

2. प्रश्न प्रकार डिजाइन

Block Model के आधार पर, 5 उत्तर प्रारूपों में 30 प्रश्न प्रकार डिजाइन किए गए:

  • संख्यात्मक प्रकार (🔢): उत्तर एक एकल संख्या है
  • स्ट्रिंग प्रकार (📝): उत्तर एक या अधिक स्ट्रिंग हैं
  • हां/नहीं प्रकार (✓/✗): उत्तर हां या नहीं है
  • बहु-विकल्प प्रकार (☑️): विकल्पों से सही उत्तर चुनें
  • मुक्त पाठ प्रकार (📄): खुले प्रश्न, व्याख्यात्मक उत्तर की आवश्यकता है

3. स्वचालित उत्पादन कार्यान्वयन

LitterBox उपकरण को विस्तारित करके कार्यान्वित:

  1. AST पार्सिंग: Scratch प्रोग्राम को अमूर्त वाक्य रचना वृक्ष में परिवर्तित करना
  2. विजिटर पैटर्न: प्रत्येक प्रश्न प्रकार के लिए एक प्रश्न खोजकर्ता लागू करना
  3. कोड ट्रैवर्सल: AST को ट्रैवर्स करके प्रश्न उत्पादन योग्य कोड पैटर्न की पहचान करना
  4. विकल्प उत्पादन: बहु-विकल्प प्रश्नों के लिए स्वचालित रूप से विकर्षण विकल्प उत्पन्न करना

तकनीकी नवाचार बिंदु

  1. ब्लॉक प्रोग्रामिंग अनुकूलन: पहली बार QLCs अवधारणा को ब्लॉक प्रोग्रामिंग भाषाओं पर व्यवस्थित रूप से लागू किया गया
  2. सिद्धांत-संचालित डिजाइन: परिपक्व प्रोग्राम समझ सैद्धांतिक ढांचे के आधार पर प्रश्न प्रकार डिजाइन किए गए
  3. स्वचालित उत्पादन: पूरी तरह से स्वचालित प्रश्न उत्पादन प्रक्रिया लागू की गई
  4. बहु-आयामी कवरेज: प्रश्न बुनियादी भाषा तत्वों से प्रोग्राम समग्र उद्देश्य तक सभी स्तरों को कवर करते हैं

प्रयोग सेटअप

डेटासेट

  1. बड़े पैमाने पर डेटासेट: 600,913 सार्वजनिक Scratch परियोजनाएं, खाली परियोजनाओं और मिश्रित परियोजनाओं को छोड़कर
  2. कक्षा प्रयोग डेटा: 34 जर्मन नौवीं कक्षा के छात्र, Scratch प्रोग्रामिंग अनुभव के साथ
  3. स्कैफोल्डिंग परियोजनाएं: कक्षा प्रयोग के आधार के रूप में Boat Race गेम का उपयोग

मूल्यांकन मेट्रिक्स

  1. प्रश्न उत्पादन आवृत्ति: विभिन्न प्रश्न प्रकारों की कुल उत्पादन संख्या और कवर की गई परियोजनाओं की संख्या
  2. सहसंबंध विश्लेषण: छात्र उत्तर प्रदर्शन और प्रोग्रामिंग कार्य पूर्णता के बीच Pearson सहसंबंध गुणांक
  3. कवरेज विश्लेषण: Block Model विभिन्न आयामों की परियोजना कवरेज प्रतिशत

तुलनात्मक विधियां

चूंकि यह Scratch के लिए QLCs का पहला अनुसंधान है, मुख्य रूप से निम्नलिखित तरीकों से सत्यापन किया गया:

  1. मौजूदा पाठ भाषा QLCs की अवधारणा के साथ तुलना
  2. सैद्धांतिक ढांचे के आधार पर व्यवस्थित सत्यापन
  3. वास्तविक शिक्षण परिदृश्य में अनुप्रयोग सत्यापन

कार्यान्वयन विवरण

  1. उपकरण विस्तार: LitterBox स्टैटिक विश्लेषण उपकरण के आधार पर
  2. आउटपुट प्रारूप: JSON प्रारूप, ScratchBlocks वाक्य रचना के कोड स्निपेट सहित
  3. प्रश्न प्रस्तुति: लक्ष्य कोड भाग को हाइलाइट करना (जैसा कि चित्र 1a में दिखाया गया है)
  4. स्कोरिंग तंत्र: बहु-विकल्प प्रश्नों में प्रत्येक सही विकल्प 0.2 अंक, एकल-विकल्प प्रश्नों में सही उत्तर 1 अंक

प्रयोग परिणाम

मुख्य परिणाम

RQ1: प्रश्न उत्पादन आवृत्ति

  • कुल आंकड़े: 600,913 परियोजनाओं में 54,118,694 प्रश्न उत्पन्न किए गए
  • उच्चतम आवृत्ति प्रश्न:
    • Purpose of Script: 9,748,844 बार (100% परियोजना कवरेज)
    • Purpose of If Condition: 5,103,322 बार (41.1% परियोजना कवरेज)
    • Scripts for Actor: 3,524,268 बार (100% परियोजना कवरेज)
  • न्यूनतम आवृत्ति प्रश्न:
    • My Block Definition: 368,712 बार (11.3% परियोजना कवरेज)
    • Purpose of Loop Condition: 486,902 बार (15.2% परियोजना कवरेज)

Block Model कवरेज विश्लेषण

आयामपरमाणु स्तरब्लॉक स्तरसंबंध स्तरमैक्रो स्तर
पाठ64.5%61.2%46.5%100.0%
निष्पादन30.4%58.4%99.0%71.1%
उद्देश्य49.0%100.0%31.2%100.0%

RQ2: उत्तर प्रदर्शन और प्रोग्रामिंग क्षमता सहसंबंध

  • सहसंबंध गुणांक: r = 0.467 (p = 0.005)
  • सहसंबंध शक्ति: मध्यम स्तर का सकारात्मक सहसंबंध
  • सांख्यिकीय महत्व: p < 0.01, सांख्यिकीय रूप से महत्वपूर्ण है
  • व्यावहारिक अर्थ: छात्रों द्वारा QLCs का उत्तर देने की क्षमता उनकी प्रोग्रामिंग कार्य पूर्णता से महत्वपूर्ण रूप से संबंधित है

प्रयोग निष्कर्ष

  1. सार्वभौमिकता सत्यापन: सभी 30 प्रश्न प्रकार वास्तविक परियोजनाओं में बार-बार उत्पन्न किए जा सकते हैं
  2. स्तरीय विशेषताएं: उच्च स्तरीय प्रश्न (जैसे प्रोग्राम उद्देश्य) लगभग सभी परियोजनाओं में उत्पन्न किए जा सकते हैं, जबकि निम्न स्तरीय प्रश्न विशिष्ट प्रोग्रामिंग निर्माणों पर निर्भर करते हैं
  3. प्रभावशीलता प्रमाण: QLCs वास्तव में प्रोग्राम समझ क्षमता का एक प्रभावी संकेतक हो सकता है
  4. शिक्षण मूल्य: छात्रों के पूर्व ज्ञान की कमियों का पता लगाने के लिए उपयोग किया जा सकता है

संबंधित कार्य

मुख्य अनुसंधान दिशाएं

  1. प्रोग्राम समझ मूल्यांकन: पारंपरिक विधियां मुख्य रूप से कोड ट्रेसिंग, व्याख्या और लेखन कौशल पर ध्यान केंद्रित करती हैं
  2. स्वचालित प्रश्न उत्पादन: Java जैसी पाठ भाषाओं के लिए पहले से स्वचालित प्रश्न उत्पादन उपकरण मौजूद हैं
  3. ब्लॉक प्रोग्रामिंग शिक्षा: प्रोग्रामिंग परिचय भाषा के रूप में Scratch का व्यापक अनुप्रयोग

इस पेपर का संबंधित कार्य से संबंध

  1. सैद्धांतिक विरासत: Block Model को अपनाया गया, जो एक परिपक्व प्रोग्राम समझ सैद्धांतिक ढांचा है
  2. तकनीकी विस्तार: पहली बार मौजूदा QLCs अवधारणा को ब्लॉक प्रोग्रामिंग भाषाओं पर लागू किया गया
  3. उपकरण नवाचार: LitterBox उपकरण के आधार पर Scratch के लिए स्वचालित प्रश्न उत्पादन लागू किया गया

संबंधित कार्य की तुलना में लाभ

  1. भाषा अनुकूलन: ब्लॉक प्रोग्रामिंग भाषा की विशेषताओं के लिए विशेष रूप से डिजाइन किया गया
  2. प्रणाली पूर्णता: सैद्धांतिक ढांचे के आधार पर व्यवस्थित प्रश्न डिजाइन
  3. व्यावहारिकता: बड़े पैमाने पर डेटा सत्यापन और वास्तविक कक्षा अनुप्रयोग

निष्कर्ष और चर्चा

मुख्य निष्कर्ष

  1. तकनीकी व्यवहार्यता: Scratch प्रोग्राम के लिए बड़ी संख्या में सार्थक समझ प्रश्न स्वचालित रूप से उत्पन्न किए जा सकते हैं
  2. शिक्षा प्रभावशीलता: उत्पन्न प्रश्न छात्र की प्रोग्राम समझ क्षमता को प्रभावी ढंग से मूल्यांकन कर सकते हैं
  3. व्यावहारिक मूल्य: Scratch शिक्षा के लिए एक स्केलेबल स्वचालित मूल्यांकन उपकरण प्रदान किया गया है

सीमाएं

  1. मुक्त पाठ मूल्यांकन: खुले प्रश्नों का स्वचालित मूल्यांकन अभी भी मानव भागीदारी की आवश्यकता है
  2. प्रश्न कवरेज: कुछ Scratch-विशिष्ट निर्माणों में निम्न स्तरीय आयामों में अपर्याप्त कवरेज है
  3. प्रयोग पैमाना: कक्षा प्रयोग का नमूना आकार अपेक्षाकृत छोटा है (34 छात्र)
  4. समय सीमा: कक्षा प्रयोग समय सीमा परिणामों को प्रभावित कर सकती है

भविष्य की दिशाएं

  1. LLM एकीकरण: मुक्त पाठ उत्तरों को स्वचालित रूप से मूल्यांकन करने के लिए बड़े भाषा मॉडल का उपयोग करना
  2. प्रश्न विस्तार: Scratch-विशिष्ट निर्माणों के लिए अधिक प्रश्न प्रकार जोड़ना
  3. उपयोगकर्ता इंटरफेस: कक्षा उपयोग के लिए उपयुक्त प्रश्न उत्पादन और प्रबंधन इंटरफेस विकसित करना
  4. दीर्घकालिक प्रभाव अनुसंधान: QLCs के सीखने के परिणामों पर दीर्घकालिक प्रभाव का मूल्यांकन करना

गहन मूल्यांकन

शक्तियां

  1. मजबूत नवाचार: पहली बार QLCs को ब्लॉक प्रोग्रामिंग भाषाओं पर व्यवस्थित रूप से लागू किया गया, अनुसंधान अंतराल को भरा गया
  2. ठोस सैद्धांतिक आधार: Block Model के आधार पर व्यवस्थित डिजाइन विधि की सैद्धांतिक पूर्णता सुनिश्चित करता है
  3. पर्याप्त प्रयोग: बड़े पैमाने पर डेटा विश्लेषण और कक्षा प्रयोग को जोड़कर विधि की व्यवहार्यता और प्रभावशीलता को सत्यापित किया गया
  4. उच्च व्यावहारिक मूल्य: खुले स्रोत उपकरण की रिलीज अनुसंधान परिणामों को शिक्षण अभ्यास में सीधे लागू करने में सक्षम बनाती है
  5. स्पष्ट लेखन: पेपर संरचना स्पष्ट है, तकनीकी विवरण सटीक रूप से वर्णित हैं

कमियां

  1. मूल्यांकन सीमाएं: मुक्त पाठ प्रश्नों का मूल्यांकन अभी भी मानव भागीदारी की आवश्यकता है, पूर्ण स्वचालन को सीमित करता है
  2. नमूना सीमाएं: कक्षा प्रयोग का नमूना आकार छोटा है, बड़े पैमाने पर सत्यापन की आवश्यकता है
  3. गहन विश्लेषण अपर्याप्त: विभिन्न प्रश्न प्रकारों की प्रभावशीलता का सूक्ष्म विश्लेषण नहीं है
  4. अनुकूलन समस्याएं: विभिन्न आयु समूहों और कौशल स्तरों के छात्रों के अनुकूल कैसे बनाया जाए, इस पर पर्याप्त चर्चा नहीं की गई है

प्रभाव

  1. शैक्षणिक योगदान: प्रोग्रामिंग शिक्षा मूल्यांकन क्षेत्र के लिए नई अनुसंधान दिशा और उपकरण प्रदान किए गए
  2. व्यावहारिक मूल्य: Scratch शिक्षकों के लिए व्यावहारिक स्वचालित मूल्यांकन उपकरण प्रदान किया गया
  3. पुनरुत्पादनीयता: खुले स्रोत कोड और विस्तृत प्रयोग सेटअप अनुसंधान की पुनरुत्पादनीयता सुनिश्चित करते हैं
  4. प्रचार संभावना: विधि अन्य ब्लॉक प्रोग्रामिंग भाषाओं और प्लेटफॉर्म तक विस्तारित की जा सकती है

लागू परिदृश्य

  1. K-12 प्रोग्रामिंग शिक्षा: विशेष रूप से Scratch का उपयोग करके प्रोग्रामिंग परिचय के लिए कक्षाओं के लिए उपयुक्त
  2. ऑनलाइन शिक्षण प्लेटफॉर्म: ऑनलाइन प्रोग्रामिंग शिक्षण प्रणालियों में एकीकृत किया जा सकता है ताकि स्वचालित प्रतिक्रिया प्रदान की जा सके
  3. शिक्षक प्रशिक्षण: शिक्षकों को छात्रों के प्रोग्राम समझ स्तर को बेहतर ढंग से समझने में मदद करता है
  4. अनुसंधान उपकरण: प्रोग्रामिंग शिक्षा अनुसंधान के लिए मानकीकृत मूल्यांकन उपकरण प्रदान करता है

संदर्भ

पेपर में 23 महत्वपूर्ण संदर्भों का हवाला दिया गया है, जो प्रोग्राम समझ सिद्धांत, प्रोग्रामिंग शिक्षा मूल्यांकन, Scratch विश्लेषण उपकरण और अन्य संबंधित क्षेत्रों के मुख्य अनुसंधान परिणामों को कवर करते हैं। विशेष ध्यान देने योग्य हैं Block Model के मूल पेपर, LitterBox उपकरण के संबंधित कार्य, और प्रोग्राम समझ और प्रोग्रामिंग क्षमता के बीच संबंध के बारे में अनुभवजन्य अनुसंधान।