एक पेशेवर प्रोग्रामर के लिए कंप्यूटर विज्ञान की डिग्री क्यों मायने रखती है? [बन्द है]


63

मेरे पास कंप्यूटर साइंस की डिग्री है। यह दरवाजे खोलने, नौकरी पाने के लिए बहुत अच्छा रहा है। जहाँ तक मुझे C # .NET प्रोग्रामिंग के पेशेवर क्षेत्र में मदद करने (क्षेत्र में सबसे लोकप्रिय प्लेटफ़ॉर्म और भाषा पर काम करता है अगर पूरी दुनिया में सबसे लोकप्रिय ओएस नीचे हाथ पर नहीं है, तो) शायद ही उपयोगी है। आपको क्यों लगता है कि यह आपके पेशेवर करियर में एक प्रोग्रामर के रूप में आपकी मदद करता है (कुछ साक्षात्कारकर्ता को प्रभावित करने के लिए प्रिज़्म एल्गोरिथ्म की ओर इशारा करते हुए)?

आज के विश्व अनुकूलन में, एक त्वरित दिमाग, मजबूत संचार, ओओ और मौलिक डिजाइन कौशल एक डेवलपर को सॉफ्टवेयर लिखने में सक्षम बनाता है जिसे एक ग्राहक स्वीकार करेगा। ये कौशल केवल सीएस कार्यक्रम में स्किम्ड हैं। मेरे मन में, Wrox द्वारा 500 पृष्ठ C # पुस्तक को पढ़ने के लिए COMP के गणित गणित रेखापुंज पाठ्यक्रमों के 4 वर्षों की तुलना में अधिक उपयोगी एक कौशल प्रदान करता है। कई असहमत हैं। तो, कंप्यूटर विज्ञान की डिग्री क्यों मायने रखती है?


59
"कंप्यूटर विज्ञान टेलीस्कोप के बारे में खगोल विज्ञान की तुलना में कंप्यूटर के बारे में अधिक नहीं है।" - एद्गर डिक्स्ट्रा
एरिक लिपर्ट

4
संस्मरण पर्याप्त नहीं है। Reg Ex का उपयोग कैसे करना है और इसे कब उपयोग करना है, यह जानने के लिए अनुभव का ज्ञान लेना आवश्यक है। मैं शिक्षा के हिस्से के रूप में किताबें पढ़ना शामिल करूंगा। नौकरी से संबंधित अनुभव शायद ही कभी आपको चीजों को सही तरीके से करने के लिए प्रोत्साहित करता है।
ज़ाचरी स्कॉट

10
यह तब मायने रखता है जब आपके पास एक नहीं है
आदित्य पी

2
मेरे पास 2.8 भी था, सुंदर औसत। लेकिन हमें ज्यादातर C / Java और कुछ वेब चीजें, No C # सामान सिखाया जाता था। वैसे भी मुझे लगता है कि सीएस "अगली सबसे अच्छी बात" है, क्योंकि सीएस 4 साल के कार्यक्रम बिल्कुल आसान नहीं हैं और यह दर्शाता है कि आप डिग्री प्राप्त करने के लिए कड़ी मेहनत कर सकते हैं। वैसे भी इससे कोई फर्क क्यों पड़ता है? यह तुम्हें काम हो जाता है!

1
@ luis.espinal मैं उन आँकड़ों पर सवाल उठाता हूं। मुझे संदेह है कि सभी कोड का 70% सी में है (सभी मूक फोरट्रान, कोबोल, पीएल 1 के बारे में सोचें, और रेक्स खुशी से टिक कर रहे हैं)। एक बहुलता, निश्चित रूप से, लेकिन एक विशाल बहुमत, मुझे संदेह है। बहुत सारे एम्बेडेड डिवाइस हैं, लेकिन एम्बेडेड डिवाइस की संख्या मूल स्रोत के बारे में कुछ नहीं कहती है। एक बार जब यह पहले विशिष्ट उपकरण के लिए लिखा जाता है, तो आमतौर पर उसी के सभी बाद के उपकरणों के लिए अच्छा होता है; और संभवतः, एक बहुत पास पुन: उपयोग के लिए उपयोग किया जाता है, चाहे बाद में संशोधन की एक ही पंक्ति में, या एक ही उत्पाद परिवार से एक अलग लाइन में।
जस्टिनसी

जवाबों:


133

कंप्यूटर विज्ञान की डिग्री क्यों:?

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

यह कहने के लिए नहीं है कि एक महान डेवलपर होने के लिए सीएस डिग्री आवश्यक है। मुश्किल से। मेरे साथ काम करने वाले कुछ बेहतरीन डेवलपर्स के पास कोई डिग्री नहीं है। एक डिग्री आपको एक चालू शुरुआत देती है। जब आप स्नातक होते हैं, तब तक आप (उम्मीद) कई प्रकार की समस्याओं को हल करने के लिए विभिन्न भाषाओं और परिवेशों में कोड की एक उचित मात्रा में लिखते हैं। यह आपको विशेषज्ञ होने के लिए आवश्यक 10,000 घंटों के लिए अपने रास्ते पर अच्छी तरह से रखता है ।

एक दूसरा लाभ यह है कि यह नियोक्ताओं को दिखाता है कि आप दीर्घकालिक लक्ष्य के लिए प्रतिबद्ध हैं और सफल हैं। कई कंपनियों में, मेरा मानना ​​है कि आपने जो सीखा है, उससे कहीं अधिक महत्वपूर्ण है।


4
+1 - इससे समझ में आता है। विशेषज्ञ मार्गदर्शन ने शायद मुझे उन तरीकों से मदद की है जिन्हें मैं नहीं पहचानता। मुझे अभी भी आश्चर्य है कि 4 साल की सामान्य शिक्षा उद्योग के अनुभव के 4 साल पूरे होने पर, दोनों डेवलपर्स को सीखने के लिए समान रूप से प्रेरित किया जाता है। अनुशासन का एक निश्चित स्तर है मुझे लगता है कि मेरे पास डिग्री से पहले नहीं था, जो निश्चित रूप से कुछ के लिए मायने रखता है।
पी। ब्रायन। मैके

