क्या "हर कोई एक प्रोग्रामर नहीं हो सकता है" का अध्ययन किया गया है?


182

एक पुरानी कहावत है कि कई प्रोग्रामर छड़ी है "यह प्रोग्रामिंग सीखने के लिए एक निश्चित प्रकार का दिमाग लेता है, और हर कोई ऐसा नहीं कर सकता है।"

अब मुझे यकीन है कि हम सभी के पास अपने स्वयं के प्रमाणों की प्रतिमा है, लेकिन क्या यह वैज्ञानिक रूप से अध्ययन किया गया है?


63
एक अच्छा संदेह सवाल की तरह लगता है।
चाड हैरिसन

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

9
@zxcdw - मैं वास्तव में सवाल नहीं कर रहा हूं "हर कोई एक अच्छा / मूल्यवान प्रोग्रामर नहीं हो सकता है"। यह एक दिया गया है क्योंकि "हर कोई एक अच्छा / मूल्यवान एक्स नहीं हो सकता है" एक वोकेशन के रूप में एक्स के लगभग किसी भी मूल्य के लिए एक सार्वभौमिक सत्य है। जो मैं सवाल कर रहा हूं वह प्रोग्रामिंग सीखने और आम व्यक्ति के लिए इसके चारों ओर अपना सिर लपेटने की क्षमता है ।
सिस्टम डाउन

37
कहावत हर दिन प्रोग्रामर्स पर सच साबित होती है <sigh>
yannis

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

जवाबों:


87

एक अन्य अध्ययन, नौसिखिए प्रोग्रामर द्वारा आयोजित मानसिक मॉडल की व्यवहार्यता की जांच :

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

इसके अलावा, भेड़ बनाम बकरियों के अध्ययन के उन्हीं लेखकों से बाद के शोध देखें (जो वास्तव में कभी प्रकाशित नहीं हुए थे, स्पष्ट होने के लिए)। 2009 से इस विषय पर उनका अंतिम और सबसे हालिया अध्ययन प्रोग्रामिंग (पीडीएफ) की प्रारंभिक शिक्षा में सफलता पर स्थिरता के प्रभाव का मेटा-विश्लेषण है

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


24
"... प्रथम वर्ष जावा प्रोग्रामिंग कोर्स ..." <- मुझे आपकी समस्या मिली।
जॉन गैलवे

4
बोर्नैट, मूल पत्र को वापस लेने से परे, 2009 के परिणाम को पुन: प्रस्तुत करने के प्रयासों की चर्चा करता है-मुझे, वे उत्साहजनक नहीं लगते हैं: eis.mdx.ac.uk/staffpages/r_bornat/papers/…
Blororblade

6
जैसा कि ऊपर बताया गया है, इस पर मूल पेपर वापस लिया गया था: retractionwatch.com/2014/07/18/…
Spongeboy

92

हां, कम या ज्यादा निर्धारित करने के लिए डिज़ाइन किया गया एक बहुत ही प्रसिद्ध पेपर है "जो प्रोग्रामर बनने के लिए कट जाता है।"

प्रोग्रामिंग की प्रारंभिक शिक्षा का एक संज्ञानात्मक अध्ययन - प्रोफेसर रिचर्ड बोर्नैट, डॉ। रे एडम्स

प्रोग्रामिंग के सभी शिक्षक पाते हैं कि उनके परिणाम एक 'डबल कूबड़' प्रदर्शित करते हैं। यह ऐसा है जैसे दो आबादी हैं: जो [कार्यक्रम] कर सकते हैं, और जो लोग [कार्यक्रम] नहीं कर सकते हैं, प्रत्येक के पास अपना स्वयं का स्वतंत्र वक्र है।

प्रोग्रामिंग शिक्षण और सीखने में लगभग सभी शोधों ने शिक्षण पर ध्यान केंद्रित किया है: भाषा बदलें, आवेदन क्षेत्र बदलें, आईडीई का उपयोग करें और प्रेरणा पर काम करें। इसमें से कोई भी काम नहीं करता है, और दोहरी कूबड़ बनी रहती है।

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


