2009-02-27 4 views
7

Ich muss eineinhalb Stunden Seminar über Programmierung für Studenten an der Fakultät für Mathematik liefern.Python für Mathematikstudenten?

Ich habe Python als Sprache gewählt.

  1. Was sollte Inhalt meiner Präsentation sein?
  2. Was sind gute Ressourcen verfügbar?
  3. Was ist die Notwendigkeit der Programmierung für Mathematikstudenten?
  4. Wie wird das Programmieren ihnen helfen?

Thank you !!!

HINWEIS: Ich weiß here ein Beitrag ist, aber es ist mein Problem nicht lösen.

Antwort

4

Unter der Annahme, dass diese Schüler in die Programmierung neu sind (was für Mathestudenten sehr wahrscheinlich ist), werden Sie wollen, dass sie eine grundlegende Einführung in die Programmierung geben (was eine Funktion ist, was eine Variable ist, wie unterscheiden sich diese von Funktionen und Variablen in Mathematik, usw.).

Zeigen Sie ihnen einige Beispielprogramme, mit Blick auf die Dinge, die für Mathematik hilfreich sein: numerische Methoden, Matrix-Multiplikation usw.

Wo immer möglich, wow sie so, dass sie dann für über die Verwendung von Computern aufregen ihre eigenen Projekte. Some Python/Math resources

0

Ich gehe davon aus, dass dies für Erstsemester ist (nur weil die meisten höheren Mathematikstudenten wahrscheinlich wissen, wie man programmiert)? Wenn ja, mache etwas, das Spaß macht und relevant ist. Gehen Sie die Grundlagen durch, aber führen Sie sie durch das logische/grundlegende Framework für ein Spiel (das stark mathematisch orientiert ist) oder Python-Based Graphing Calculator.

Wenn Sie sie wirklich geeked bekommen wollen, zeigen Sie ihnen Mathematica. Ich weiß, es ist nicht das, was du ausgewählt hast ... aber als ich ein Major von Sophomore Math war und zum ersten Mal sah, was du damit tun kannst, war ich verliebt.

+0

Sie können auch Sage Notebook, die ziemlich cool ist - und ist Python-basiert. – nimrodm

0

Python wird gut funktionieren, aber GNU Octave kann besser sein.

+0

Oktave kann besser für technische Studenten sein. Nicht sicher über Mathe. – nimrodm

0

Was Inhalt meiner Präsentation enthalten sein sollte?

Das Konzept funktionale Programmierung mit Python. Einige Einführung in die Module von Drittanbietern wie NumPy und SciPy.

Was sind gute Ressourcen?

Hans Petter Langtangen, Python Scripting für Computational Science, Springer

Was Notwendigkeit der Programmierung für Mathematikstudenten ist?

Keine. Normalerweise haben Mathematikstudenten kein Problem mit der Programmierung, da die meisten Programmiersprachen entwickelt wurden, um mathematische Probleme zu lösen.

Wie wird das Programmieren ihnen helfen?

Der Computer wurde früher als ein Werkzeug entwickelt für Wissenschaftler, sie zu helfen wissenschaftliche/Mathematik Probleme effizient in kürzester Zeit zu lösen , wie die menschlichen verglichen.

+0

> Was ist die Notwendigkeit der Programmierung für Mathematikstudenten? Keiner. Dies ist eine sehr seltsame Antwort. –

1

Sie werden entscheiden müssen, was Sie ihnen zeigen möchten. Wenn Sie ihnen zeigen wollen, wie man einen Computer benutzt, kann ein nützliches Werkzeug in der Mathematik sein, um ihnen zu zeigen, wie man mit numerischen Methoden arbeiten kann, um Antworten auf schwierige Fragen zu erhalten. Dann manipuliere einige algebraische Formeln damit. Vielleicht zeigen Sie, wie es durch harte Integrale und Derivate schwitzen kann. Sie werden sich dem Ende einiger ihrer ersten Calulus-Kurse nähern.