4
उचित शब्दावली सीखना और उसी सामग्री को सीखने वाले अन्य लोगों के साथ बहुत समय बिताना भी ऐसे लाभ हैं जो कागज के उस महंगे टुकड़े के साथ जाते हैं।
साल

65
दूसरी ओर, मैंने ऐसे लोगों को डिग्री के साथ देखा है जो अभी भी इस सूची में से अधिकांश में असफल हैं :)
जोएल गौवेरु

1
जी वे शायद ग्राफ सिद्धांत के बारे में सुना है। यह क्लाइंट और सर्वर, नेटवर्क, DAG और पेड़ों में विभाजन को सरल बना सकता है।
टिम विलक्रॉफ्ट ने

3
@JustinC - आपके दावे "डिग्री धारक किसी भी कारण से उनका बचाव करते हैं क्योंकि उनके पास" उन बुनियादी कारणों में से एक है जो मैंने सवाल पूछा था। मैंने इस अंधे अतार्किक बचाव को पहले हाथ से देखा है। विपरीत भी सही है।
पी। ब्रायन। मैके

87

40 वर्षों में, मुझे उम्मीद है कि .NET और C # अप्रचलित ऑपरेटिंग सिस्टम पर विरासत कोड के एक गंभीर ढेर से ज्यादा कुछ नहीं है।

लेकिन मौलिक कंप्यूटर विज्ञान की अवधारणाएं उतनी ही जीवंत होंगी, जितनी कि शैनन, वॉन न्यूमैन, नूथ, डीजकस्ट्रा, होरे और अन्य ने 40 साल पहले औपचारिक तर्क और गणित के आधार पर खोदी थीं।


28
+1 - बहुत सही है, लेकिन 40 साल में मैं लानत नहीं देता।
पी। ब्रायन। मैके

3
@ P.Brian.Mackey: मेरा अनुमान है कि 10 वर्षों में C # सड़क से बाहर हो जाएगा, और 20 में, यह एक मेमोरी से अधिक होगा, और अब से 30 वर्षों में, इसे ग्रे-बाल पुराने कोड पुरातत्वविदों की आवश्यकता होगी । जो लोग दिए गए उपकरणों के सेट से खुद को बाँध लेते हैं वे खुद को मानते हैं। मुझे 1970 के दशक के अंत और 1980 के दशक की शुरुआत से सिस्टम सॉफ्टवेयर पर पुराने पेपर पढ़ने का सौभाग्य मिला है। उन सॉफ्टवेयर सिस्टम में से बहुत कम लोग आज के रडार में हैं। शायद 1 या 2 (यूनिक्स और लिस्प)। हालांकि आज का इंस्टॉलेशन बेस बड़ा है, लेकिन मैं ऐसी ही बात की उम्मीद करता हूं।
पॉल नाथन

4
@ P.Brian.Mackey कहो कि तुम क्या करोगे, लेकिन मेरी योजना है कि मैं अभी भी ४० वर्षों में और अभी से if० साल बाद भी इस मामले में कुछ कह पाऊंगा।
मैथ्यू शारले

2
@Paul नाथन: अपनी बात को आगे बढ़ाने के लिए, 1930 के दशक के प्रोग्रामिंग ओला के कुछ बुनियादी आधारों (जैसे, en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis )। मुझे आश्चर्य है कि क्या / अब हम 80 साल से कोड कैसे
लिखेंगे

3
@phooji (लोड "विरासत-सी-तेज-दिनचर्या" ...): पी
मार्क सी

37

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

मेरी डिग्री हासिल करना मेरे लिए बहुत मायने रखता था; यह खुद के लिए कई बार चुका चुका है, कई बार डॉलर और संतुष्टि दोनों में।

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


(*) मेरे पास वाटरलू से एप्लाइड मैथ और कंप्यूटर साइंस में बी.मैथ है।


4
मुझे याद है कि मेरे सीएस प्रोफेसरों में से एक ने कुछ इस आशय की बात कही थी कि आप में से केवल 2% को वास्तव में एक नौकरी मिलेगी जहाँ आपको नियमित रूप से कंप्यूटर विज्ञान के सिद्धांतों से निपटने के लिए मिलता है
लाल-गंदगी

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

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

1
जिस दिन सर्वश्रेष्ठ नौकरियों के लिए डिग्री की आवश्यकता नहीं होती है, वह दिन होता है, जब विश्वविद्यालयों के पास अपने कार्यक्रमों का समर्थन करने के लिए छात्र नहीं होते हैं।
पी। ब्रायन। मैके 1

एंडर्स कितनी बार उसका उपयोग करता है;)
मैथ्यू व्हिट

22

यह मायने रखता है क्योंकि प्रौद्योगिकी स्थिर नहीं रहती है। कंप्यूटर विज्ञान सभी डिजिटल तकनीक का आधार है। अधिकांश स्वयं-सिखाया प्रोग्रामर बिल्कुल एक प्रौद्योगिकी चक्र के साथ चलते हैं, क्योंकि उनमें एक प्रमुख प्रतिमान को जीवित रहने के लिए मूल सिद्धांतों की कमी होती है। यकीन है, नियम के अपवाद हैं, लेकिन कंप्यूटर विज्ञान में एक मजबूत नींव एक प्रमुख प्रतिमान की जीवित रहने की बाधाओं को बहुत बढ़ा देती है।


4
मुझे नहीं पता था कि जब तक मैं काम पर कोडर्स नहीं पढ़ता, तब तक एक बिट-ट्विडलर क्या था । मुझे लगता है कि आप एक प्रतिमान बदलाव या दो से बच गए हैं और अनुभव से बोल रहे हैं। :)
डेव नीली

3
मैं असहमत हूं। मौलिक अवधारणाओं को ऑनलाइन सिखाने वाले संसाधनों तक पहुंचना आसान है (और उन्हें अपने दम पर खोजने की क्षमता हासिल करने के लिए पुरस्कृत कर रहे हैं)। उदाहरण के लिए, अकादमिकear.org.org/subjects/computer-science शुरू करने के लिए एक अच्छी जगह है। नए स्थापत्य प्रतिमानों के बारे में विस्तृत जानकारी अध्ययन के लिए स्वतंत्र रूप से उपलब्ध है, क्रोमियम.ओ . / ओवरड्रेसर / शेड्स- डेडिकल्मेंट्स / ... देखें । अक्सर, स्वतंत्र रूप से उपलब्ध सामग्री ऑनलाइन एक स्थानीय कॉलेज से आपकी अपेक्षा से बहुत बेहतर और बेहतर होती है।
इवान प्लाइस

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