यहाँ जेफ एटवुड द्वारा एक ब्लॉग पोस्ट है जो परिणामों की व्याख्या करता है और कुछ चीजों को संदर्भ में रखता है।

1950 के दशक में इलेक्ट्रॉनिक कंप्यूटिंग का आविष्कार होने के बाद से जो भारी बदलाव हुए हैं, उसके बावजूद कुछ चीजें ज़िद पर टिकी हुई हैं। विशेष रूप से, ज्यादातर लोग प्रोग्राम करना नहीं सीख सकते हैं: 30% और 60% के बीच हर विश्वविद्यालय के कंप्यूटर विज्ञान विभाग का सेवन पहला प्रोग्रामिंग कोर्स विफल हो जाता है।

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


46
निष्पक्ष होना - उस अध्ययन से साबित होता है कि 30-60% स्कूलों के सेवन से किसी काम को करने की जहमत नहीं उठाई जा सकती। यह सभी विषयों और हर समय सच रहा है!
मार्टिन बेकेट

15
यह एक बहुत ही दिलचस्प पेपर है, और यह इस विचार का समर्थन करता है कि हर कोई प्रोग्राम के लिए कट आउट नहीं है। दुर्भाग्य से लेखकों के बाद के काम (लिंक किए गए पृष्ठ पर भी) से पता चलता है कि उनका परीक्षण शुरू में किए गए विचारों की तुलना में कम अनुमानित है। "हम प्रोग्रामिंग बकरियों को गैर-प्रोग्रामिंग भेड़ से अलग करने का दावा नहीं कर सकते हैं ... यह दुर्भाग्यपूर्ण है कि परिणाम प्रारंभिक वादे पर खरा नहीं उतरता है, लेकिन इसने हमारे अन्वेषणों के द्वार को काफी बंद नहीं किया है।"
एएसपीली

26
यह स्पष्ट करने के लिए कि 2006 से पहला पेपर केवल एक मसौदा था और कभी प्रकाशित नहीं हुआ था। तो यह बिल्कुल वैज्ञानिक रूप से समीक्षा नहीं है। शायद लेखक के पृष्ठ पर बाद के अध्ययनों को देखने के लिए बेहतर है ।
जेफ एटवुड

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

5
प्रो। बोर्नट ने बाद में स्वेच्छा से उस मसौदे को वापस लेने की जहमत उठाई, क्योंकि वह उस समय मानसिक स्वास्थ्य के मुद्दे थे। eis.mdx.ac.uk/staffpages/r_bornat/papers/… इसके अलावा, सेक का मेरा पढ़ना। 3 यह है कि अन्य लोग परिणाम को दोहराने में विफल रहे हैं - जैसा कि वे कहते हैं, यहां तक ​​कि 2009 का मेटाएनालिसिस निष्कर्ष "सांस्कृतिक वातावरण और शैक्षिक प्रथाओं से कम से कम प्रभावित होता है "। कुल मिलाकर, मेरा सबसे अच्छा अनुमान है कि पाठ्यक्रम खराब था, जो "प्रोग्रामिंग को प्रभावी ढंग से कैसे पढ़ाया जाए" के बाद से आश्चर्यजनक नहीं है, एक शोध समस्या है।
ब्लिसॉर्बलेड

33

कोई भी एक प्रोग्रामर हो सकता है। गौर कीजिए कि लोग कितनी आसानी से स्प्रैडशीट पकड़ लेते हैं। इस बात पर विचार करें कि प्रोग्राम के वातावरण में प्रयोग और अन्वेषण के माध्यम से एलन के द्वारा बच्चों को प्रोग्रामिंग से कैसे परिचित कराया जाए।

