Vorausetzung
Es wird erwartet, dass die Studenten zu einem funktionierenden Python3 Zugang haben und wissen wie man einen Text-Editor und eine Shell benutzt. Hinweise dazu gibt es hier.
Vorlesungsunterlagen
- Vorlesungsnotizen zur Vorlesung.(Alte Version).
- Aufzeichung der Vorlesung.
- Chronik der Vorlesung.
- Forum
Alte Prüfungen
Übungsaufgaben
Bitte bringt euren Laptop in die Übungsstunden mit. Für Code und andere elektronische Dateien gibt es die elektronische Abgabe (Gebrauchsanweisung (EN)). Falls es Fehler im Templatecode gibt, könnt ihr Adrian eine Email schreiben. Die aktive Mitarbeit in den Übungen (=3 Kernaufgaben bestanden) wird benotet und in die Endnote mit maximal 0.25 Notenpunkten eingerechnet, falls dies die Note verbessert. Um die Notenpunkte eingerechnet zu bekommen, muss jede Kernaufgabe mit den Tutoren besprochen werden.
Aufgabenblatt | Abgabedatum | Lösung |
---|---|---|
Serie 1 | -- | |
Serie 2 Template | Di/Mi 03.03./04.03. | Loesung2 |
Serie 3 Template | Di/Mi 17.03./18.03. | Loesung3 |
Serie 4 Template | Di/Mi 24.03./25.03. | Loesung4 |
Serie 5 Template | Di/Mi 31.03./01.04. | Loesung5 |
Serie 6 Template | Di/Mi 07.04./08.04. | Loesung6 |
Serie 7 Template | Di/Mi 21.04./22.04. | Loesung7 |
Serie 8 Template | Di/Mi 28.04./29.04. | Loesung8 |
Serie 9 Template | Di/Mi 05.05./06.05. | Loesung9 |
Serie 10 Template | Di/Mi 12.05./13.05. | Loesung10 |
Serie 11 Template | Di/Mi 19.05./20.05. | Loesung11 |
Serie 12 Template | Di/Mi 26.05./27.05. | Loesung12 |
Serie 13 Template | Di/Mi 02.06./03.06. | Loesung13 |
Übungsgruppen
Zeit | Zoom meeting ID | Tutor | Sprache |
---|---|---|---|
-- | (siehe Anna) | Alessandro Vinciguerra | DE |
Di 15-17 | 735215889 | Maximilian Hofer | DE |
Di 15-17 | 903681770 | Dominique Zehnder | DE |
Di 08-10 | 519037036 | Anna Knörr | DE |
-- | (siehe Maximilian) | Jan Erne | DE |
Di 15-17 | 322930205 | Michael Eichenberger | DE |
Mi 13-15 | 495575090 | Marisa Bühler | DE |
-- | -- | Luca Morf | DE |
Mi 13-15 | 569586709 | Nadine Nussbaumer | DE |
Mi 13-15 | 273111693 | Gian Gentinetta | DE |
Mi 13-15 | 582566115 | Max Glantschnig | DE |
Python
Installation
Software Pakete
Die Vorlesung verwendet Python3. Die folgenden Python Pakete sollten installiert werden:- NumPy
- SciPy
- matplotlib
- ipython
Linux
Benutzt den Paketmanager um Python3 und alle restlichen dependencies zu installieren. Die Pakete heissen meistpython3
,
python3-numpy
,
python3-scipy
,
python3-matplotlib
.
Ausser bei Arch Linux, dort ist Python3 schon der default und die Pakete
heissen python
und python-{numpy,scipy,matplotlib}
.
Sollte eines der Pakete nicht im repository vorhanden sein, sollte man
python3-pip
installieren und danach die fehlenden Pakete mittels
pip3 install --user numpy pip3 install --user scipy pip3 install --user matplotlib pip3 install --user ipythoninstallieren.
OS X
Eine Möglichkeit ist es Homebrew zuverwenden.
brew install python3 pip3 install --user numpy scipy matplotlib ipython
Die andere ist Anaconda.
Anaconda installiert eine vollständige Pythonumgebung, inklusive Paketemanager.
Wenn ihr Pakete für Anaconda installieren wollt, müsst ihr den Anaconda
Paketmanager conda
benutzen, nicht pip
.
Windows
Siehe Abschnitt zu Anaconda unter OS X.
Im Hinblick auf die Prüfung empfielt es sich aber entweder für Windows 10 das eingebaute Ubuntu auszuprobieren oder Cygwin zu benutzen. Dual-boot oder eine VirtualBox sind weitere Alternativen.
Integrated Development Environment
Zwar ist vim GNU Emacs der beste Text-Editor,
dennoch lohnt es sich eine IDE anzuschauen. Zwei gute sind
Spyder
und
PyCharm.
Trotzdem gefällt manchen ein guter Text-Editor wie
Atom, Emacs oder Vim besser.
IDEs und personalierte Editoren sind super. An der Prüfung jedoch gibt es einen standard Text-Editor wie Gedit und eine Shell. Übt ab und zu auch in einer minimalen Linuxumgebung zu programmieren.
Einführung in Python
KISS ist eines der wichtigsten Programmiertechniken. Durchlesen, verinnerlichen und immer anwenden.
Das erste Übungsblatt sollte als Einführung in Python reichen. Wer jedoch schon vorher beginnen will, oder mehr lernen will, findet hier einige Referenzen.
Zu Python selbst gibt es The Python Tutorial. Die Scipy Lecture Notes geben eine gründliche Einführung in das numerische Rechnen in Python. Das wichtigste Kapitel ist Numpy.
Dieses Tutorial wurde im FS15/16 verwendet.
Code muss leserlich sein, deswegen ist Stil sehr wichtig. In Python heissen diese Regeln PEP8.
Literatur
Ausser DeVries können alle Bücher gratis als PDF herunter geladen werden. Eventuell muss man das VPN der ETH benutzen.
- Hanke-Bourgeois, Grundlagen der numerischen Mathematik und des wissenschaftlichen Rechnens, Teubner, 2009.
- DeVries and Basbun, A first course in computational physics, Jones and Bartlett, 2011.
- Kiusalaas, Numerical Methods in Engineering with Python 3, Cambridge University Press, 2013.
- Johansson, Numerical Python, Apress, 2015.
- Dahmen and Reusken, Numerik für Ingenieure und Naturwissenschaftler, Springer, 2008.