2
(प्रतियोगिता) यदि आप सॉफ्टवेयर प्रतिमान बदलाव के बारे में बात कर रहे हैं ... क्या प्रतिमान बदलाव? OOP बिल्कुल नया नहीं है, न ही कार्यात्मक प्रोग्रामिंग है। डेटाबेस बहुत लंबे समय से है। 1985 के बाद से फ्लोटिंग पॉइंट नंबर मानकीकृत किए गए हैं (IEEE 754)। एकमात्र बड़ी पारी जो मैं देख रहा हूं वह है डिस्ट्रीब्यूटिंग प्रोसेसिंग सिस्टम (बेहद नेटवर्क वाली सिस्टम जो कि स्केल अप और प्रोग्राम जो कई कोर हार्डवेयर प्लेटफॉर्म का लाभ उठाते हैं), और एक मानकीकृत अंतर्राष्ट्रीय वर्ण सेट (UTF-8) में परिवर्तन की पारी है; दोनों वास्तव में compsci में शामिल नहीं हैं।
इवान प्लाइस

2
@ मूद और इवान: मुझे लगता है कि आपने मेरी पोस्टिंग के कुछ हिस्सों को "निश्चित रूप से, नियम के अपवाद हैं" याद किया। मैं यह मानकर चल रहा हूं कि आप दोनों युवा और अनकहे हैं। जैसे-जैसे उम्र बढ़ेगी, वैसे-वैसे गतिमान हो जाएगी। मैं तीस साल से इस क्षेत्र में हूं। मैंने बहुत सारे स्व-सिखाया प्रोग्रामर को देखा है कि परिवार बढ़ाने के तनाव के बाद बाहर निकलते हैं, और जिस समय किसी को अपने दृष्टिकोण पर बुनियादी बातों को सीखना होता है, वह शून्य होता है। जब आप दोनों 40 साल की उम्र तक पहुँचेंगे, तो मुझे यही बातचीत पसंद आएगी।
बिट-ट्विडलर

14

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

मुझे यकीन है कि वहाँ बहुत सारे प्रोग्रामर हैं जो जटिलता को प्रबंधित करने में बड़े हैं, बड़े में प्रोग्रामिंग कर रहे हैं और सामान्य व्यावसायिक समस्याओं को हल कर रहे हैं, लेकिन बिल्कुल खो जाएगा यदि आपने उन्हें मेमोरी एलोकेटर, या एक समानता पुस्तकालय, या ए लिखने के लिए कहा है संग्रह पुस्तकालय, या एक ऑपरेटिंग सिस्टम, या एक संकलक, आदि मुझे यकीन है कि विपरीत एक सभ्य सीमा तक मौजूद है, भी। दोनों के पास अपनी जगह है और सम्मान के लायक है, लेकिन एक सीएस डिग्री तकनीकी पक्ष में बहुत अधिक मदद करता है।


क्यों? सीएस सभी जटिल समस्याओं को हल करने के बारे में है, जो भी समस्या की प्रकृति है। सीएस उपयोगी होना चाहिए, भले ही आप कुछ भी प्रोग्रामिंग नहीं कर रहे हों - यह एक भूले हुए लेकिन अभी भी आवश्यक साइबरनेटिक्स का वंशज है।
एसके-तर्क 10

12

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

1 - क्योंकि इंजीनियर भर्ती के लिए फ्रंट एंड नहीं हैं

मानव संसाधन लोग हैं। और जब मैं कई लोगों को अपनी आँखें घुमाते हुए देखता हूं, तो मैं कहता हूं कि "धन्यवाद!" क्या अधिक महत्वपूर्ण है - कि आप इंजीनियरों को सामान बनाने (या सामान को तोड़ने), या कि आप उन्हें कई तरह के रिज्यूमे के माध्यम से बनाते हैं और कई तरह के साक्षात्कार करते हैं?

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

2 - क्योंकि सीएस के बारे में सीखने के बारे में किसी प्रकार की व्यवस्था होना किसी से बेहतर नहीं है

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

और मुझे खुशी थी कि यह एक ऐसे माहौल में था जहां किसी को मुझे चीजों को समझाने के लिए भुगतान किया गया था जब पुस्तक / वेबसाइट / लैप परियोजना सहज रूप से स्पष्ट नहीं थी।

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

और जब पाठ्यक्रम स्पष्ट रूप से अच्छा संचार नहीं सिखाते थे, मुझे लगता है कि एकमात्र तरीका है जो आप वास्तव में सीख सकते हैं जो टीमों में काम करके है - जो कि सीएस डिग्री प्रदान करने वाले कई प्रमुख संस्थानों का एक प्रमुख हिस्सा है।

और लगातार प्रतिक्रिया (यानी, ग्रेड और परीक्षा) के साथ एक अनुसूची जो मुझे बताती है कि क्या मुझे वास्तव में समझा गया था कि मुझे क्या सिखाया गया था।

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


12

मेरे लिए, कारण यह है कि मुझे पता है कि वे कुछ कठिन पाठ्यक्रमों के माध्यम से गए हैं, और हार नहीं मानी है। कंपाइलर्स, डेटा स्ट्रक्चर, डिसक्रीट मैथ (और अन्य) जैसे कुछ कोर्सों में बहुत सारे लोगों को सीएस कार्यक्रमों से बाहर करने की प्रवृत्ति थी। सीएस डिग्री होने का मतलब है कि आपने कड़ी मेहनत की और एक कीमत चुकाई (काम करने के लिए लंबे समय तक काम करने वाले कार्यक्रम), बजाय मनोरंजन के लिए बाहर जाने के।


+1 - लोल, मैं इसके साथ बहुत बहस नहीं कर सकता। हालांकि, मुझे असतत गणित पसंद था। एक महान प्रोफेसर थे जिन्होंने बहुत सारे योडा छापों को किया था।
पी। ब्रायन। मैके

10

मेरे लिए यह मानसिकता का सवाल है ।