लोग कॉलेज स्तर के पाठ्यक्रमों में सफलता का अध्ययन कर सकते हैं और निष्कर्ष निकाल सकते हैं "कुछ लोग प्रोग्रामिंग सीखने के लिए फिट नहीं हैं"। हालांकि, इस तरह के निष्कर्ष मनाया सबूतों की सीमा को गंभीर रूप से समाप्त कर देते हैं। इसके बजाय विफलता को कैसे जिम्मेदार ठहराया जा सकता है कि प्रोग्रामिंग कैसे सिखाई जाती है (बहुत सार?), या प्रोग्रामिंग की कौन सी शैली सिखाई जाती है (बहुत जरूरी?), या प्रोग्रामिंग वातावरण (संकलन, तत्काल प्रतिक्रिया नहीं?)।

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

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


7
मुझे लगता है कि किसी के बारे में बस अल्पविकसित कोडिंग सीख सकते हैं जैसे वे बुनियादी संगीत सीख सकते हैं। हालाँकि, इससे जीवन बनाना अलग बात है। उदाहरण के लिए, मुझे गिटार बजाना बहुत पसंद है, लेकिन मैं मल्टी-सिटी स्टेडियम के दौरे पर नहीं जा रहा हूं या जल्द ही किसी बड़े स्टूडियो में दिखाई दूंगा।
jfrankcarr

4
सर्ग के उत्तर से जुड़े पेपर को देखें। यहां तक ​​कि अगर यह शुरू में स्पष्ट नहीं है जैसा कि उन्होंने शुरू में सोचा था, सच्चाई यह है कि कुछ लोग सिर्फ एक या दो कक्षाओं के बाद भी सबसे बुनियादी प्रोग्रामिंग अवधारणाओं के आसपास अपना सिर नहीं लपेट सकते हैं, उदाहरण के लिए: x = 1; y = x;और सवाल यह है कि " का उद्देश्य क्या हैं xऔर y? "
इज़काता

3
नमस्ते और आपका स्वागत है! आप शायद यह नहीं जानते, क्योंकि आप बहुत नए हैं, लेकिन हम वास्तव में खुले अंत और / या चर्चा-वाई सवालों को पसंद नहीं करते हैं। मैंने Is it true that not everyone can learn how to program?प्रश्न से रेखा को हटा दिया है , हमारे अधिक अनुभवी सदस्यों ने इसे अनदेखा कर दिया, यह महसूस करते हुए कि यह हमारे दिशानिर्देशों के अनुकूल नहीं है, और प्रश्न के अनुसंधान / वैज्ञानिक पहलुओं पर अपने उत्तर केंद्रित किए। क्या आप कृपया ऐसा ही कर सकते हैं?
यनीस

3
@jfrankcarr - पेशेवर या प्रतिस्पर्धी स्तर पर कोई भी कौशल, कई चिकित्सकों को पीछे छोड़ देगा। अधिकांश लोग व्यावसायिक रूप से भी प्राकृतिक भाषा नहीं बोल या लिख ​​सकते हैं।
dmbarbour

3
@ इज़काता - जुड़ा हुआ सर्ज पेपर संदिग्ध वैज्ञानिक मूल्य का है; इसी तरह के परिणाम किसी भी खराब पढ़ाए गए वर्ग से प्राप्त किए जाएंगे: जो लोग पहले से ही विषय को अच्छी तरह से समझते हैं, उन्होंने अच्छा किया। और आपके उदाहरण के सवाल के बारे में: अधिक सामान्य प्रश्न ऐसे थे जो अनिवार्य शब्दार्थ ग्रहण करते थे, जो निश्चित रूप से सहज नहीं हैं। क्या आप अपने स्वयं के प्रश्न का उत्तर भी दे सकते हैं यदि आप संगामिति की अनुपस्थिति को स्वीकार नहीं कर सकते हैं?
dmbarbour

19

