Die Vorlesung findet zunächst nur auf Zoom statt:
Zoom Meeting ID ist 963 8984 0825. Das Password hat die Form ababab
wobei ab
die nächstgrössere Primzahl nach 42 ist. Den Direktlink
finden Sie im Channel der Vorlesung in eduapp. Achtung: nur "Signed in ETHZ Zoom
Users only" ist erlaubt.
Aus Sicherheitsgrunde ist es den Studierenden nicht erlaubt, die Links oder die Passworte, die in Verbindung mit dieser Vorlesung existieren, weiterzugeben; wer solche trotzdem weitergibt haftet vollumfänglich für mögliche Missbrauche.
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.
Sie können Ihre Serie elektronisch auf sam-up abgeben. Bitte beachten Sie, dass die Seite nur mit einer ETH internen IP Addresse aufgerufen werden kann. Ausserhalb der ETH müssen Sie VPN verwenden. Ausserdem müssen Sie auf mystudies in einer Übungsgruppe eingeschrieben sein. Falls es Fehler im Templatecode gibt, postet Sie bitte im Forum oder schreiben Sie Luc eine Email.
Die während des Semesters angebotenen Lernelemente messen die aktive Teilnahme im Übungsbetrieb, was in mehreren Teilschritten mit bis zu 0.25 Notenpunkten benotet wird. Dieser Bonus von 0 bis 0.25 wird ungerundet zu der ungerundeten Note aus der Prüfung addiert. In der Vorlesung Numerische Methoden wird die Mitarbeit benotet durch die Abgabe und Besprechung von Kernaufgaben. Studierende, die mindestens 3 der (total circa 10) Kernaufgaben sinnvoll bearbeitet haben, können in ihrer Endnote einen Bonus von maximal 0.25 Notenpunkten erhalten.
Aufgabenblatt | Abgabedatum | Lösung |
---|---|---|
Serie 1 (upd. 1; 2021-02-22 9:00) | -- | |
Serie 2, Templates 2 | 09.03/10.03 | |
Serie 3, Templates 3 | 16.03/17.03 | |
Serie 4, Templates 4 | 23.03/24.03 | |
Serie 5, Templates 5 | 13.04/14.04 | (upd. 2021-04-16 17:30) |
Serie 6, Templates 6 | 20.04/21.04 | |
Serie 7, Templates 7 | 27.04/28.04 | |
Serie 8, Templates 8 | 04.05/05.05 | |
Serie 9, Templates 9 | 11.05/12.05 | |
Serie 10, Templates 10 | 18.05/19.05 | |
Serie 11, Templates 11 (upd. 2: 2021-05-19 19:47) | 25.05/26.05 (ideal) / 01.06/02.06 (strikt) | |
Serie 12 (upd. 1: 2021-05-31 09:00), Templates 12 | 01.06/02.06 |
python3
,
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.
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
.
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.
Zwar ist
vim
GNU Emacs
vim
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.
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.
Das D-INFK stellt ein Tutorial für Studenten mit C++ Vorkenntnissen zur Verfügung. Es ist eine wunderbare Mischung aus kurz und gründlich. Trotzdem liesst es sich recht leicht. Die Scipy Lecture Notes geben eine gründliche Einführung in das numerische Rechnen in Python. Das wichtigste Kapitel ist Numpy.
Code muss leserlich sein, deswegen sollte man sich beim Programmieren Zeit lassen um sich gute Namen auszudenken. Ausserdem sollte der Code auf eine standardisierte Weise formatiert werden. In Python werden die wichtigsten Regeln in PEP8 definiert. Leserlichen Code zu schreiben braucht Übung, bitte nutzen Sie dazu die Übungsserien.
Ausser DeVries können alle Bücher gratis als PDF herunter geladen werden. Eventuell muss man das VPN der ETH benutzen.