Ich unterrichte Mathematik in Klassen mit Anforderungen wie AS- und A-Level-Mathematik.
Schulbücher enthalten normalerweise Beispiele für Computersoftware, die für mathematische Aufgaben verwendet wird, sie basieren jedoch normalerweise auf Softwareanwendungen wie mathlab, mathematica oder derivate.
Selbst wenn eine echte Programmiersprache verwendet wird, ist sie normalerweise eine altmodische Sprache wie Pascal. Und das ist meiner Meinung nach wirklich traurig.
Weil Haskell für sein Gefühl für Mathematik bekannt ist und weil ich mich auch dafür interessiere, möchte ich fragen, ob Haskell eine gute Wahl für die Erweiterung der Übungsmethode für Studenten einer Universitätsklasse im ersten Jahr ist. Typische Themen sind beispielsweise Funktionen, Caclulus, Limits, aber auch lineare Algebra.
Ich habe mittlere Programmierkenntnisse (c #, ruby, powershell, javascript, tex) und bin bereits mit XSLT in die funktionale Programmierung eingetreten.
Antworten werden verantwortungsbewusst hochgestuft. Ausführliche Antworten, einschließlich einiger grundlegender Beispiele für Haskell-Code in der Mathematik, wie z. B. lineare Algebra (z. B. vektorieller Raum), Polynome und das Lösen linearer Gleichungen, werden sehr geschätzt und als erwünscht eingestuft.
Antworten:
Haskell erfreut sich bei Mathematikern wachsender Beliebtheit. Wie ein Blogger es ausdrückte:
Hier sind einige gesammelte Ansichten, von denen ich glaube, dass Sie mit dieser Herangehensweise nicht furchtbar falsch liegen können.
Elf Gründe, Haskell als Mathematiker einzusetzen, argumentiert Dan Piponi, dass es für Mathematiker keine andere Wahl gibt, wenn es um Programmiersprachen geht.
Mikael Johansson ist ein Mathematiker in Stanford, der über Haskell Kurse in Mathematik auf höherer Ebene unterrichtet. Sie können seinen Blog oder mehr über seine Kurse lesen .
Mathematikpakete zu Hackage , einschließlich mehrerer großer Bibliotheken.
Endlich,
quelle
Obwohl ich ein großer Fan von Haskell für den Mathematikunterricht bin, ist es möglicherweise nicht für alle Themen auf AS / A-Ebene geeignet.
Sie werden kein Problem damit haben, die Idee einer Funktion zu lehren, und lineare Algebra kann in Haskell nützlich sein. Lineare Algebra wird häufig auf sehr zwingende Weise mit direkten Aktualisierungen von Arrays gelehrt. Es kann alles in Haskell übersetzt werden, aber es erfordert möglicherweise ein wenig Umdenken.
Aber es wird schwierig, über Grenzen und Kalkül zu sprechen. Ich habe in Haskell große Erfolge mit einem unkonventionellen Ansatz erzielt. Aber das ist vielleicht keine gute Idee, wenn man einen festen Lehrplan unterrichtet. Alternativ können Sie mit symbolischer Differenzierung spielen, müssen dann aber Datentypen für Ausdrücke erstellen, die für A / AS-Level schwierig sein können. Es ist nicht viel Code, um anzufangen, kaum ein paar Zeilen, aber es könnte für Studenten beängstigend sein. Im Gegensatz zu Derive und Mathematica erhalten Sie symbolische Ausdrücke nicht kostenlos.
Die grundlegende Kombinatorik lässt sich mit der List-Monade leicht erkunden. Dies könnte nützlich sein, um Wahrscheinlichkeitstheorie zu lehren.
Haskell eignet sich für numerische Anwendungen, wie sie auf A / AS-Ebene auftreten können, z. Anwendung der Simpson-Regel oder Untersuchung von Stichprobenmitteln und -abweichungen.
Machst du elementare Gruppentheorie? Das ist einfach in Haskell zu programmieren und damit zu spielen.
Wenn Sie sich um Grenzen kümmern, ist es meines Erachtens unkompliziert, mit Haskell einen Großteil der Mathematik auf A / AS-Niveau zu betreiben.
quelle
Ich bin mir nicht sicher, ob Haskell eine gute Wahl ist. Sicher, es hat ein sehr "mathematisches Gefühl", befasst sich mit unendlichen Strukturen usw. Aber Sie können diese Funktionen nur schätzen, wenn Sie die Sprache bereits kennen . Haskell lernen, um Mathematik zu lernen, stapelt eine schwere Aufgabe auf die andere. Und Haskell zu lernen ist schwierig, auch wenn Sie bereits mit Programmieren vertraut sind. Es kommt also wirklich darauf an, ob Ihr Publikum hell und neugierig genug ist, ansonsten verlieren Sie die Hälfte aufgrund von Mathematik und die andere Hälfte aufgrund von Haskell.
quelle
Keine Computersprache bringt Ihnen Mathematik bei. Nur Mathematik wird Ihnen Mathematik beibringen. Das heißt: Stift und Papier Ansatz (oder Kreide und Tafel), Axiome, Theoreme und Beweise. Das ist Mathematik. Egal wie sexy die Sprache ist, ein darin geschriebenes Programm ist keine Mathematik, es ist nur eine Anwendung der Mathematik. Um etwas anzuwenden, müssen Sie es zuerst lernen.
quelle