शायद यह किस्सा है, लेकिन जब मैंने कुछ सौ उदार कला के छात्रों को इंट्रो प्रोग्रामिंग सिखाई, तो मुझे ऐसा कोई "दोहरा अपमान" नहीं मिला। ऐसा लगता है कि वे सभी काफी सक्षम थे, हालांकि कुछ ने दूसरों की तुलना में कड़ी मेहनत की, और बहुत कम लोगों ने अपने तरीके से खिलवाड़ करने की कोशिश की।

बहुत कुछ करना है कि यह कैसे सिखाया जाता है।

बहुत कुछ इच्छा के साथ भी करना पड़ता है - कुछ प्रोग्रामिंग को कम से कम दिलचस्प नहीं पाते हैं। लेकिन फिर भी, अगर वे इसे एक ईमानदार प्रयास देते हैं, तो वे इसे सीख सकते हैं।


5
मुझे अक्सर आश्चर्य होता है कि इच्छा कहाँ से खेलती है, हम सभी जानते हैं कि पूरी तरह से निर्बाध प्रोग्रामिंग सामान्य आबादी के विशाल बहुमत के लिए है, मुझे आश्चर्य होता है कि कितने लोग पैसे के लिए सीएस जाने की कोशिश करते हैं, लेकिन औसत व्यक्तियों के पास रास्ते में ब्याज की पूरी कमी है कंप्यूटर काम करता है।
जिमी होफा

6
@ जिमी: मैंने उन्हें खेल, विज्ञान, वित्त, संगीत, जो भी उनसे अपील की, के बारे में व्यक्तिगत परियोजनाओं पर जाकर इसे दिलचस्प बनाने की कोशिश की। जब यह एक अंत का साधन है, तो प्रोग्रामिंग बहुत अधिक दिलचस्प है।
माइक डनलैवी

2
@En: ठीक है, उन्हें होमवर्क के लिए छोटे-छोटे कार्यक्रम करने पड़ते थे, उनके पास क्विज़ और टेस्ट होते थे, और उनमें से प्रत्येक को एक महत्वपूर्ण व्यक्तिगत प्रोग्रामिंग प्रोजेक्ट करना पड़ता था, जिसमें से सभी को मैंने वर्गीकृत किया था। कोर्स की आवश्यकता थी।
माइक डनलैवी

1
@MikeDunlavey छात्रों के पास हमेशा ऐसे दोस्त होते हैं जो प्रोग्राम कर सकते हैं और होमवर्क आसानी से धोखा दे सकते हैं।
सुल्तान

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

7

जब मैंने शुरू किया, तो प्रोग्रामिंग की नौकरी पाने से पहले "एप्टीट्यूड टेस्ट" बैठना आम बात थी। बहुत सारे कंप्यूटर विज्ञान स्नातक नहीं थे, इसलिए अन्य विषयों से भर्ती करना आम था।

परीक्षण बुद्धि परीक्षण पर जो आप देखते हैं, उसके समान थे (अनुक्रम में अगला नंबर क्या है, आदि)।

वास्तविक प्रमाण यह था कि जब परीक्षा पास करने वाले हर कोई एक अच्छा प्रोग्रामर नहीं बन जाता था, तब कोई भी ऐसा नहीं था जो टेस्ट में फेल हो गया था लेकिन अन्य कारणों से कभी भी अच्छा प्रोग्रामर नहीं बन पाया।

अफसोस की बात है कि एचआर ड्रोन इन परीक्षणों को समझ नहीं पाए (और जब वे उन्हें ले गए तो असफल हो गए!), इसलिए इन दिनों भर्ती उन चीजों पर निर्भर करती है जो एचआर ड्रोन समझती हैं - अच्छा कॉलेज, संचार और सूट पहनने का कौशल।

यह बहुत अधिक कारण है कि बड़े आईटी विभागों में बहुत सारे लोग हैं जो PowerPoint शो में बहुत अच्छे हैं और बहुत कम प्रोग्रामर हैं।


1
+ मैं बहुत शुक्रगुज़ार हूं कि मुझे कभी भी (लगभग) एचआर से नहीं गुजरना पड़ा।
माइक डनलैवी

