"वास्तव में कंप्यूटिंग विज्ञान पढ़ाने की क्रूरता पर"


33

दिक्जस्त्र, अपने निबंध में वास्तव में शिक्षण विज्ञान की क्रूरता पर , एक परिचयात्मक प्रोग्रामिंग प्रोग्रामिंग के लिए निम्नलिखित प्रस्ताव बनाता है:

एक तरफ, हम सिखाते हैं कि विधेय पथरी की तरह क्या दिखता है, लेकिन हम इसे दार्शनिकों से बहुत अलग तरीके से करते हैं। अविवेकी सूत्रों के हेरफेर में नौसिखिया प्रोग्रामर को प्रशिक्षित करने के लिए, हम इसे बूलियन बीजगणित के रूप में अधिक पढ़ाते हैं, छात्र को तार्किक संयोजकों के सभी बीजीय गुणों के साथ परिचित करते हैं। अंतर्ज्ञान के लिंक को और अधिक गंभीर बनाने के लिए, हम बूलियन डोमेन के {true, false} मूल्यों का नाम बदलकर {black, white} कर देते हैं।

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

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

उन्होंने जोर दिया कि यह एक गंभीर प्रस्ताव है, और विभिन्न संभावित आपत्तियों की रूपरेखा तैयार करता है, जिसमें यह भी शामिल है कि उनका विचार "पूरी तरह से अवास्तविक" है और "बहुत कठिन है।"

लेकिन यह कि पतंग उड़ नहीं पाएगी या तो डाक के लिए गलत साबित हो गई है: 80 के दशक की शुरुआत से, इस तरह के परिचयात्मक प्रोग्रामिंग पाठ्यक्रम को सफलतापूर्वक हर साल सैकड़ों कॉलेज फ्रेशर्स को दिया गया है। [क्योंकि, मेरे अनुभव में, यह कहना कि एक बार यह पर्याप्त नहीं है, पिछले वाक्य को कम से कम दो बार दोहराया जाना चाहिए।]

दिज्क्स्त्र किस पाठ्यक्रम का उल्लेख कर रहा है, और क्या कोई अन्य साहित्य उपलब्ध है जो इस पर चर्चा करता है?

1988 में निबंध तब दिखाई दिया जब डेजकस्ट्रा ऑस्टिन में टेक्सास विश्वविद्यालय में था, जो संभवतः एक सुराग है - वे दिक्जस्ट्रा संग्रह की मेजबानी करते हैं, लेकिन यह बहुत बड़ा है, और मैं विशेष रूप से इस पाठ्यक्रम के बारे में दूसरों से सुनने में दिलचस्पी रखता हूं।

मैं इस बात पर चर्चा नहीं करना चाहता कि क्या दिज्कस्ट्रा का विचार यहाँ अच्छा है या वास्तविक है। मैंने इसे cstheory.se या cs.se पर पोस्ट करने पर विचार किया लेकिन यहाँ पर बसे क्योंकि a) शिक्षकों के समुदाय में किसी ऐसे व्यक्ति के होने की संभावना अधिक हो सकती है जो आसानी से उत्तर दे सकता है, और b) दिक्ज़स्त्र स्वयं इस बात पर जोर देते हैं कि उनका पाठ्यक्रम "मुख्य रूप से एक पाठ्यक्रम है" औपचारिक गणित। " यदि आप असहमत हैं तो प्रवास के लिए स्वतंत्र महसूस करें।


2
मुझे पूरा यकीन है कि दिज्क्स्ट्रा एक विशेष शैली की आलोचना कर रहा है कि कैसे गणित पढ़ाया गया है (एक जो सब कुछ, बॉर्बकी-शैली, स्वयंसिद्धों से बनाता है) और यह व्यंग्य के रूप में अभिप्रेत है । हालाँकि, मेरे पास इस बात का कोई सबूत नहीं है कि (जवाब के बजाय टिप्पणी पर ध्यान दें)।

योग्य "हम यह देखते हैं कि विचाराधीन प्रोग्रामिंग भाषा को परिसर में लागू नहीं किया गया है ताकि छात्रों को इन कार्यक्रमों का परीक्षण करने के प्रलोभन से बचाया जा सके।" ऐसा लगता है कि वह एक ऐसे वर्ग का जिक्र कर रहा है जिसे उसने स्वयं पढ़ाया / अवधारणा बनाया है? "कंप्यूटर के बिना सीएस को पढ़ाने"
vzn

4
@ लूपस्पेस मुझे नहीं लगता कि दिक्जस्त्र मजबूत राय के लिए कुख्यात है, और वह निश्चित रूप से सीएस के गणित पक्ष पर था।
राफेल