आपकी मानसिकता यह परिभाषित करती है कि आप किसी समस्या को कैसे देखेंगे, और आपको उन अवधारणाओं की तुलना में अवसरों की एक विस्तृत श्रृंखला पर विचार करने की अनुमति देता है।

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

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


9

वास्तव में? वाह।

तो आप मुझे बता रहे हैं कि सी # और ओओपी कौशल पर्याप्त हैं और आप बेतरतीब छँटाई के लिए अपने एल्गोरिथ्म को तैयार कर सकते हैं और वास्तविक जीवन में एनपी पूरी समस्याओं से निपटने के लिए बारीक बारीकियों को समझ सकते हैं?

सी # और ओओपी ठीक हैं, लेकिन अगर आप कुछ भी करने की कोशिश कर रहे हैं जो गैर-तुच्छ तर्क डिजाइन है, तो आपको जगह में कंप्यूटर विज्ञान के मूल सिद्धांतों की आवश्यकता है।

यार, आपको यह भी पता नहीं होगा कि आपके डेटा संरचनाओं या एल्गोरिदम कौशल का उपयोग करने के लिए कौन सा सी # कंटेनर निशान तक नहीं है।

अब बड़े हो जाओ।


23
वहां आसान है, बाघ।
whatsisname

23
"बेतरतीब छँटाई के लिए अपना खुद का एल्गोरिथ्म तैयार करें और वास्तविक जीवन में एनपी पूरी समस्याओं से निपटने के लिए बारीक बारीकियों को समझें" फिर मैं पर्याप्त तनाव नहीं कर सकता कि मेरा दिन कितना वास्तविक जीवन की नौकरी में इन गतिविधियों से बना है ...। / व्यंग्य
क्वेंटिन-स्टारिन

4
मैं जो कह रहा हूं वह यह है कि मैं जिन 95% लोगों के साथ काम करता हूं और पिछले खर्चों में 0 समय के एल्गोरिदम के पास काम किया है। मैं अपने समय के अधिकांश हिस्से को अधिक संक्षिप्त और पढ़ने में आसान बनाता हूं। बहुत कम समय "बारीक बारीकियों" पर खर्च किया जाता है। वास्तव में, मुझे कम से कम एक व्हाइटबोर्ड पर वर्कफ़्लो को छाँटने में थोड़ा समय बिताना दिलचस्प लगेगा ... ऐसा कुछ जो मैंने केवल खुद किया है। क्या आप नियमित रूप से अपने सहकर्मियों के साथ एनपी पर चर्चा करते हैं? कार्य की वह कौन सी पंक्ति है जिसमें आपको कार्यात्मक प्रोग्रामिंग भाषाओं को लागू करने के बजाय कस्टम प्रकार लिखने की आवश्यकता है?
पी। ब्रायन। मैके

3
@ P.Brian.Mackey: सॉफ्टवेयर डेवलपमेंट एक अप या आउट पेशा है। 50 वर्ष से अधिक आयु के आपके संगठन के लिए कितने सॉफ्टवेयर डेवलपर काम करते हैं? एक सॉफ्टवेयर डेवलपर के रूप में, एक सीएस डिग्री का मतलब नौकरी करने और बेरोजगार होने के बीच का अंतर हो सकता है। जबकि मैं वर्तमान में कंप्यूटर विज्ञान में स्नातक और स्नातकोत्तर डिग्री रखता हूं, मैंने सत्तर के दशक के अंत में नौसेना और DoD तकनीकी स्कूलों से इस क्षेत्र में अपना प्रारंभिक प्रशिक्षण प्राप्त किया। उन सभी लोगों के साथ जिनके साथ मैंने सेवा की जिन्होंने सैन्य छोड़ने के बाद सीएस की डिग्री पूरी करने की जहमत नहीं उठाई।
बिट-ट्विडलर

7
ऐसा क्यों है कि हर कोई इस धारणा को आँख बंद करके स्वीकार करता है कि सीएस अवधारणाओं के बारे में कोई औपचारिक ज्ञान रखने के लिए एक औपचारिक कॉलेज सीएस पाठ्यक्रम की आवश्यकता है? हो सकता है कि यह उनके कटौतीत्मक तर्क की विफलता हो। मुझे लगता है कि उन्हें और अधिक सीएस पाठ्यक्रमों की आवश्यकता है।
क्वेंटिन-स्टारिन

6

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

वे कक्षाएं जो केवल एल्गोरिदम और कैटेसी फ़्लफ़ नहीं हैं:

  • संकलनकर्ता
  • ऑपरेटिंग सिस्टम
  • VHDL / एंबेडेड सिस्टम
  • विधानसभा और माइक्रो-नियंत्रक
  • सॉफ्टवेयर इंजीनियरिंग

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


"कोडर" और "प्रोग्रामर" की आपकी परिभाषा क्या है? मेरे लिए, ये समान हो सकते हैं, और "कंप्यूटर वैज्ञानिक" के विपरीत हैं।
मार्क सी १

कोडर सिर्फ कोड लिखता है, जरूरी नहीं कि वह अलग-अलग डिजाइन के प्रतिमान या विचार प्रक्रिया के बारे में सोचता हो जो बेहतर कोड बनाने के लिए लागू हो। प्रोग्रामर वास्तव में उस कोड के बारे में सोचते हैं जो वे लिखते हैं, और इसे नीचे-ऊपर कोड पहले परिप्रेक्ष्य के बजाय एक शीर्ष डाउन परिप्रेक्ष्य से लेते हैं।
जेफ लैंगमेयर

"कोड बंदर" और "प्रोग्रामर" की आपकी परिभाषा क्या है? प्रोग्रामर उस समस्या को हल करने के तरीकों पर सोच सकता है जो कोड पैसा नहीं कर सकता ...
Coyote21

जुनून एक डिग्री से सम्मानित नहीं किया गया है। इसका सिर्फ एक हिस्सा तुम कौन हो।
पी। ब्रायन। मैके

@ पी। ब्रायन कभी-कभी ऐसा सिर्फ इसलिए होता है कि आपका जुनून एक डिग्री प्रदान करता है, और उक्त डिग्री प्राप्त करने के द्वारा आगे बढ़ जाता है।
जेफ लैंगमेयर

4

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

