लाइव कोडिंग का उपयोग करके सिखाने के लिए टिप्स


11

मैं पहले साल के प्रोग्रामिंग और एल्गोरिदम कोर्स में शामिल हूं। हाल ही में एक व्याख्यान में, मैंने लाइव कोडिंग का उपयोग करके सामग्री को प्रस्तुत करने का निर्णय लिया , जिसका अनिवार्य रूप से मतलब था कि मैं कीबोर्ड के पीछे बैठकर कोड लिखता हूं और मूल्यांकन करता हूं, प्रक्रिया को सुविधाजनक बनाने के लिए emacs का उपयोग करता हूं ।

यह काफी सफल रहा और छात्रों ने टिप्पणी की कि उन्होंने अधिक (अंतर) सक्रिय प्रारूप की कितनी सराहना की। जैसा कि इस शिक्षण प्रारूप का उपयोग करने का मेरा पहला प्रयास था, मुझे पता है कि यह पूरी तरह से नहीं चला था। समस्याओं में से कुछ के साथ सामान्य बुद्धि के रूप में नहीं किया जा रहा से संबंधित थे Emacs के रूप में मैं होना चाहिए, और दूसरों के छात्र सवाल मुझे मेरी स्क्रिप्ट से बहुत दूर ले जाने की अनुमति देता है के साथ क्या करना थे। मुझे पता है कि मैं बेहतर कर सकता हूं।

लाइव कोडिंग व्याख्यान का उपयोग करके व्याख्यान (और अन्य प्रदर्शन) देने के लिए कुछ दिशानिर्देश क्या हैं?
बचने के लिए क्या नुकसान हैं?


2
मेरे पास लाइव कोडिंग के बारे में मेरे आरक्षण हैं (ज्यादातर थ्रूपुट और समझ के भ्रम से संबंधित हैं)। फिर भी, दो सुझाव: 1) क्या आपने संरचित प्रश्नों के लिए कक्षा प्रतिक्रिया प्रणाली का उपयोग किया है? 2) मुझे नहीं पता कि यह कितना व्यावहारिक है, लेकिन ideone.com जैसी किसी चीज़ का उपयोग करना दिलचस्प हो सकता है क्योंकि छात्र व्याख्यान के बाद आपके कोड तक पहुंच सकते हैं और सामान स्थापित किए बिना इसे चला सकते हैं।
राफेल

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

जवाबों:


8

एक सप्ताह के लिए लाइव कोडिंग का उपयोग करने के बाद और एक सहयोगी से बात करने के बाद मैंने कुछ युक्तियां और नुकसान उठाए हैं।

करने योग्य

  • पालन ​​करने के लिए एक स्क्रिप्ट तैयार करें और उससे चिपके रहने की कोशिश करें।
  • प्रासंगिक भाग पर ध्यान केंद्रित करने के लिए बफ़र्स को अक्सर साफ़ करें।
  • प्रत्येक नए विषय के लिए नए सिरे से शुरू करें।
  • एक बड़े फ़ॉन्ट का उपयोग करें।
  • तुच्छता पर बहुत अधिक समय बर्बाद करने से बचने के लिए, जिस उपकरण का आप उपयोग कर रहे हैं, उसे मास्टर करें।
  • बैकग्राउंड फ़ंक्शंस प्रीलोडेड हैं। यदि विशेष रूप से प्रासंगिक नहीं है, तो सुनिश्चित करें कि उन्हें काम करने वाली फ़ाइल में प्रदर्शित होने के बजाय आयात किया जा सकता है।
  • एक ऐसी भाषा में आदर्श रूप से काम करें जो आपको तत्काल प्रतिक्रिया दे। एक संवादात्मक खोल वाली भाषाएं इस संबंध में सर्वश्रेष्ठ हैं।
  • टाइप किए गए का उपयोग करते समय, अपेक्षित प्रकार के फ़ंक्शन को लिखें जो आप लिख रहे हैं। यह छात्रों के लिए एक मार्गदर्शक प्रकाश प्रदान करता है।
  • स्वतंत्र रूप से गलतियाँ करें (हालाँकि बहुत अधिक नहीं)। ये कैसे तय किया जाना चाहिए, इसके माध्यम से कदम।
  • मत भूलना - एक चित्र एक हजार शब्दों को पेंट करता है: इंटरलेव स्लाइड और ब्लैक / व्हाइटबोर्ड आपके कोडिंग सत्र के साथ काम करता है।
  • आपके द्वारा कवर किए गए बिंदुओं के लिए सारांश स्लाइड है
  • कभी-कभी, कोड को संशोधित करते समय, शायद एक प्रतिलिपि बनाएँ और प्रतिलिपि को संशोधित करें। यह तुलना का एक बिंदु प्रदान करता है।
  • समय-समय पर कोड साफ करें।
  • स्वीकार करें कि आप गलतियाँ करेंगे और छात्रों को खुले तौर पर आपको सही करने की अनुमति देंगे --- यह आपके काम को आसान बनाता है और उन्हें सशक्त बनाता है।
  • कोड को अपने अंदाज में लिखें। उदाहरण के लिए, आपने कोड को कहीं और से कॉपी किया होगा। लेकिन यह पुन: पेश करना मुश्किल होगा। बेहतर होगा इसे अपने अंदाज में लिखें। उदाहरण के लिए, मैं हमेशा करी कार्यों को लिखता हूं, क्योंकि मैं ज्यादातर हास्केल का कार्यक्रम करता हूं। लेकिन स्टैण्डर्ड ML मुहावरे का कम बार उपयोग करता है। क्लास में किए गए सबसे सामान्य त्रुटि के लिए करीने वाले कार्यों की अपेक्षा करना।
  • शारीरिक रूप से, सुनिश्चित करें कि आपके पास अपना स्थान अच्छी तरह से स्थापित है। अच्छा कीबोर्ड, सही ऊँचाई पर, सभी सही स्थानों पर केबल, रास्ते में आने वाली शारीरिक बाधाएँ आदि। एक मिनट पहले आप अपना स्थान आपके लिए काम करना शुरू कर दें, आपके खिलाफ नहीं।
  • एक दृष्टिकोण यह है कि छात्र जो कुछ भी कहते हैं, उसे लिखें, भले ही वह गलत हो। यह छात्रों को कोडिंग, और फिक्सिंग करने के लिए मिलता है। अंत में कोड को साफ करना एक अच्छा विचार है। यह दृष्टिकोण ध्यान और बातचीत का एक कक्षा मॉडल बना सकता है, क्योंकि छात्रों को इस बात पर ध्यान देने की आवश्यकता है कि क्या चल रहा है।

