दिक्जस्त्र, अपने निबंध में वास्तव में शिक्षण विज्ञान की क्रूरता पर , एक परिचयात्मक प्रोग्रामिंग प्रोग्रामिंग के लिए निम्नलिखित प्रस्ताव बनाता है:
एक तरफ, हम सिखाते हैं कि विधेय पथरी की तरह क्या दिखता है, लेकिन हम इसे दार्शनिकों से बहुत अलग तरीके से करते हैं। अविवेकी सूत्रों के हेरफेर में नौसिखिया प्रोग्रामर को प्रशिक्षित करने के लिए, हम इसे बूलियन बीजगणित के रूप में अधिक पढ़ाते हैं, छात्र को तार्किक संयोजकों के सभी बीजीय गुणों के साथ परिचित करते हैं। अंतर्ज्ञान के लिंक को और अधिक गंभीर बनाने के लिए, हम बूलियन डोमेन के {true, false} मूल्यों का नाम बदलकर {black, white} कर देते हैं।
दूसरी ओर, हम एक सरल, स्वच्छ, अनिवार्य प्रोग्रामिंग भाषा सिखाते हैं, जिसमें स्किप और एक मूल असाइनमेंट के साथ कई असाइनमेंट होते हैं, स्थानीय चर के लिए एक ब्लॉक संरचना के साथ, स्टेटमेंट कंपोजीशन के लिए ऑपरेटर के रूप में अर्धविराम, एक अच्छा वैकल्पिक निर्माण, एक अच्छा पुनरावृत्ति और, यदि वांछित है, तो एक प्रक्रिया कॉल। इसमें हम न्यूनतम डेटा प्रकार जोड़ते हैं, बूलियन, पूर्णांक, वर्ण और तार कहते हैं। आवश्यक बात यह है कि, हम जो भी परिचय देते हैं, उसके लिए संबंधित शब्दार्थ को प्रमाण नियमों द्वारा परिभाषित किया जाता है जो इसके साथ चलते हैं।
शुरुआत से ही, और सभी के माध्यम से, हम इस बात पर जोर देते हैं कि प्रोग्रामर का कार्य केवल एक प्रोग्राम लिखना नहीं है, बल्कि यह है कि उसका मुख्य कार्य एक औपचारिक प्रमाण देना है कि वह जिस कार्यक्रम का प्रस्ताव करता है वह समान औपचारिक कार्यात्मक विनिर्देश को पूरा करता है। प्रमाण और कार्यक्रमों को हाथ से डिजाइन करते समय, छात्र को विधेय गणना के साथ अपनी जोड़ तोड़ की क्षमता को पूर्ण करने का पर्याप्त अवसर मिलता है। अंत में, घर पर संदेश भेजने के लिए कि यह परिचयात्मक प्रोग्रामिंग पाठ्यक्रम मुख्य रूप से औपचारिक गणित का एक कोर्स है, हम देखते हैं कि प्रश्न पर प्रोग्रामिंग भाषा को परिसर में लागू नहीं किया गया है ताकि छात्रों को अपने कार्यक्रमों का परीक्षण करने के लिए प्रलोभन से बचाया जा सके। ।
उन्होंने जोर दिया कि यह एक गंभीर प्रस्ताव है, और विभिन्न संभावित आपत्तियों की रूपरेखा तैयार करता है, जिसमें यह भी शामिल है कि उनका विचार "पूरी तरह से अवास्तविक" है और "बहुत कठिन है।"
लेकिन यह कि पतंग उड़ नहीं पाएगी या तो डाक के लिए गलत साबित हो गई है: 80 के दशक की शुरुआत से, इस तरह के परिचयात्मक प्रोग्रामिंग पाठ्यक्रम को सफलतापूर्वक हर साल सैकड़ों कॉलेज फ्रेशर्स को दिया गया है। [क्योंकि, मेरे अनुभव में, यह कहना कि एक बार यह पर्याप्त नहीं है, पिछले वाक्य को कम से कम दो बार दोहराया जाना चाहिए।]
दिज्क्स्त्र किस पाठ्यक्रम का उल्लेख कर रहा है, और क्या कोई अन्य साहित्य उपलब्ध है जो इस पर चर्चा करता है?
1988 में निबंध तब दिखाई दिया जब डेजकस्ट्रा ऑस्टिन में टेक्सास विश्वविद्यालय में था, जो संभवतः एक सुराग है - वे दिक्जस्ट्रा संग्रह की मेजबानी करते हैं, लेकिन यह बहुत बड़ा है, और मैं विशेष रूप से इस पाठ्यक्रम के बारे में दूसरों से सुनने में दिलचस्पी रखता हूं।
मैं इस बात पर चर्चा नहीं करना चाहता कि क्या दिज्कस्ट्रा का विचार यहाँ अच्छा है या वास्तविक है। मैंने इसे cstheory.se या cs.se पर पोस्ट करने पर विचार किया लेकिन यहाँ पर बसे क्योंकि a) शिक्षकों के समुदाय में किसी ऐसे व्यक्ति के होने की संभावना अधिक हो सकती है जो आसानी से उत्तर दे सकता है, और b) दिक्ज़स्त्र स्वयं इस बात पर जोर देते हैं कि उनका पाठ्यक्रम "मुख्य रूप से एक पाठ्यक्रम है" औपचारिक गणित। " यदि आप असहमत हैं तो प्रवास के लिए स्वतंत्र महसूस करें।