Inhalt
Voraussetzungen
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 im FS2018.
- Chronik der Vorlesung.
- Templates für die Zentralübungen.
- Vorlesungsforum.
Probeprüfung
- Wann
- Fr 29 März 2019
- Zeit
- 13.00 - 16.00
- Wo
- HG D 11 / HG D 12 / HG E 19 / HG E 26.1 / HG E 26.3 / HG E 27
Prüfung
- Wann
- Di 13 Aug 2019
- Zeit
- 14.00 - 17.00
- Wo
- HG E 26.01 : S - Sto
- HG E 26.3 : Str - Z
- HG G 1 : A - R
Alte Prüfungen
- Probeprüfung FS15 -- Prüfung FS15 (Template)
- Probeprüfung FS16 -- Prüfung FS16 (Template)
- Prüfung FS17 (Template)
- Prüfung WS16-17 ( Template)
- Prüfung WS17-18 (Ordnerlayout an der Prüfung,_Template WS17-18)
- Prüfung HS2018 (Template)
Übungsaufgaben
Aufgabenblatt | Abgabedatum | Lösung |
---|---|---|
Series 1 | -- | |
Series 2 Template | Di/Mi 05.03/06.03 | |
Series 3 Template | Di/Mi 12.03/13.03 | |
Series 4 Template | Fr 22.03 | |
Series 5 Template | Fr 29.03 | |
Series 6 Template | Fr 05.04 | |
Series 7 Template | Fr 12.04 | |
Series 8 Template | Fr 19.04 | |
Series 9 Template | Fr 03.05 | |
Series 10 Template | Fr 10.05 | |
Series 11 | Fr 17.05 | |
Series 12 Template | Fr 24.05 | |
Series 13 Template | Fr 31.05 |
Übungsgruppen
Zeit | Raum | Tutor | Sprache |
---|---|---|---|
Di 15-17 | CAB G 57 | Nadine Nussbaumer | de |
Di 15-17 | HG D 3.3 | Dario Stocco | de |
Di 15-17 | CHN G 22 | Gian Gentinetta | de |
Di 15-17 | ML F 40 | Sascha Bär | de |
Di 15-17 | NO C 60 | Marisa Bühler | de |
Mi 13-15 | ETZ J 91 | Florian Meier | de |
Mi 13-15 | HG E 21 | Adrian Rutschmann | de |
Mi 13-15 | HG G 26.3 | Philipp Weder | de |
Mi 13-15 | IFW A 34 | Tim Hofmann | de |
Mi 13-15 | LFW B 3 | Annina Lieberherr | 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 selber gibt es The Python Tutorial. Die Scipy Lecture Notes geben eine gründliche Einführung ins 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 den VPN der ETH benutzen.
- Hanke-Bourgeois, Grundlagen der numerischen Mathematik und des wissenschaftlichen Rechnens, Teubner, 2009.
- DeVries, Basbun, A first course in computational physics, Jones and Bartlett, 2011.
- Quarteroni, Sacco und Saleri, Scientific computing with MATLAB and Octave, Springer Verlag, 2010.
- Quarteroni, Sacco und Saleri, Numerical Mathematics, Springer Verlag, 2007.