क्या सॉफ्टवेयर इंजीनियरिंग और कंप्यूटर साइंस अलग-अलग मेजर होने चाहिए? [बन्द है]


19

दशकों तक, सॉफ्टवेयर डेवलपर बनने के लिए स्वीकृत डिग्री "कंपेर साइंस" थी।
हमारे पास पहले से ही कुछ प्रश्न हैं कि क्या यह डिग्री वास्तव में छात्रों को सॉफ्टवेयर विकसित करने के लिए तैयार करती है।

कुछ स्कूलों ने पिछले 8 वर्षों में प्रोग्रामिंग में कई अलग-अलग बड़ी कंपनियों की पेशकश शुरू कर दी है। मेरे विद्यालय के पाठ्यक्रम का उपयोग करना:

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

अलग-अलग स्कूल इसे अलग तरीके से करते हैं, इसलिए उपरोक्त सिर्फ एक वास्तविक दुनिया का उदाहरण है जिससे मैं परिचित हूं। मैं जो पूछता हूं वह यह है: क्या प्रोग्रामिंग में अलग-अलग मेजर की आवश्यकता है?


1
ज़रुरी नहीं। इन कौशलों को सीखने का तरीका उन पर एक पाठ्यक्रम पढ़ाना नहीं है, बल्कि उन्हें वास्तविक परियोजना का काम देना है
केसबश

क्या आपको लगता है कि वे नहीं कर रहे हैं? RIT दोनों को डिग्री प्रदान करता है।
एंडी

एंडी: मुझे पता है- मैं रीट में गया और एसई की डिग्री हासिल की। मैं पूछ रहा था कि क्या उन्हें अलग होना चाहिए, न कि वे वर्तमान में हैं। :)
फिशटोस्टर

जवाबों:


28

हां, उन्हें होना चाहिए।

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

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


2
भौतिकी / इंजीनियरिंग सादृश्य वह है जिसका मैं बहुत उपयोग करता हूं। हम भौतिकविदों को पुलों के डिजाइन और निर्माण के लिए काम पर नहीं रखते हैं, हम कंप्यूटर वैज्ञानिकों को कार्यक्रम बनाने और बनाने के लिए क्यों नियुक्त करते हैं?
हर्बएन

1
क्योंकि कंप्यूटर विज्ञान कार्यक्रम आपके विशिष्ट भौतिकी कार्यक्रम की तुलना में कार्यक्रमों का निर्माण करने के बारे में थोड़ा और सिखाते हैं;)
वेन वर्नर

2
@WayneWerner: नहीं, वे वास्तव में, वास्तव में नहीं।

3

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


1

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

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

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

इसके अलावा, कुछ काम या विद्वानों की परिपक्वता के बिना, सॉफ्टवेयर इंजीनियरिंग सामग्री बस अधिकांश अंडरग्रेजुएट छात्रों के सिर पर उड़ जाएगी।


: आप को पता है कि वे किस तरह "यह सब एक स्नातक की डिग्री पर सॉफ्टवेयर इंजीनियरिंग के लिए आवश्यक है अप के लिए कोई परेशानी" चाहते हैं, अमेरिका में पहली स्नातक एसई कार्यक्रम पर एक नज़र डालें se.rit.edu
थॉमस ओवेन्स

जब तक मुझे कुछ याद नहीं आ रहा है, उन्होंने इसे ठीक नहीं किया। उन्होंने बस 192-क्रेडिट विस्तारित पाठ्यक्रम बनाया। यह आपके द्वारा सीएस और एमआईएस में पाए जाने वाले विशिष्ट 60-80 क्रेडिट अंडरग्रेजुएट पाठ्यक्रम से परे है - यहां बहुत अधिक पाठ्यक्रम चल रहे हैं, यह डबल मेजर लेने के लिए तुलनीय बनाने के लिए पर्याप्त है (या एक अंडरग्रेजुएट और एक स्नातक की डिग्री प्राप्त करना)। मुझे वरिष्ठ वर्ष में अन्य इंजीनियरिंग विषयों के प्रवाह और एकीकरण पसंद हैं। यह एक आदर्श पाठ्यक्रम है जिसका अनुसरण कोई भी कर सकता है। लेकिन यह बस मेरी बात साबित करता है कि आप एसई को केवल विशिष्ट अंडरगार्मेंट के साथ नहीं पा सकते हैं।
luis.espinal

और एक कैविएट मैं यहां देखूंगा कि आप कितना प्रयास करते हैं और आपको बस एक एकल डिग्री प्राप्त होती है (जैसा कि डबल मेजर या अंडरग्रेजुएट और ग्रेडिंग डिग्री प्राप्त करने के लिए समान पाठ्यक्रम के काम को पूरा करने के विपरीत। दुर्भाग्य से चर्मपत्र की बात है। हो सकता है कि इस तरह के एसई डिग्री अधिक व्यापक हो जाने के बाद चिंता कम हो।
luis.espinal

यह एक तिमाही प्रणाली है, जिसका अर्थ है कि यह एक ही विश्वविद्यालय से सीएस डिग्री (या किसी अन्य स्नातक की डिग्री) के रूप में सटीक कार्यभार है। अंत में, यह 4 साल की कक्षाएं (10 सप्ताह की कक्षाएं, प्रति तिमाही परीक्षा का 1 सप्ताह, प्रति वर्ष 3 तिमाही), सह-ऑप का 1 वर्ष है।
थॉमस ओवेन्स

ज़रुरी नहीं। जब यह कार्य भार की बात आती है तो यह समकक्ष नहीं है। मैं वर्तमान में WPI में एक दूसरा मास्टर्स (CE + EE) कर रहा हूं, जो एक समान प्रारूप (परीक्षाओं के लिए 3 सप्ताह, 10 सप्ताह की कक्षाएं + 1 सप्ताह) का अनुसरण करता है। अनुभव से, इस तरह के कार्यक्रम अधिक कठोर होते हैं और 60-80 डिग्री से कम के अंडरग्रेड से अधिक होते हैं। यह कार्यक्रम की आलोचना नहीं है, आपको बुरा लगता है । मुझे लगता है कि अंडरग्राउंड स्तर पर सॉफ्टवेयर इंजीनियरिंग को वास्तव में कवर करना आवश्यक है। और सीएस के लिए एक समान दृष्टिकोण भी आवश्यक होना चाहिए (क्योंकि ठेठ सीएस अब पर्याप्त हाथों पर, बहु-अनुशासनात्मक
अभ्यासम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.