वास्तव में, मुझे पता है कि कई प्रोग्रामर को पूरी तरह से अलग अनुशासन में डिग्री मिली है। मुझे पता है कि सबसे अच्छा प्रोग्रामर सिविल इंजीनियरिंग, भाषा विज्ञान, अर्थशास्त्र और वित्त में डिग्री है।

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


सबसे अच्छे प्रोग्रामर में से एक एक अर्थशास्त्री है जो एक्सेल / वीबीए और आर में विशेष रूप से काम करता है। उन्होंने एक्सेल में कुछ आश्चर्यजनक चीजें की हैं।
साल

@ एक्सेल और आर में लेखन चीजें सीएस डिग्री की आवश्यकता नहीं है। एक्सेल या आर लेखन सबसे अधिक संभावना है।
अलनीतक

@alnitak - एक्सेल या आर लिखना किसी सीएस डिग्री की आवश्यकता नहीं है। मेरी प्रतिक्रिया और सला की बात की तरह है
JohnFx

@ जॉनफेक: मैंने यूएस में टॉप-बीस सीएस कार्यक्रमों में से लैटिन सम्मान के साथ स्नातक किया है, और यह कि साख अकेले भी मुझे दरवाजे के माध्यम से मिलती है (मैं एक अन्य सम्मानित स्कूल से एमएससीएस भी रखती हूं)। मैंने हाई स्कूल से सीधे प्रबुद्ध कंप्यूटर ऑपरेटर और प्रोग्रामर के रूप में क्षेत्र में शुरुआत की। मुझे अमेरिकी नौसेना और राष्ट्रीय सुरक्षा एजेंसी से अपने प्रारंभिक कंप्यूटर सिस्टम और सॉफ्टवेयर विकास प्रशिक्षण प्राप्त हुआ; इसलिए, मैंने कई वर्षों तक बीएससीएस के बिना क्षेत्र में काम किया। मैं बस इतना ही कह सकता हूं कि जब मैं अपना BSCS पूरा कर रहा था, तो यह सचमुच आकाश जैसा था।
बिट-ट्विडलर

@ बिट-ट्विडलर - इसका मतलब है कि मेरे उत्तर का समर्थन या खंडन करना? ऐसा लगता है कि यह मेरे अंतिम दावे का समर्थन करता है कि अगर आपके पास पोस्ट-ग्रेड या बड़े नाम स्कूल की डिग्री है तो यह मायने रखता है।
जॉनएफएक्स

4

मेरे और मेरे कई सहयोगियों के लिए यह (हम में से कोई भी सीएस डिग्री नहीं है)


3

ठीक है फिर किस बारे में

यदि आप निम्नलिखित विषयों से गुजरे हैं:

ए। कंप्यूटर वास्तुकला और संगठन

b। इंश्योरेंस इंजीनियरिंग

c.DBMS

डी। बासिक इलेक्ट्रॉनिक्स

इ। बेसिक डिजिटल इलेक्ट्रॉनिक सर्किट

f.Microprocessor

g.Compiler Design

क्या आपको लगता है कि उपरोक्त सभी औपचारिकता के लिए हैं .. क्या आपको याद है कि उपरोक्त बिंदु "अच्छे प्रोग्रामर" को "महान प्रोग्रामर" बनाते हैं।

इलेक्ट्रिकल और इलेक्ट्रॉनिक्स विषयों के महत्व के बारे में पढ़ने के लिए इसके माध्यम से जाएं


3

मेरे पास कंप्यूटर साइंस की डिग्री है। यह दरवाजे खोलने, नौकरी पाने के लिए बहुत अच्छा रहा है। जहाँ तक मुझे C # .NET प्रोग्रामिंग के पेशेवर क्षेत्र में मदद करने (क्षेत्र में सबसे लोकप्रिय प्लेटफ़ॉर्म और भाषा पर काम करता है अगर पूरी दुनिया में सबसे लोकप्रिय ओएस नीचे हाथ पर नहीं है, तो ) शायद ही उपयोगी है।

70% + कोड सी में लिखा गया है (क्योंकि उच्च-स्तरीय अनुप्रयोगों की तुलना में अधिक एम्बेडेड डिवाइस हैं)। पासा या TIOBE इंडेक्स जैसी लोकप्रिय जॉब खोजों के अनुसार, एंटरप्राइज़ के लिए जावा सबसे लोकप्रिय प्रोग्रामिंग भाषा है (क्योंकि विंडोज सर्वर की तुलना में अधिक यूनिक्स / लिनक्स बैक-एंड सर्वर हैं।) अधिक स्मार्टफोन और टैबलेट (कंप्यूटिंग प्लेटफॉर्म) हैं। भविष्य) विंडोज की तुलना में लिनक्स या मैक ओएस के कुछ संस्करण चला रहा है, लेकिन सी # या .NET पर कुछ भी क्रमादेशित है।

अपने राउटर को घर पर देखें, अपने सेल फोन को देखें, अपनी कार के अंदर के कंप्यूटर को देखें, घर पर फ्रिंजिंग माइक्रोवेव को देखें, अपने घर के अंदर नियंत्रकों को, अपने फोन के अंदर और अपने काम के फैक्स और प्रिंटर को देखें। चित्रान्वीक्षक। कम्प्यूटरीकृत उपकरणों की संख्या देखें (जो विंडोज़ सिस्टम से आगे निकलती हैं।)

क्या आपको लगता है कि उन्हें C # में प्रोग्राम किया गया है?

यदि आप वास्तव में मानते हैं कि .NET या C # दुनिया में सबसे लोकप्रिय मंच हैं, तो आप अपने CS स्कूल में वापस जाना चाहते हैं और धनवापसी के लिए कह सकते हैं।

आपको क्यों लगता है कि यह आपके पेशेवर करियर में एक प्रोग्रामर के रूप में आपकी मदद करता है (कुछ साक्षात्कारकर्ता को प्रभावित करने के लिए प्रिज़्म एल्गोरिथ्म की ओर इशारा करते हुए)?

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

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

एक व्यक्ति जो सीएस डिग्री प्राप्त करता है और इस पर ध्यान देता है वह यह जानता है। तुम कैसे नहीं आते?

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

