Jestem zaangażowany w nauczaniu matematyki na zajęciach z wymaganiami, takimi jak i specyfikacji Matematyki poziom A.
książki klasy zwykle dostarczają przykładów oprogramowania komputerowego stosowane do zadań matematycznych, ale zwykle są one oparte na aplikacjach takich jak Mathlab, Mathematica lub wyprowadzenia.
Nawet wtedy, gdy prawdziwy jest używany język programowania, jest to zwykle stare fashoned język jak Pascal. I to jest naprawdę smutne moim zdaniem.
Ponieważ Haskell słynie z zamiłowania do matematyki, a także dlatego, że mnie to interesuje, chciałbym zapytać, czy Haskell jest dobrym wyborem jako metoda ćwiczeń przedłużających dla studentów pierwszego roku studiów. Typowe przedmioty są funkcje caclulus, ograniczeń, ale również liniowy Algebra np.
Mam pośrednie doświadczenie w programowaniu (c #, ruby, powershell, javascript, tex), a także podszedłem do programowania funkcjonalnego z XSLT.
Odpowiedzi zostaną upvoted odpowiedzialnie. Pełne odpowiedzi, w tym także niektóre podstawowe przykłady kodu Haskella stosowanego do matematyki, takie jak algebra liniowa (np. Przestrzeń wektorowa), wielomiany, rozwiązywanie równań liniowych są bardzo doceniane i ukierunkowane jako poszukiwane.
Odpowiedzi:
Haskell jest coraz większą popularność wśród matematyków. Jak ujął to jeden bloger:
Więc oto kilka zebranych poglądów, że czuję się mówi, że nie może pójść bardzo źle biorąc to podejście.
Jedenaście Powodów do korzystania Haskell jako matematyk Dan Piponi twierdzi, że tam naprawdę nie ma innego wyboru dla myślicieli matematycznych, jeśli chodzi o języki programowania.
Mikael Johansson jest matematyk w Stanford, który prowadzi zajęcia wyższym poziomie w matematyce poprzez Haskell. Można czytać jego bloga lub więcej o swoich kursach .
Pakiety matematyczne dotyczące hakowania , w tym kilka dużych bibliotek.
Wreszcie,
źródło
Choć jestem wielkim fanem Haskell do nauczania matematyki, to może nie być odpowiednie dla wszystkich tematów w AS / poziom.
Nie będziesz mieć problemu z nauczeniem pojęcia funkcji, a algebra liniowa może być przyjemna w Haskell. Algebra liniowa jest często nauczana w bardzo imperatywny sposób dzięki aktualizacjom tablic na miejscu. Można to wszystko przetłumaczyć na Haskell, ale może to wymagać nieco innego myślenia.
Ale staje się to trudne, gdy chcesz rozmawiać o limitach i rachunku różniczkowym. Odniosłem wielki sukces, wykonując rachunek różniczkowy w Haskell przy niekonwencjonalnym podejściu. Ale to może nie być świetny pomysł, gdy uczy się ustalonego programu nauczania. Alternatywnie można grać z symbolicznym różnicowania ale potem zaczniesz konieczności budowania typów danych dla wyrażeń, które mogą być trudne do poziomu A / AS. To nie jest dużo kodu, aby zacząć, ledwie kilka linii, ale to może być przerażające dla studentów. W przeciwieństwie do Derive i Mathematica, nie otrzymujesz symbolicznych wyrażeń za darmo.
Podstawowa kombinatoryka jest łatwa do eksploracji dzięki monadzie Lista. Może to być przydatne do nauczania teorii prawdopodobieństwa.
Haskell jest odpowiedni do aplikacji numerycznych, które mogą pojawić się na poziomie A / AS, np. stosując regułę Simpsona lub badając przykładowe środki i wariancje.
Robisz elementarną teorię grupy? To łatwe do kodu i grać z Haskell.
Ogólnie rzecz biorąc, jeśli przestrzegasz limitów, podejrzewam, że z Haskellem łatwo jest zrobić wiele matematyki na poziomie A / AS.
źródło
Nie jestem pewien, czy Haskell jest to wybór dobry. Pewnie, że ma bardzo matematyczny „uczucie”, zajmuje się nieskończonych struktur itd Ale można docenić te funkcje tylko wtedy, gdy już wiemy język. Uczenie Haskell w celu nauki matematyki stosy jedno trudne zadanie na drugim. I uczenia się Haskell jest trudne, nawet jeśli już wiesz programowania. Tak więc to naprawdę zależy od tego, czy twoja publiczność jest wystarczająco bystra i ciekawa, inaczej stracisz połowę z powodu matematyki, a drugą połowę z powodu Haskella.
źródło
Żaden język komputerowy nie nauczy Cię matematyki. Tylko matematyka nauczy Cię matematyki. To jest: pióro i podejście papieru (lub kredy i tablica) aksjomaty twierdzenia i dowody. To jest matematyka. Nie ważne jak język jest sexy, program napisany w nim nie jest matematyka, to po prostu aplikacja matematyki. Aby coś zastosować, musisz się go najpierw nauczyć.
źródło