2009-02-12 18 views
19

यदि आपको अब एक कंप्यूटर विज्ञान पाठ्यक्रम लेने का अवसर मिला है, और नतीजतन एक विषय क्षेत्र में आपके ज्ञान में काफी वृद्धि हुई है, तो यह क्या होगा? स्नातक या स्नातक स्तर।यदि आप अब एक कंप्यूटर विज्ञान पाठ्यक्रम ले सकते हैं, तो यह क्या होगा?

कंपाइलर्स? वितरित एल्गोरिदम? Concurrency सिद्धांत? उन्नत ऑपरेटिंग सिस्टम?

मुझे बताएं क्यों।

(ध्यान दें मैं सराहना है कि यह एक दूर प्राप्त किए गए परिदृश्य नहीं है - लेकिन समय और जड़ता पाठ्यक्रम लेने या किताब या जो कुछ भी पढ़ने से लोगों को रोकने जा सकता है)

+0

इससे पहले आपको प्रतिनिधि देना एक समुदाय विकी में बनाया गया है;) – Cybis

+0

क्या आपके पास पहले से ही सीएस डिग्री है? क्या यह एक पूरक पाठ्यक्रम है या पहला है? –

+0

@ स्टेव: मेरे पास लगभग तीन हैं :) लेकिन ए) अध्ययन करने के लिए हमेशा और कुछ है, मैं प्रगतिशील रूप से अधिक विशिष्ट हो गया हूं और बी) यह देखना दिलचस्प है कि अकादमिक के कुछ हिस्सों में अभी भी ऐसे लोग हैं जो इसे पीछे छोड़ चुके हैं। – HenryR

उत्तर

34

कंपाइलर।

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

+0

एक कंपाइलर कोर्स लेने के बाद मैं इसे प्रमाणित कर सकता हूं, यह मुझे एक बेहतर प्रोग्रामर बना देता है क्योंकि अब मुझे सबसे अधिक उपयोग किए जाने वाले उपकरणों में से एक की अधिक समझ है। –

+0

मैंने इसके अलावा सूचीबद्ध सभी पिछले सभी को लिया है .. इसलिए मुझे लगता है कि यह मेरा वोट जीतता है। –

+0

निश्चित रूप से सभी के लिए नहीं; कंपाइलर्स सबसे उबाऊ वर्ग था जिसे मैंने कभी लिया है! –

4

नेटवर्किंग। (सोशल नेटवर्किंग नहीं .... हालांकि यह किसी भी तरह का मजेदार वर्ग हो सकता है।)

19

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

+0

पाठ्यक्रम बहुत अच्छा था, लेकिन इसे एक चेक प्रोफेसर और आपके जन्म से पहले लिखा गया एक पुस्तक द्वारा सिखाया जाने का प्रयास करें। यह पीड़ादायक है। – achinda99

+1

इस प्रकार की कक्षा इतनी महत्वपूर्ण है कि मुझे नहीं पता कि लोग इस प्रकार के वर्ग के बिना अच्छे कंप्यूटर प्रोग्रामर कैसे हो सकते हैं, और इसमें सहिष्णुता से अच्छा प्रदर्शन किया। – Beska

+1

मैं बेस्का से सहमत हूं। उन दोनों पाठ्यक्रमों को मेरे विश्वविद्यालय में और अच्छे कारण के लिए आवश्यक है। – shsmurfy

0

किसी भी आधुनिक युग एल्गोरिथ्म वर्ग आप न सिर्फ एल्गोरिदम लेकिन भाषाओं भी पढ़ाने के लिए तारीख भाषाओं तक का उपयोग करता है!

+0

एल्गोरिदम! = प्रोग्रामिंग। एक अच्छा एल्गोरिदम कोर्स गणित पाठ्यक्रम की तरह अधिक पढ़ाया जाएगा - एल्गोरिदम को डिजाइन करने, विश्लेषण करने और साबित करने के तरीकों की व्याख्या करना और विभिन्न प्रकार की समस्याओं (जैसे पी बनाम एनपी) की विशेषताओं के लिए एक अच्छा परिचय देना। यह बहुत भाषा स्वतंत्र है। – Cybis

+0

ठीक है, वे बहुत अलग हैं। मेरा मतलब है कि लोकप्रिय प्रोग्रामिंग भाषाओं के साथ विभिन्न एल्गोरिदम लागू करना ताकि आप दोनों सीख सकें। मेरे पास पास्कल और छद्म कोड में पढ़ाया गया एक एल्गोरिदम वर्ग था, और मैंने पाया कि दर्दनाक और थोड़ा बेकार है क्योंकि उसने मुझे नई भाषाएं नहीं सिखाईं! – achinda99

+0

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

2

जेनेटिक प्रोग्रामिंग?

4

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

4

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

6
अभ्यास
प्राकृतिक भाषा या सिमेंटिक प्रसंस्करण के लिए एक परिचय में तंत्रिका नेटवर्क