4

देहनादी और बोर्नट के दोहरे कूबड़ या बकरियों-बनाम-भेड़ के अध्ययन का हवाला देते हुए, कैस्परसेन एट अल (2007) द्वारा मानसिक मॉडल और प्रोग्रामिंग एप्टीट्यूड की जांच करना सार्थक है , जिसमें वे इसे दोहराने का प्रयास करते हैं:

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

हमने अपने निष्कर्षों को सत्यापित करने और संभवतः सामान्य बनाने के लिए हमारे स्थानीय संदर्भ में उनके परीक्षण को दोहराया है, लेकिन हम यह नहीं दिखा सके कि परीक्षण हमारे परिचयात्मक प्रोग्राम-मिंग पाठ्यक्रम में छात्रों की सफलता की भविष्यवाणी करता है।

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


4

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

पहली तरह: प्रोग्रामिंग भाषाएं हैं (या होनी चाहिए) किसी प्रकार की मानव भाषा को कंप्यूटर को निष्पादित करने के लिए एक कार्य का वर्णन करने के लिए बनाया गया है, इसलिए हर कोई जो बातचीत करता है वह प्रोग्राम करने में सक्षम होना चाहिए। इसे स्क्रिप्टिंग, BASIC, टाइपिंग सिस्टम TeX इत्यादि कहा जाता है । भाषा या सिस्टम कोई फर्क नहीं पड़ता, यह उनके रचनाकारों और लोगों ने जिस तरह से देखा है: "प्रिय प्रोग्राम / कंप्यूटर, कृपया मेरा नाम प्रिंट करें" , बजाय "मुझे ग्यारह वर्णों का आकार प्राप्त करने के लिए स्थान दें, फिर मुझे इस स्थान का पता दें, फिर मुझे इसे संग्रहीत करने दें, फिर इस स्मृति में ग्यारह वर्ण दर्ज करें, जिसे आप मेरे कीबोर्ड बफर से निकाल सकते हैं (लेकिन इसे साफ करना न भूलें , आदि।"

इस मामले में यह स्पष्ट है कि अध्ययन बल्कि "हर भाषा को जल्दी से आत्मसात नहीं किया जा सकता है?"।

दूसरी ओर, प्रोग्रामिंग भाषाएं केवल यह वर्णन करने का एक तरीका है कि कंप्यूटर कैसे काम करता है या इसे कैसे काम करना चाहिए, यह 1950 के कंप्यूटरों के बारे में सोचने पर कैसे 'जुड़ा' होना चाहिए। इसलिए प्रोग्रामर कुछ भी नहीं कर सकता है, भले ही वह प्रोग्रामिंग भाषा को पूरी तरह से बोलता हो, अगर उसकी बुद्धि इस अमूर्त स्तर तक नहीं पहुंच पाती है, जहां आप बाइट्स को मेमोरी में संग्रहीत मधुमक्खी, बिंदुओं के रूप में तार, आदि और फिर देखते हैं। इसे समस्या से जोड़ने के लिए धरती पर वापस जाएं। इसलिए हर इंसान प्रोग्राम नहीं कर सकता (विधानसभा भाषा में ...)।

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

लेकिन अधिकांश मनुष्यों में अच्छी अमूर्तता क्षमता होती है, खासकर बच्चे। कुछ जर्मन स्कूल हस्सेल को पूर्व- किशोरियों को सिखा रहे हैं ( पास्कल या डेल्फी जैसी प्रोग्रामिंग भाषाएं हर दूसरे स्कूल में सिखाई जाती हैं)।

इसलिए मैं कहूंगा कि प्रश्न का उत्तर देना बहुत कठिन है, और कोई भी उत्तर (या अध्ययन) अप्रासंगिक होने की संभावना है।

आपको एक बहुत ही संक्षिप्त विश्लेषण मिलेगा कि कैसे लोग पीटर नॉरविग द्वारा दस वर्षों में अपने आप को सिखाए गए लेख में प्रोग्रामिंग सीखते हैं । उसे लगता है कि कोई जन्म लेने वाला प्रोग्रामर नहीं है।