Nichts davon zeigt, warum sie wissen müssen, wie man natürlich programmiert. Dies zeigt nur, wie nützlich die Programmierung anderer Leute für sie ist. Während Sie die volle Macht von Python in Salbei haben, ist die Realität die seltsame "for-Schleife" und einige "if-Statements" sind wirklich die ganze Programmierung, die die meisten Mathematiker mit Salbei die meiste Zeit machen werden (obwohl es eine signifikante Minderheit gibt, die wird viel mehr tun). Wenn Sie diesen Weg gehen wollen, würde ich vorschlagen, dass Sie versuchen, eines der experimentellen Mathematik Bücher (http://www.experimentalmath.info/) zu bekommen. Dies sind die Leute, die (neben vielen anderen interessanten Ergebnissen) mit BBP-Nummern aufwarten konnten: Auf diese Weise können beliebige Ziffern von pi gefunden werden. Sie verwenden hauptsächlich Ahorn und Mathematica, aber die meisten dieser Arbeit bedeutet Salbei.

Ich würde dringend vorschlagen, dass Sie ihnen nicht zeigen, wie numerische Methoden selbst zu implementieren. Sehr wenige Mathematiker schreiben Programme, um numerische Probleme zu lösen. Die meisten stecken ihre Programme einfach in Programme anderer Leute. Ich denke also nicht, dass sie zeigen könnten, wie sie diese Methoden selbst implementieren könnten, wenn sie nur programmieren könnten und jeden begeistern würden.

Wenn dies ich wäre, würde ich wahrscheinlich ein Seminar geben, das ein einfaches Spielplugin für cgsuite (http://cgsuite.sourceforge.net/) erstellt. Ich erkenne, dass dies Java ist und nicht Python, aber sie sind eine Menge Vorteile für diesen Ansatz. Erste junge Mathematiker sind immer begeistert von kombinatorischer Spieltheorie. Sie zeigen ihnen im Grunde, wie sie Mathe verwenden können, um bei bestimmten Spielen immer zu gewinnen. Es ist, als würdest du ihnen eine Superkraft geben.

Zweitens implementieren Sie die Regeln eines Spiels in einem Programm. Spielregeln sind großartige Möglichkeiten, Programmiersprachen zu lernen, weil sie so direkt in Programmierkonzepte übersetzt werden.

Und schließlich haben Sie am Ende ein Werkzeug, das Ihr Spiel perfekt spielen kann. 90 Minuten sind eine lange Zeit für ein Seminar, soweit es mich betrifft. Wenn Sie mit einem Knall aufhören können, wie mit 10 Minuten eines Spiels gegen einen Computer, werden sie aufgeregt statt gelangweilt und ausgelaugt verlassen.

1

Ich würde empfehlen, ein paar verschiedene Arten von Problemen von Project Euler in Python zu lösen und eine Diskussion über die Lösungen zu führen, wie sie anders gemacht werden könnten, um effizienter zu sein, etc. als Teil des Seminars. Python ist eine sehr elegante Sprache, um mathematische Probleme zu lösen. Es sollte einer von denen sein, die von Mathematikstudenten leichter verstanden werden als die meisten anderen. Ich denke, Sie haben dort eine gute Wahl getroffen.

0

http://www.sagemath.org

In unserem Wiki ist eine Sammlung von Gesprächen ist, können sie Ihnen helfen! http://wiki.sagemath.org/Talks

Beachten Sie auch, dass Sage NumPy, SciPy und SymPy enthält. Daher sind alle Informationen über diese drei Python-Bibliotheken für Sage gültig.

2

Ich würde bringen mit Python als kostenlose & Open-Source-Option ersetzen/ergänzen teure Pakete wie Matlab, IDL, etc. über:

  • scipy - FFTs,
  • ipython - "Shell"/Debugger
  • matplotlib - 2d
  • MayaVi grafische Darstellung - 3D-Darstellung/Visualisierung

This video kann hilfreich sein.