उन लोगों में से कोई भी ... बिल्ली मैं उन लोगों में से किसी भी अब क्या अच्छा लगेगा अगर मैं समय था।

लेकिन यदि आप किसी भी कोर्स को कवर करने के दायरे बढ़ा, मैं एक लेखा पाठ्यक्रम के साथ जाने के लिए होगा। यह सभी तरह के तरीकों से उपयोगी होगा।

+0

दुर्भाग्य से मेरे (न्यूनतम) अनुभव में वे उतने दिलचस्प नहीं हैं जितना वे ध्वनि ... – UncleZeiv

+0

@UncleZeiv यदि आप पहले से नहीं हैं तो आप अनुभवों को साझा कर सकते हैं। –

2

या तो कंप्यूटर नेटवर्क या संकलक निर्माण - दोनों मेरे स्कूल में ऐच्छिक जो मैं कभी नहीं काफी संघर्ष अनुसूची के कारण लेने का अवसर था।

(तकनीकी रूप से, मेरे कई वर्गों ने कंपाइलर निर्माण के विभिन्न तत्वों को पढ़ाया - पार्सिंग, प्रतीक तालिकाओं का प्रबंधन, सक्रियण रिकॉर्ड - लेकिन वे वास्तव में एक कंपाइलर बनाने के तरीके के बारे में मशीन/भाषा सिद्धांत के बारे में अधिक थे)।

14

ऑपरेटिंग सिस्टम। यह जानने के लिए कि आप किस स्तर पर टिक पर विकास कर रहे हैं, आप निम्न स्तर की सभी अवधारणाओं को समझने में मदद करते हैं, खासकर जब कुछ गलत हो जाता है।

+0

ग्रेट क्लास लेने के लिए; आश्चर्यजनक रूप से घना। – Beska

16

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

+0

जो आप पूछ रहे हैं उसे कई पाठ्यक्रमों की आवश्यकता हो सकती है। हार्ड-कोर ग्राफिक्स काम वास्तव में मजेदार होगा। – Cybis

+0

या वास्तव में वास्तव में एक लंबा कोर्स, लेकिन किसी भी तरह से मैं इसे लेने के अवसर पर कूदता हूं। –

1

This is a course I can recommend (यह एक दूरस्थ शिक्षा पाठ्यक्रम है)।

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

आप हैकेल का उपयोग नहीं करते हैं, हालांकि मैंने कई विश्वविद्यालयों का उपयोग किया है - यह एक जावा-व्याख्यात्मक कार्यात्मक भाषा है।

0

सूचना प्रौद्योगिकी विनियमन

हालात SOX, पीसीआई, HIPAA और विभिन्न न्यायालय के साथ-साथ क्या गोपनीयता कानून लागू हो सकता है आईटी क्षेत्र में काम करने से अन्य कानूनी आवश्यकताओं की तरह। हैकिंग को यहां कुछ हद तक भी शामिल किया जा सकता है क्योंकि यह एक कानून पाठ्यक्रम और सूचना प्रौद्योगिकी के बीच एक क्रॉस है जो कुछ के लिए कंप्यूटर विज्ञान आवश्यक नहीं है।

5

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

0

के बाद से मैं पहले से ही compilers, एल्गोरिदम और अन्य सभी मानक सीएस सामान ले लिया है, मैं शायद और अधिक रोचक और "ट्रेंडी" IPhone development

+0

वाह। यदि आप केवल एक सीएस कक्षा सीखने के लिए चुन सकते हैं, तो आप एल्गोरिदम, कंपाइलर्स, ओएस ... और आईफोन देव ले लेंगे? – mmcdole

+0

किसी विशिष्ट श्रेणी में कक्षा लेने में कुछ भी गलत नहीं है, खासकर यदि आप पहले से ही सबकुछ कर चुके हैं। इसके लिए –

15

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

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

+0

+1। यह केवल अधिक लोगों ने आपकी राय साझा की ... बीटीडब्लू ने विश्वविद्यालय में रहते हुए इस तरह का कोर्स लिया, ब्याज से, यह पाठ्यक्रम का हिस्सा नहीं था। अनुमान लगाओ, पाठ्यक्रम में केवल कुछ ही उपस्थित थे। – mghie

+0

+1 अक्सर अनदेखा किया जाता है। –

0

मेरी इच्छा है कि मैं एक ऐसा पेपर ले जाऊंगा जो कुछ असेंबली सिखाए। मेरे द्वारा किए गए सभी कागजात उच्च स्तर की भाषाओं में थे।

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

3

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

यहां वे चीज़ें हैं जिन्हें मैं आगे सीखना चाहता हूं: कार्यात्मक प्रोग्रामिंग, वितरित सिस्टम। कंपाइलर्स भी एक दिलचस्प विषय होगा, लेकिन मुझे अभी उस ज्ञान की आवश्यकता नहीं है।

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

2