सीएस के कारण OO अस्तित्व में आया। और ज्यादातर लोग जो सोचते हैं कि वे OO करते हैं, वे भी अच्छा काम नहीं कर सकते। बस बाहर देखें और सॉफ्टवेयर की भद्दी स्थिति को देखें (विशेष रूप से जावा और .NET में, PHP का उल्लेख नहीं करने के लिए।) एक ठोस सीएस पृष्ठभूमि (या कुछ प्रकार की इंजीनियरिंग में स्नातक की डिग्री) ओओ की 100% अच्छी समझ की गारंटी नहीं देता है। और विश्लेषणात्मक कौशल, लेकिन यह आमतौर पर मदद करता है। OO, एक मूल CS बैकग्राउंड नहीं होने पर आमतौर पर OO और विश्लेषणात्मक कौशल की बात करते हुए एक लाल-झंडा होता है। इस दावे को वापस करने के लिए हमारे पास उद्योग में पर्याप्त अनुभवजन्य साक्ष्य हैं।

ये कौशल केवल सीएस कार्यक्रम में स्किम्ड हैं।

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

मेरे मन में, Wrox द्वारा 500 पृष्ठ C # पुस्तक को पढ़ने के लिए COMP के गणित गणित रेखापुंज पाठ्यक्रमों के 4 वर्षों की तुलना में अधिक उपयोगी एक कौशल प्रदान करता है।

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

संदर्भ-विशिष्ट , प्रौद्योगिकी-विशिष्ट कौशल सेट प्राप्त करने के लिए Wrox पुस्तक का उपयोग करने में कुछ भी गलत नहीं है । मैं खुद ऐसा करता हूं। लेकिन मेरी सीएस पृष्ठभूमि मुझे काम करने का संदर्भ देती है। मेरे सीएस बैकग्राउंड के बिना, सभी मुझे प्रोग्राम करने में सक्षम होंगे, कोड करने के लिए (जो कि मैं कर सकता हूं जब मैं केवल अपने करियर की शुरुआत में एए की डिग्री रखता था।)

कई असहमत हैं।

हैरानी की बात नहीं है।

तो, कंप्यूटर विज्ञान की डिग्री क्यों मायने रखती है?

आपको क्या लगता है कि Google, हडूप, कैसेंड्रा, या उच्च प्रदर्शन डेटाबेस इंजन के साथ आते हैं? आपको क्या लगता है कि विंडोज ओएस कर्नेल कैसे लिखें? आपको क्या लगता है कि आपके C # विकास के लिए आपके द्वारा उपयोग किए जाने वाले प्रिय उपकरण प्रोग्राम हैं।

एक बात मुझे यकीन है कि C # डेवलपमेंट करने के लिए आप जिन टूल्स का इस्तेमाल करते हैं, उसके पीछे एक CS आदमी है।

आपको सीएस डिग्री की आवश्यकता है या नहीं, आप जिस प्रकार का काम करते हैं, उस पर निर्भर करता है कि आप किस प्रकार का काम करना चाहते हैं, जिस प्रकार का काम आप करने में सक्षम हैं।

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

आपके पास सीएस डिग्री है, आप कैसे नहीं जानते कि यह एक रहस्य है।


TIOBE यह निर्धारित करने के लिए बकवास है कि प्रोग्रामिंग भाषा का कितना उपयोग किया जाता है। यह इस बात का माप है कि किसी दी गई भाषा इंटरनेट पर कितनी लोकप्रिय है (संदर्भों की संख्या के संदर्भ में), कोड की पंक्तियों के संदर्भ में नहीं।
बिली ओनेल

अपनी भाषा-विशिष्ट भिन्नताओं के कारण, LOC प्रोग्रामिंग भाषाओं में अप्रासंगिक है, और इस प्रकार इसका उपयोग उद्योगों में प्रोग्रामिंग भाषा के उपयोग को मापने के लिए नहीं किया जा सकता है। और भाषा की लोकप्रियता इंटरनेट पर खोज में उपयोग और (या इसके अभाव) की गहराई और ब्याज के लिए एक आंशिक प्रॉक्सी के रूप में कार्य करती है ... यदि आप अपरिहार्य पूर्वाग्रह से अवगत हैं। अपने आप से, ** TIOBE इंडेक्स का मतलब कुछ भी नहीं है - केवल एक मूर्ख अन्यथा सोचता होगा; और केवल एक मूर्ख सोच सकता है कि कि मैं क्या बताते हुए हूँ।
luis.espinal

जब अन्य संकेतकों (जैसे कि नौकरी की खोज और उत्पाद प्रकार के विकास) के अतिरिक्त लिया जाता है, तो यह प्रौद्योगिकी के उपयोग के रुझानों का अनुमान लगाने में मदद करता है। दूसरे शब्दों में, यह उपयोगी या बेकार है कि आप इसके लिए इसका उपयोग करते हैं, आप इसका उपयोग कैसे करते हैं, और यह किस अन्य संकेतक के साथ संयुक्त है।
luis.espinal

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

1

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

समस्या को सुलझाने के कौशल और विभिन्न एल्गोरिदम के आंकड़े कई बार मददगार हो सकते हैं। सीएस डिग्री के अप्रत्यक्ष लाभों के लिए कुछ कहा जाना है। उदाहरण के लिए, यह जानना कि किसी उत्तर को सही ठहराने का तरीका सीखना कि कुछ सही क्यों है, विश्वविद्यालय में परिष्कृत किए गए कुछ कौशलों में से एक है, लेकिन मुझे यकीन नहीं है कि यह कितना स्पष्ट होगा कि यह कार्यक्रम के अंत में एक लाभ है।


1

मैं थोरबजर्न रावन एंडरसन की मानसिकता से संबंधित बिंदु से सहमत हूं। मुख्य बात यह है कि आप एक अच्छे सीएस पाठ्यक्रम के साथ विकसित होते हैं।

यह मूल रूप से डेटा संरचनाओं और एल्गोरिदम जैसी चीजों को समझने के लिए नीचे आता है। ऐसा नहीं है कि आप इसे अपने दम पर नहीं सीख सकते, लेकिन एक अच्छा सीएस पाठ्यक्रम बेहतर प्रदर्शन प्रदान करेगा।