DON'Ts

  • मक्खी पर अपने कोड का अनुकूलन न करें और इसे इस तरह से तोड़ें कि आप इसे ठीक न कर सकें।
  • कंप्यूटर पर बात करने से बचें। छात्रों से बात करें!
  • बहुत टाइपिंग से बचें, खासकर बॉयलरप्लेट कोड से। आप के लिए खाका थूकने में मदद करने के लिए अपने वातावरण का उपयोग करें।
  • यदि आप टेक्स्ट एडिटर का उपयोग करते हैं, तो लगातार स्क्रॉल करने से बचें। यह मोशन सिकनेस का कारण होगा जो इसे फॉलो करने की कोशिश कर रहे हैं।
  • यदि आप अपने कोड में आमूल-चूल परिवर्तन करने से पहले एक पाठ संपादक का उपयोग करते हैं, तो छात्रों को चेतावनी दें कि आप ऐसा करने जा रहे हैं, ताकि वे ट्रैक कर सकें कि क्या चल रहा है।

1
तुम्हारी कक्षा 'में कितने विद्यार्थी हैं? मुझे अन्तरक्रियाशीलता की ओर आपका डीओ पसंद है लेकिन आश्चर्य है कि 50, 100, 250 छात्रों के लिए यह कैसे पैमाना है।
राफेल

1
क्या आप कक्षा के बाद अपना कोड प्रकाशित करते हैं? मैं एक जीथब रिपॉजिटरी की कल्पना करता हूं जहां छात्र आपके द्वारा बनाए गए विभिन्न संस्करणों के माध्यम से ब्राउज़ कर सकते हैं (शायद एक पॉलिश, टिप्पणी संस्करण जिसमें कक्षा में कभी नहीं दिखाई दिए) और मतभेदों को देखें। वे अपने होमवर्क (यदि यह वांछनीय है) में सबरूटीन्स के रूप में एक बार लिखित एल्गोरिदम का उपयोग करने के लिए रिपॉजिटरी को आसानी से क्लोन कर सकते हैं।
राफेल

1
क्या आप अपने कोड को चलाने के लिए यूनिट टेस्ट तैयार करते हैं? मुझे यकीन नहीं है कि क्या यह हर वर्ग में उचित है (प्रोग्रामिंग भाषाओं, सॉफ्टवेयर विकास या एल्गोरिदम के सिद्धांतों को सीखने पर ध्यान केंद्रित है?) लेकिन यह रास्ते में कुछ सर्वोत्तम प्रथाओं को सिखा सकता है।
राफेल

2
1) 128 लोगों ने कक्षा के लिए पंजीकरण किया, हालांकि लगभग 60-80 लोग उलट गए। 2) मेरे पास स्लाइड पर पहले से ही कोड है, लेकिन मैं स्लाइड का उपयोग नहीं करता। इसलिए छात्रों के पास एक संस्करण है जो मैं करता हूं, कभी भी मध्यवर्ती चरणों में से कोई भी नहीं। मैं वास्तव में निश्चित नहीं हूं कि सभी विविधताओं का होना कितना दिलचस्प है। 3) नहीं, मैं नहीं करता, हालांकि वे अनौपचारिक विनिर्देशों को लिखते हैं। ध्यान पहली प्रोग्रामिंग भाषा और कुछ एल्गोरिदम / डेटा संरचनाओं को सीखने पर है। मैं सहमत हूं, हालांकि। इकाई परीक्षण कुछ ऐसे हैं जिन्हें हम पाठ्यक्रम में अधिक भारी रूप से एकीकृत करने पर विचार करेंगे। सवालों / निहित सुझावों के लिए धन्यवाद।
डेव क्लार्क
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.