1
क्या आपने अपने द्वारा दिए गए पाठ्यक्रमों की जाँच की है? इस तरह एक अनिर्दिष्ट संदर्भ शायद अपने स्वयं के अनुभव की ओर इशारा करता है।
राफेल

4
यह स्पष्ट रूप से व्यंग्य नहीं है। दिज्क्स्ट्रा सामान्य रूप से यहाँ उद्धृत विचारों में से एक प्रस्तावक / अधिवक्ता था। btw डुप्लिकेट
vzn

जवाबों:


18

यह काफी हद तक टीयू आइंडहोवन के कम्प्यूटिंग विज्ञान की शिक्षा है, जिसे डिज्स्ट्रा और सहकर्मियों द्वारा डिजाइन और कार्यान्वित किया गया था, यह 1980 के आसपास शुरू होने के समय से था, जब तक कि डिक्स्ट्रा के प्रभाव को कम करना शुरू नहीं हुआ, 1990 के दशक के दौरान कहीं न कहीं आधे रास्ते में।

मैंने 1982 में Nijmegen University में CS की पढ़ाई शुरू की; एक सहपाठी ने टीयू आइंडहोवन में ऐसा ही किया। प्रत्येक वसंत में, हमारे पुराने माध्यमिक विद्यालय में एक दिन होता है, जिस दिन पूर्व छात्र अपने चुने हुए क्षेत्र को वर्तमान छात्रों से मिलवाते हैं, और हम दोनों सीएस का परिचय देने के लिए वहाँ थे, इसलिए हमने अपने अनुभवों की तुलना की। वे बहुत अलग थे। Nijmegen में, हमने वास्तविक प्रोग्रामिंग भाषाओं के साथ वास्तविक अनुभव प्राप्त किया, वास्तव में एक वास्तविक कंप्यूटर (वीएम / सीएमएस वर्चुअल मशीन, सटीक होने के लिए) पर हमारे असाइनमेंट प्रोग्राम चला रहे थे। आइंडहोवन में ऐसा नहीं है। मेरे पूर्व सहपाठी ने मुझे बताया कि उन्हें पहले वर्ष में एक कंप्यूटर को छूने की अनुमति नहीं थी। आइंडहॉवन में प्रोग्रामिंग का अर्थ है गणितीय रूप से समस्याग्रस्त परिभाषाओं से गणितीय रूप से सही एल्गोरिदम का निर्माण करना सीखना। कागजों पर।

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

मामले में आप सोच रहे हैं: टीयू आइंडहोवन में आज की कंप्यूटर विज्ञान शिक्षा बहुत अलग है।


महान जवाब, मैं इस सवाल के लिए लगभग उम्मीद खो दिया है, लेकिन लगता है जैसे आप इसे मिल गया है। किसी भी विचार जहाँ मैं TU Eindhoven 80s CS कोर्स के बारे में अधिक जानकारी पा सकता हूँ, जिसका आप उल्लेख कर रहे हैं?
मैथ्यू टावर्स

निश्चित नहीं। मुझे यकीन नहीं है कि मेरा जवाब सबसे अच्छा है, या तो - मैं उस समय नहीं था।
reinierpost 1

1
मेरे पास प्रोग्रामरन 1 एन 2 सिलेबस की एक प्रति है , जो कि अगस्त 1982 की है, जो दिज्क्स्ट्रा की लिखावट से ज़ेरॉक्स किया गया है। टीयू आइंडहोवन पुस्तकालय में एक स्कैन ऑनलाइन है। 1984 में डेज्क्स्ट्रा और फीजेन ने इसे एक पुस्तक के रूप में विकसित किया, 1988 में अंग्रेजी में जारी किया गया: ए मेथड ऑफ प्रोग्रामिंग
रीइन्टीपायरपोस्ट

क्या आपके पास ऑनलाइन संस्करण, @reinierpost का लिंक है?
adrianN


2

"एग्सर प्रोग्रामिंग के एक विधि डब्ल्यू। डीजस्ट्रा, डब्ल्यूएचजे फीजेन, जोक स्टर्लिंग" पर एक नज़र डालें। इसमें उद्धरणों में विकसित सामग्री शामिल है। एक रमणीय पाठ।


क्या यह साहित्य एक कोर्स की सामग्री पर चर्चा करता है जैसे कि दिक्जस्त्र द्वारा सुझाया गया है? यदि हां, तो कृपया आपके द्वारा प्रदान किए गए स्रोत का सारांश / परिचय प्रदान करें। यदि नहीं, तो क्या आप सुनिश्चित हैं कि यह प्रश्न का उत्तर देता है?
असतत छिपकली

@Discretelizard: यह कोर्स है।
यवेस डाएव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.