एल्गोरिदम (फिर से)।अफसोस की बात है कि मुझे नहीं लगता कि मैंने उतना ही उठाया जितना कि मुझे पहली बार होना चाहिए था। मेरी दूसरी पसंद कंपाइलर्स होगी।

2

इसके अलावा compilers क्योंकि वे इतने सारे क्षेत्रों, पार्स, पैटर्न मिलान, अर्थगत विश्लेषण, कोड पीढ़ी, आदि

चियर्स

1

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

1

चरम प्रोग्रामिंग। प्रोग्रामिंग प्रतियोगिताओं में समस्याएं। बहुत कोड करने के लिए। तेजी से कोड करने के लिए। कुशलता से कोड करने के लिए। संस्करण नियंत्रण की उपयोग शामिल :)

2

"सॉफ्टवेयर लाइसेंस और संबंधित कॉपीराइट कानून" अगले साल

2

समानांतर प्रोग्रामिंग में एक हिट हो जाएगा। मुझे सच में नहीं लगता कि इसे केवल कार्यात्मक प्रोग्रामिंग होना चाहिए। मैं इस विषय को गैर-कार्यात्मक भाषाओं के साथ गड़बड़ाने में रूचि रखता हूं।

1

समानांतर/वितरित प्रोग्रामिंग के बाद से CPU के कि बहुत तेजी से जल्द ही जाने के लिए नहीं जा रहे हैं; और बहु-कोर और इंटरनेट थोड़ी देर के लिए आसपास जा रहे हैं। एक अंडरग्रेड कोर्स क्योंकि मेरे पास कोई पूर्व ज्ञान नहीं है।

2

कम्प्यूटेशनल ज्यामिति। मैं किताबों से जो उठाता हूं उसके साथ मिलता हूं लेकिन मेरी इच्छा है कि मुझे मौका मिलने पर मुझे गहरी समझ मिल जाएगी।

2

मुझे आश्चर्य है कि मुझे गणना के सिद्धांत के लिए कोई भी नहीं दिख रहा है। यह यूनी में सीखा सबसे geeky विषय है। निश्चित रूप से कोई यहां मेरे साथ एक ही भूख साझा करता है। :-)

सीएस -> 1. संगणना के सिद्धांत, 2. कम्प्यूटेशनल मॉडलिंग, 3. प्रोग्रामिंग भाषा

  1. यह मुझे देता है समस्या पर एक और अधिक सार परिप्रेक्ष्य समग्र सुलझाने। मेरा अनुभव मुझे बताता है कि मैं जितना अधिक अमूर्त हूं, बेहतर समाधान मैं किसी समस्या के लिए तैयार कर सकता हूं। :-)

  2. मॉडलिंग इतना शक्तिशाली है कि अधिकांश समस्या हल करने पर निर्भर करता है। इसके साथ, हम आमतौर पर निम्न स्तर के तरीकों में समस्याओं को हल करते हैं। यह आमतौर पर सबसे अच्छा समाधान नहीं है।

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

14

एल्गोरिदम वर्ग, हाथ नीचे।

"यदि आप एक विश्व स्तरीय प्रोग्रामर बनना चाहते हैं, तो आप हर दिन दस साल तक प्रोग्राम कर सकते हैं, या आप हर दिन दो साल तक प्रोग्राम कर सकते हैं और एल्गोरिदम कक्षा ले सकते हैं।" - प्रो। एरिक डेमैन (एमआईटी)

एल्गोरिदम जटिलता, सॉर्टिंग, विलय और एल्गोरिदम खोजना बेहद महत्वपूर्ण है।

यहां दिए गए वीडियो के लिए link है, एमआईटी के OpenCourseware algorithms class वीडियो से उद्धरण है।

1

ऑपरेटिंग सिस्टम। ऑपरेटिंग सिस्टम ज्ञान वाले किसी भी व्यक्ति का एक बड़ा फायदा होता है जब सॉफ्टवेयर सिस्टम में घटकों/सेवाओं को एकसाथ करने, प्रदर्शन की योजना बनाने और प्रदर्शन बाधाओं का निदान/समाधान करने की बात आती है।

2

टाइपोग्राफी। उपयोगकर्ता इंटरफेस डिजाइन द्वारा पीछा किया।

ये वे क्षेत्र हैं जहां मेरे कौशल को सबसे बड़ा सुधार की आवश्यकता है, मुझे लगता है। जब मैं आपरेटिंग सिस्टम

0

मैं अभी भी bummed रहा हूँ तंत्रिका नेटवर्क भरा था। आपके सॉफ़्टवेयर वास्तव में अंत में कैसे चलते हैं, इस बारे में बेहतर समझने के लिए।

0

कंप्यूटर आर्किटेक्चर कॉलेज में ले जाने के लिए

0

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

0

कंप्यूटर ग्राफिक्स और/या छवि प्रसंस्करण। एल्गोरिदम में समांतरता के बारे में सोचने के लिए कोई बेहतर तरीका नहीं है।

संबंधित मुद्दे

 संबंधित मुद्दे