क्या हस्केल गणित के मूल सिद्धांतों को पढ़ाने में अच्छा है?


19

मैं गणित को सिखाने के लिए कक्षाओं में शामिल हूं जैसे कि एएस और ए स्तर के गणित विनिर्देश।

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

यहां तक ​​कि जब एक वास्तविक प्रोग्रामिंग भाषा का उपयोग किया जाता है, तो यह आमतौर पर पास्कल की तरह पुरानी fashoned भाषा होती है। और यह मेरी राय में वास्तव में दुखद है।

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

मैंने प्रोग्रामिंग में इंटरमीडिएट ज्ञान अनुभव (c #, रूबी, पॉवरशेल, जावास्क्रिप्ट, टेक्स) और XSLT के साथ पहले से ही कार्यात्मक प्रोग्रामिंग से संपर्क किया है।

जवाब जिम्मेदारी से उतारे जाएंगे। वर्बोज़ उत्तर सहित, गणित के लिए लागू किए गए हास्केल कोड के कुछ मूल उदाहरण, जैसे कि रेखीय बीजगणित (जैसे सदिशीय स्थान), बहुपद, रैखिक समीकरणों को हल करना बहुत सराहना करते हैं और वांछित के रूप में लक्षित होते हैं।


3
इस पुस्तक को देखें: Collegepublications.co.uk/computing/?00004
फ्रेड फू

@ लार्समैन: धन्यवाद। यह वास्तव में एक अच्छा प्रारंभिक बिंदु है; मैं भी अधिक व्यावहारिक गणित में रुचि रखता हूं, जैसे भेदभाव, सीमा, अभिन्नता।
एमिलियानो पोगी

मैं यह देखने में विफल हूं कि मैथेमेटिका एक वास्तविक प्रोग्रामिंग भाषा नहीं है। जब मुझे गणित की समस्या होती है तो मैं इसे पहले (अच्छी तरह से ऑक्टेव) उपयोग करता हूं, और फिर दूसरी भाषा में परिवर्तित करता हूं। यदि ध्यान गणित पर है तो मुझे कोई कारण नहीं दिखता कि कोई विशेष गणित भाषा उपयुक्त क्यों नहीं है।
edA-qa mort-ora-y

@edA: गणितज्ञ! = सप्तक! ऑक्टेव एक मैटलैब क्लोन है। जो लोग दोनों का उपयोग करते हैं वे मुझे माटलैब / ऑक्टेव न्यूमेरिक्स (बड़े सरणियों, एफएफटी आदि) के लिए अधिक तैयार करते हैं, जबकि मैथमेटिका प्रतीकात्मक हेरफेर के लिए बेहतर है। गणितज्ञ के समकक्ष निकटतम FOSS संभवतः मैक्सिमा (पूर्व में मैक्सिमा) है।
तैमूर

@timday, हाँ, मैं ऑक्टेव को जानता हूं! = गणितज्ञ, लेकिन कोड भाषा समान है। मैं प्रतीकात्मक हेरफेर के लिए मैक्सिमा का भी उपयोग करता हूं।
eda-qa mort-ora-y

जवाबों:


9

हास्केल गणितज्ञों के बीच लोकप्रियता में बढ़ रहा है। जैसा कि एक ब्लॉगर ने लिखा है:

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

तो यहाँ कुछ एकत्रित विचार हैं, जो मुझे लगता है कि आप इस दृष्टिकोण को लेने में बहुत गलत नहीं हो सकते।

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

आखिरकार,


1
आपके कुछ लिंक पढ़ने के बाद, मैं यह नहीं कह सकता कि मैं बहुत आश्वस्त हूं। वास्तव में हास्केल सत्र के लिए किसी के बैठ जाने और आप जैसे गणितज्ञ / मैक्सिमा के काम करने के उदाहरण मिल गए। इसके अलावा, "11 कारण" ब्लॉग बताता है कि एक गणितज्ञ के दृष्टिकोण से मानक पुस्तकालय में गड़बड़ी क्या है, और गणित के पैकेजों की सूची को देखकर मुझे बहुत सारे संख्यात्मक (जैसे ब्लास, एफएफटी) दिखाई देते हैं लेकिन बहुत अधिक नहीं प्रतीकात्मक हेरफेर / कैस का तरीका। कहा जा रहा है कि ... दोनों किताबें वास्तव में दिलचस्प लगती हैं!
23

हां, वास्तविक गणित के कुछ उदाहरण महान होंगे (जैसे लिन। बीजगणित मैट्रिक्स परिवर्धन आदि ...) - यह देखने के लिए कि वास्तविक वाक्यविन्यास कैसा दिखता है। मुझे यकीन है कि वहाँ भी op-overloading नहीं है ...
एंड्री Drozdyuk

@ डॉज़ी: बेशक वहाँ ऑपरेटर ओवरलोडिंग है, टाइप कक्षाओं के माध्यम से।
nomen

4

जबकि मैं गणित पढ़ाने के लिए हास्केल का बहुत बड़ा प्रशंसक हूं, यह एएस / ए स्तर पर सभी विषयों के लिए उपयुक्त नहीं हो सकता है।

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

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

बेसिक कॉम्बिनेटरिक्स की सूची मोनाद के साथ तलाशना आसान है। यह संभाव्यता सिद्धांत को पढ़ाने के लिए उपयोगी हो सकता है।

हास्केल उस तरह के संख्यात्मक अनुप्रयोगों के लिए ठीक है जो ए / एएस स्तर पर दिखाई दे सकते हैं, जैसे। सिम्पसन के नियम को लागू करना या नमूना साधनों और भिन्नताओं की जांच करना।

क्या आप प्राथमिक समूह सिद्धांत करते हैं? हास्केल में कोड करना और खेलना आसान है।

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


2

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


हास्केल सीखना आसान है यदि आप पहले से ही इसके पीछे के गणित को जानते हैं। बहुत आसान।
नौ

@ नोमेन हो सकता है, लेकिन यह सवाल नहीं था।
लैंडेई

मैं कह रहा हूं कि प्रोग्रामिंग पृष्ठभूमि वाले किसी व्यक्ति के लिए सीखना कठिन होने के कारण इसे अयोग्य घोषित नहीं किया जाता है।
nomen

1

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


1
मुझे नहीं लगता कि कोई भी प्रोग्रामिंग भाषा को शाब्दिक रूप से गणित पढ़ाने की उम्मीद करता है और मुझे नहीं लगता है कि प्रोग्रामिंग भाषा के लिए पूछे गए मूल प्रश्न का शाब्दिक अर्थ गणित पढ़ाना है। वे ऐसा कुछ चाहते हैं जिसका उपयोग गणित के शिक्षण में मदद करने के लिए कुछ अभ्यासों के लिए किया जा सके।
user27539

चॉक, ब्लैकबोर्ड ...
क्वांट_देव

सहमत नहीं हैं। एक भाषा सिर्फ अभिव्यक्ति का एक साधन है। चाक, पेंसिल, कंप्यूटर: गणित को व्यक्त करने के लिए प्रयुक्त उपकरण। गणित को व्यक्त करने के लिए भाषाएं केवल उपकरण हैं। की तुलना करें हास्केल-करी समाकृतिकता प्रमेय (एक प्रोग्राम एक है सबूत एक रचनात्मक तर्क में)
nomen
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.