2010-01-13 14 views
13

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

मैं आम तौर पर गणित में तेजी से छात्र था और मैं एक असली त्वरित मन मिला है। मेरा लक्ष्य वर्ष के अंत तक एक प्रमाणित और अनुभवी जावा प्रोग्रामर बनना है। मुझे पता है कि लोग कहेंगे कि अनुभव समय और प्रयास लेता है लेकिन मैं इस लक्ष्य की पूर्ति के लिए जो कुछ भी करता हूं उसे त्यागने के लिए तैयार हूं। मैंने कुछ समय पहले PHP और MySQL के साथ प्रोग्राम किया है और एक सामान्य समझ प्राप्त की है, लेकिन जब मैंने इसे पढ़ा तो जावा ने मुझे एक असली किक दिया। यदि आप किसी अन्य सामान को जानते हैं जो इस प्रयास में मेरी मदद कर सकता है, तो कृपया मुझे बताएं।

धन्यवाद।

+0

डुप्लिकेट: http://stackoverflow.com/questions/862804/how-to-improve-my-math-skills-to-become-a-better-programmer – gnovice

उत्तर

18

मैं दृढ़ता से स्टीव येग के Math for Programmers को पढ़ने के लिए प्रोत्साहित करते हैं।

यदि आप कुछ किताबों की तलाश में हैं, तो मैं Concrete Mathematics और The Art of Computer Programming की अनुशंसा करता हूं।

आप कुछ समस्याओं, के साथ अभ्यास Project Euler की जाँच करने के लिए की तलाश में हैं।

चुनौतीपूर्ण समस्याओं से निराश न हों। यह केवल चुनौतियों का सामना करने के माध्यम से है जो आप बढ़ेंगे। जब आप रोडब्लॉक तक पहुंचते हैं तो यहां समुदाय आपको सहायता और झुकाव देने के लिए तैयार है।

चलो भी प्रसिद्ध उद्धरण भूल नहीं:

जो भी गणित के क्षेत्र में अपनी कठिनाइयों, मैं आपको विश्वास दिलाता कर सकते हैं मेरा बहुत अधिक हैं .--- अल्बर्ट आइंस्टीन

मेरा लक्ष्य एक प्रमाणित बनने के लिए है और साल के अंत तक अच्छी तरह से अनुभवी जावा प्रोग्रामर।

अंत में, केवल तरह से अच्छी तरह से अनुभवी बनने के लिए कोड लिखने के लिए है, और यह के बहुत सारे।

+0

आइंस्टीन स्मार्ट लेकिन अतिरंजित था। –

+2

नहीं, वह सिर्फ एक भौतिक विज्ञानी नहीं था जो गणितज्ञ था ... जिस गणित की आवश्यकता थी, उसका आविष्कार नहीं किया गया था जब उसने सामान्य सापेक्षता पर काम करना शुरू किया था। कोई आश्चर्य नहीं कि यह मुश्किल था। मैंने उस सामान का अध्ययन किया है, सुधार के 80-सालों के साथ भी यह वास्तव में कठिन है। –

+0

आइंस्टीन ने सामान्य सापेक्षता के दौरान सामान्य टेंसर का आविष्कार नहीं किया था? क्षमा करें, आप अपनी कहानी सीधे बेहतर प्राप्त करेंगे। आइंस्टीन ने अपने दोस्त ग्रॉसमैन से टेंसर और अंतर ज्यामिति के बारे में बहुत कुछ सीखा। वह एक शानदार व्यक्ति थे, लेकिन उन्होंने गणित का आविष्कार नहीं किया जिस पर जीआर आधारित है। अब्राहम Pais द्वारा "सूक्ष्म भगवान है" पढ़ें। पृष्ठ 212 देखें। – duffymo

8

Discrete Mathematics क्या आप सबसे अधिक संभावना की आवश्यकता होगी, कर रहे हैं। आधार 2 (बाइनरी) आधार 16 (हेक्स) संख्या प्रणाली को समझना सहायक आवश्यक है। आपको अलग गणित में फंसने की ज़रूरत नहीं है क्योंकि उनमें से कुछ बहुत गहरा है और गणित प्रमुखों को क्रिंग करता है। सेट और तर्क जैसे मूल बातें देखें।

ट्रिग/पथरी के लिए के रूप में ... मैं कॉलेज में इन सभी ले लिया है और बड़े पैमाने पर ... या अच्छी तरह से सब पर इन पर भरोसा कभी नहीं किया है,।

+3

एल्गोरिदम भी गणित की एक शाखा है जो अत्यंत महत्वपूर्ण है। –

+0

मुझे लगता है कि यदि आप गेम या छवि विश्लेषण जैसे ग्राफिक्स के साथ कुछ करने के लिए कर रहे हैं तो ट्रिगर अधिक उपयोगी है। –

2

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

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

+0

मुझे यकीन नहीं है कि आधार 18 महत्वपूर्ण है: पी – svens

+0

मैं अपने भरोसेमंद ऑक्टेट संपादक – rotard

0

"Concrete Mathematics" इस विषय पर एक पुस्तक सुझाव होगा।

+0

संख्या के बिना कुछ भी नहीं कर सका, यह वही पुस्तक अनुशंसा –

3

गणितीय योग्यता एक अच्छा प्रोग्रामर होने के लिए जरूरी नहीं है। एक मजबूत सहयोग है हालांकि अच्छे प्रोग्रामर गणित में अच्छे होते हैं। इसका मतलब यह नहीं है कि अधिक गणित सीखना आपको एक बेहतर प्रोग्रामर बनाना होगा। बेहतर प्रोग्रामर बनने के लिए आमतौर पर बहुत सी कोडिंग होती है। तो यह है कि मन में साथ:

  • कोड ज्यादा है और अक्सर और सर्वोत्तम प्रथाओं के साथ, "धोखा" के लिए
  • चैलेंज नहीं की कोशिश अपने आप को
  • Project Euler
  • कोशिश कर रहा में उन्नत सुडोकू करने की कुछ समस्याओं के माध्यम से काम कर प्रयास करें अपने सिर कटौती अभ्यास करने के लिए और http://www.khanacademy.org/ गणित विभाग के माध्यम से
+0

भी आइंस्टीन पहेली 2.0 http: // linux के साथ खेलेंगी। wareseeker.com/Games/einstein-puzzle-2.0.zip/338379 –

1

जाओ को गर्म करने के। अधिकांश लोग अपने बेल्ट के नीचे केवल कैलकुलास I के साथ हाई स्कूल स्नातक हैं।

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

इसके लिए एमआईटी ओपन कोर्सवेयर भी देखें।

0

यदि आपके पास इन सभी महान सुझावों के बाद कोई खाली समय शेष है, तो मैं आपकी रीडिंग सूची में हेड फर्स्ट स्टैटिस्टिक्स भी डाल सकता हूं। http://www.amazon.ca/Head-First-Statistics-Dawn-Griffiths/dp/0596527586

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

मैं इस पुस्तक की अनुशंसा करता हूं क्योंकि यह बहुत आसान और मजेदार पढ़ा जाता है, और यह एक अच्छा परिचय के रूप में कार्य करता है आंकड़ों को नीचे दबाए बिना आंकड़े। यह है कि "मोती से पहले" पढ़ने के लिए आप कम से कम प्रयास कर सकते हैं।

0

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

0

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

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