3
नमस्ते और आपका स्वागत है! मैं थोड़ा उलझन में हूँ कि आपका उत्तर कैसे प्रश्न का उत्तर देता है, जो वास्तव में इस बारे में है कि क्या इसका अध्ययन किया गया है या नहीं ...
yannis

माफ करना, मैं "भेजें" बटन के साथ गड़बड़ कर दिया ... मुझे आशा है कि यह अधिक समझ में आता है
यवस

आप सही रास्ते पर हैं, लेकिन आप प्रोग्रामिंग भाषाओं को हार्डवेयर (कंप्यूटर) से कसकर बांध देते हैं। प्रोग्रामिंग विशेष रूप से कंप्यूटर से बात करने की क्षमता नहीं है। प्रोग्रामिंग एक प्रक्रिया को सुसंगत तरीके से वर्णन करने के बारे में है। अन्य मानव के लिए एक प्रक्रिया का वर्णन करना उच्च स्तरीय प्रोग्रामिंग भाषा में इसे कोड करने के समान है। सबसे बड़ा अंतर यह है कि इंसान अस्पष्टता के प्रति अधिक सहिष्णु हैं।
सम्राट ओरियोनी

मैं इस दृष्टिकोण का बचाव नहीं करता हूं, लेकिन इस तथ्य को इंगित करने की कोशिश की कि लोग प्रोग्रामिंग भाषाएं देखते हैं और उपयोग जो उन्हें या तो कार्य विवरण के रूप में किया जाना चाहिए (जो उच्च स्तरीय प्रोग्रामिंग और स्क्रिप्टिंग के लिए महत्वपूर्ण है), या "कंप्यूटर प्रक्रिया" विवरण के रूप में (उदाहरण के लिए निम्न-स्तरीय भाषाएं VHD.NET की तुलना में VHDL मॉडलिंग भाषा के करीब लगती हैं, भले ही वे प्रोग्रामिंग भाषाएं हों)। ये 2 दृष्टिकोण बहुत अलग हैं और एक ही सिक्के के 2 पक्ष हैं। वे मानव बुद्धि के विभिन्न पहलुओं पर जोर देते हैं, जो कि निर्धारित करना मुश्किल है। इसलिए उनका अध्ययन करना कठिन है।
यवस

3

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

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


मैं ऐसे कई लोगों को देखता हूं जो एक पट्टा पर एक कुत्ते का सही नेतृत्व नहीं करते हैं। मैं अपने कुत्तों को बिना पट्टे के चलने में सक्षम था, यहां तक ​​कि शहर में भी। मैं हमेशा सोचता था कि लोग कुत्ते का दिमाग क्यों नहीं बनाते।

2

मुझे यकीन नहीं है कि यह सिर्फ प्रोग्रामिंग है। मैंने एक ही तरह की घटना को देखा कि लोग केवल कंप्यूटर का उपयोग करना सीख रहे हैं। कॉलेज में वापस मैं एक प्रयोगशाला में एक प्रयोगशाला सहायक था जो वरिष्ठ नागरिकों के लिए कंप्यूटर साक्षरता की मेजबानी करता था।

दो हफ्तों के भीतर मैं उन लोगों की पहचान कर सकता था जो इसे प्राप्त करेंगे और जो मूल रूप से 100% सटीकता के साथ नहीं होंगे। आपने या तो स्वीकार कर लिया कि यह कंप्यूटर का काम करने का तरीका है या आपने पूरी कक्षा के लिए इसके खिलाफ अपना सिर पीटा है। बीच का कोई मैदान नहीं था। (तथ्य यह है कि यह एक वरिष्ठ वर्ग का मतलब था कि हमारे पास बहुत सारे सिर पीटने वाले लोग थे, जिससे पैटर्न बहुत अधिक स्पष्ट हो गया था)।

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