ऐसे अन्य विषय हैं जो केवल सीएस और कंप्यूटर इंजीनियरिंग की बड़ी कंपनियों जैसे कंप्यूटर संगठन और कंप्यूटर वास्तुकला को सीखने के लिए हैं। अनुक्रमिक और दहनशील तर्क से कंप्यूटर का निर्माण करना सीखना एक बेहतर सॉफ्टवेयर डेवलपर बनाता है क्योंकि यह एक अंतर्दृष्टि देता है कि वास्तव में कंप्यूटर के अंदर क्या चल रहा है। इसके अलावा, एक नए प्रोसेसर के साथ काम करने वाले पहले प्रोग्रामर को पदानुक्रमित मेमोरी और I / O, पाइपलाइन, ब्लॉक-सेट एसोसिएटिव कैश, कंट्रोल यूनिट (माइक्रोकोड और हार्डवार्ड) और स्केलर और वेक्टर प्रसंस्करण के बीच अंतर जैसी अवधारणाओं को समझने की आवश्यकता होती है।
बिट-ट्विडलर

सीएस का कॉलेजिएट अध्ययन एक प्रयोगशाला की तुलना में बेहतर प्रदर्शन कैसे प्रदान करेगा जहां यह वास्तव में एक योग्य संरक्षक के साथ मायने रखता है जो न केवल यह जानता है कि यह कैसे काम करना चाहिए और यह वास्तव में कैसे काम करता है?
जस्टिन 34

@ बिट सहमत। हां, मेरा जवाब बल्कि glib है। यह एक कारण के लिए उस तरह होने का इरादा था।
जॉर्ज मारियन

@ अन्याय मुझे यकीन नहीं है कि आप क्या कहना चाह रहे हैं। एक प्रयोगशाला में कितने प्रोग्रामर काम करते हैं, योग्य आकाओं के साथ अकेले रहने दें?
जॉर्ज मैरियन

@JustinC: कोई सीखता है कि लैब (तकनीशियन स्तर) में चीजें कैसे काम करती हैं। एक सीखता है कि चीजें ऊपरी स्तर के कंप्यूटर संगठन और वास्तुकला पाठ्यक्रम (इंजीनियर स्तर) में क्यों काम करती हैं। यदि आप कंप्यूटर आर्किटेक्चर और कंप्यूटर संगठन पर उच्च-स्तरीय कॉलेज पाठ्यपुस्तकों की एक जोड़ी खरीदते हैं, तो आप देखेंगे कि मेरा क्या मतलब है।
बिट-ट्विडलर

1

लिख रहे हैं

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

2 सॉफ्टवेयर डेवलपर्स के बीच, मेरी शर्त यह है कि एक ठोस विश्वविद्यालय (मजबूत सीएस कार्यक्रम, और मानविकी में आवश्यक ऐच्छिक) से सीएस डिग्री के साथ दोनों कौशल हैं। (सच है, यह कोई गारंटी नहीं है: मानविकी के लोग महान कोडर और शीर्ष-शेल्फ लेखक हो सकते हैं; सीएस की बहुत सी ग्रेडिंग मशीनें हैं जो लिख नहीं सकती हैं, और इसी तरह।)

पढ़ना

मेरे एक संरक्षक ने दावा किया कि वह डेवलपर्स को जज कर सकते हैं कि वे क्या पढ़ते हैं। मूल पोस्ट में WROX पुस्तकों का उल्लेख है। मेरी राय में, सीएस डिग्री वाले किसी व्यक्ति के पास ऐसी पेशेवर आईटी पुस्तकों की तलाश करने और उन्हें प्रभावी ढंग से उपयोग करने में सक्षम होने की अधिक संभावना है। यदि कोई सीएलआर को संभाल सकता है , तो कोई "पेशेवर सी #" को संभाल सकता है।

गणित

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


1

मुझे लगता है कि यह वास्तव में सीएस प्रोग्राम की गुणवत्ता पर निर्भर करता है जो आप गए थे। मुझे पता है कि आपका क्या मतलब है, दैनिक आधार पर मेरे द्वारा लिखे गए अधिकांश कोड सिर्फ मानक VB.Net हैं, SQL सर्वर से डेटा प्राप्त करें, इसे फ़ॉर्म पर रखें, इसे डेटाबेस में वापस सहेजें, कुछ रिपोर्ट करें। धोएं, कुल्ला, दोहराएं। (समय पर बहुत उबाऊ) मैं जिस सीएस कार्यक्रम से गुज़रा, वह सिद्धांत और मौलिक ज्ञान को कवर करने के अलावा, बहुत सारे व्यावहारिक सामानों को पढ़ाता था। हमने सॉफ्टवेयर डिजाइन, डेटाबेस डिजाइन और परियोजना प्रबंधन जैसे क्षेत्रों को कवर किया। प्रोग्रामिंग लैंग्वेज सीखना एक आसान हिस्सा था, सॉफ्टवेयर सिस्टम बनाने की डिजाइन और कार्यप्रणाली जो मैंने अपने कॉलेज के अनुभव से दूर की थी। हमें वास्तविक दुनिया की समस्या पर आधारित प्रोजेक्ट दिए गए थे, कभी-कभी कैंपस में अन्य विभागों के लिए सॉफ्टवेयर सिस्टम भी डिजाइन करते थे।

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


1

यह सब जीवंत रूप से जीने की क्षमता में है।

यदि आप डिग्री छोड़ते हैं, तो आपको शायद बहुत ही व्यक्तिगत तरीके से पाठ सीखना होगा (कठिन तरीका उर्फ)। एक डिग्री की कमी का मतलब यह नहीं है कि आप परीक्षण और त्रुटि के द्वारा सीखने की कठिन राह पकड़ लेंगे; हालांकि, डिग्री आपको पहले से प्राप्त ज्ञान के एक खजाने की छाती के संपर्क में आने की गारंटी देती है जो अन्य लोगों को देर रात, निराश प्रोग्रामिंग सत्रों द्वारा अर्जित करना था, और आम तौर पर "इसे कठिन तरीके से करना"।

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

बेशक, कंप्यूटर विज्ञान की डिग्री वाला व्यक्ति हमेशा बेहतर उम्मीदवार नहीं होता है। ऐसे अनूठे व्यक्ति हैं जो धारा के लिए नेतृत्व कर रहे हैं लेकिन (किसी अजीब कारण से) इसे पीने से मना करते हैं।


0

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


1
आप यह अनुमान नहीं लगा सकते हैं कि कोई व्यक्ति 'अन्य तकनीकों को देखने' में दिलचस्पी नहीं लेगा, क्योंकि उनके पास सीएस की डिग्री नहीं है। यह एक पतन है।
स्टीवन स्ट्रिगा

0

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


0

एक ओपन सोर्स भाषा का उपयोग करके नौकरी पाने के लिए इसका मतलब स्क्वाट नहीं है। अधिकांश कंपनियां योग्यता के बजाय क्षमता के आधार पर भर्ती करती हैं और PHP जैसी भाषाओं में एक पुरुषवादी प्रतिष्ठा होती है जो लोगों को कभी सीएस का अध्ययन किए बिना प्रतिभा रख सकती है। केवल समय यह मदद करता है यदि आप एक नौकरी का उपयोग कर रहे हैं। नेट भाषाओं के रूप में अधिकांश शौक़ीन केवल लाइसेंस के लिए हजारों को खोलना नहीं चाहते हैं, केवल सप्ताहांत के साथ गड़बड़ करने के लिए, इसलिए किसी को सी # में पहली नौकरी की तलाश होगी 2-3 साल का अनुभव।

बेशक व्यावसायिक अनुभव वास्तव में मूल्यवान है क्योंकि यह समय सीमा के लिए गुणवत्ता कोड देने की आपकी क्षमता को प्रदर्शित करता है।

अंत में, यह आपको गैर-खुली भाषाओं के साथ काम करने के लिए साक्षात्कार देता है।


0

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

इसके अलावा, जब एक आईटी रिक्रूटर को सॉफ्ट ढूंढना होता है। देव।, और 500 आवेदकों को अपना फिर से शुरू भेजते हैं, और उनमें से 50 को बिना किसी साक्षात्कार के साक्षात्कार देना होता है, आपके फिर से शुरू होने की डिग्री होने पर, भर्ती होने वाले और आपके काम पर रखने की संभावना दोनों में मदद करता है।

(एक सॉफ्टवेयर डेवलपर से जिसने कुछ HHRR का अध्ययन किया)


0

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


0

सॉफ्टवेयर इंजीनियरिंग आज एक प्रायोगिक विज्ञान है जिसे गणित नहीं लागू किया जाता है।

कंप्यूटर विज्ञान की डिग्री एल्गोरिदम पर जोर देती है, आप में से कितने दिन नौकरी में उपन्यास एल्गोरिदम और डेटा संरचनाओं का उपयोग करना या लागू करना शामिल है?

फ्रेमवर्क की परतों और टपका हुआ अमूर्त तत्वों के साथ कितना व्यवहार करना शामिल है? यह निर्धारित करने की कितनी कोशिश की जा रही है कि कुछ एपीआई वास्तव में क्या करता है - बजाय इसके कि डॉक्स का क्या मतलब है? कितना परीक्षण करना है और कैसे तय करना है?

सभी के लिए एक भौतिक विज्ञान या रसायन विज्ञान की डिग्री मेमूरेड नथ होने की तुलना में बहुत बेहतर प्रशिक्षण है


0

यह मायने रखता है क्योंकि भर्तीकर्ताओं के पास एक संकेतक है कि आप पूरी तरह से इस बारे में स्पष्ट नहीं हैं कि आप क्या करने वाले हैं, लेकिन यह जरूरी नहीं है कि आप वास्तव में जानते हैं कि आप क्या कर रहे हैं या आप इसे तकनीकी रूप से सुविधाजनक तरीके से कर रहे हैं।

डिग्री वाले शानदार लोग हैं जो प्यार करते हैं कि वे क्या कर रहे हैं और वास्तव में अच्छे प्रोग्रामर हैं और डिग्री के साथ बेवकूफ भी हैं जो वास्तव में बुरे प्रोग्रामर हैं और कुछ बुनियादी बातों को भी नहीं जानते हैं। डिग्री के बिना शानदार लोग हैं, जो कुछ भी विकसित कर सकते हैं (व्यवसाय सॉफ़्टवेयर / कंपाइलर / एक ऑपरेटिंग सिस्टम) और बिना डिग्री के बेवकूफ हैं, जो ठीक से हैशटेबल का उपयोग करना नहीं जानते हैं।


0

बिल्कुल सही, कंप्यूटर विज्ञान की डिग्री ज्यादा मायने नहीं रखती है; यही कारण है कि आपकी एकमात्र पसंद इंजीनियरिंग की डिग्री प्राप्त करने के बजाय होनी चाहिए।

विभिन्न पृष्ठभूमि वाले उम्मीदवारों के साक्षात्कार में, एक विशेषता जो उन उम्मीदवारों के लिए है, जिनके पास कोई डिग्री नहीं है, यह है: तकनीकी संचार कौशल की कमी और अनुशासन की कमी। किसी भी विज्ञान की डिग्री प्राप्त करते समय ये मूलभूत लक्षण होते हैं (मैं इंजीनियरिंग की डिग्री के साथ और भी अधिक कहूंगा)।

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


-1

एक प्रोग्रामर के लिए ... यह बहुत ज्यादा नहीं है (शायद साक्षात्कार के लिए दरवाजे खोलने के अलावा, जैसा आपने कहा)।

एक सीएस नौकरी के लिए (अनुसंधान, एल्गोरिथ्म विश्लेषण, औपचारिक भाषा thoery और डिजाइन)। आप किसी अन्य गैर-गणित आधारित कार्यक्रम में इन चीजों को सीखने की संभावना नहीं रखते हैं।

// डिस्क्लेमर: मेरी डिग्री आईटी में है, इसलिए मुझे अपने काम की लाइन में प्रदर्शन करने के लिए उन सभी अन्य पाठ्यक्रमों के लिए वापस जाना पड़ा।


-1

मेरे पास कंप्यूटर से संबंधित डिग्री है। मुझे अपनी पहली कंप्यूटर भूमिका प्राप्त करने में क्या मदद मिली कि तथ्य यह है कि वर्ष 3 एक आईटी प्रशासक के रूप में एक कार्य प्लेसमेंट था। मैं शिक्षा के भीतर कार्य प्लेसमेंट योजनाओं की सिफारिश करता हूं।

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