Numerische Methoden Frühjahr 2018

Dozent
Vasile Gradinaru
Übungsorganisator
Kjetil Olsen Lye
Vorlesung
Di & Fr 8-10, HG F 1
Übungen
Di 15-17, Mi 13-15
Study Center
Do & Fr 17-20, HG E 41

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

Bitte bringt euren Laptop in die Übungsstunden mit. Im HG J 68 stehen Fächer für die Abgabe bereit. Für Code und andere elektronische Dateien gibt es die elektronische Abgabe (Gebrauchsanweisung (EN)). Falls es Fehler im Templatekode gibt, könnt ihr Kjetil ein Email shcreiben. Die aktive Mitarbeit in den Übungen (=3 x Kernaufgaben bestanden) wird benotet und in die Endnote mit maximal 0.25 Notenpunkten eingerechnet, falls dies die Note verbessert.
Voraufgabe Aufgabenblatt Lösung Abgabedatum
Serie 1-2
Serie 2 Templates 2
Serie 3 Templates 3
Serie 4 Templates 4
Serie 5 Templates 5
Serie 6 Templates 6
Serie 7 Templates 7
Serie 8 Templates 8
Serie 9 Templates 9

Die Probeprüfung, zusammen mit den Templates

Die Probeprüfung findet am Di. 17.04.2018 08-10 und am Mi. 18.04.2018 13-15 statt. Studenten welche sich für die Mittwochsübungen eingeschrieben haben besuchen bitte die Probeprüfung am Mittwoch.

Dauer und Gewicht

Die Probeprüfung dauert 90 Minuten. Sie hat keinen Einfluss auf die Note und dient hauptsächlich dazu sich vor der Prüfung mit der Linuxumgebung vertraut zu machen.

Räume

HARaumZeit
Ronan SchwarzHG D 11Di. 08-10
Oliver KnappHG D 12Di. 08-10
Lara BohnenblustHG D 19Di. 08-10
Anian AltherrHG E26.1Di. 08-10
Marius GächterHG E26.3Di. 08-10
Julien GaconHG E 27Di. 08-10
Vivienne LangenHG E 27Di. 08-10
Timothy JennyHG D 11Mi. 13-15
Alexander OkupnikHG D 12Mi. 13-15
Cosima RuzzoHG E 19Mi. 13-15
Tim HofmannHG E26.1Mi. 13-15
Mikael FrosiniHG E26.3Mi. 13-15

Stoff

Der Stoff der Probeprüfung sind die Vorlesungen bis vor die Osterferien und alle Serien bis Serie 5 (inklusive).

Hilfsmittel

An der Prüfung und an der Probeprüfung stehen eine elektronische Kopie des Skripts zur verfügung.

Die Einteilung in die Übungsgruppen erfolgt via echo.ethz.ch/s.

ZeitRaumTutorSprache
Di 15-17CAB G 57Ronan Schwarz
Di 15-17CHN G 22Oliver Knapp
Di 15-17HG D 3.3Lara Bohnenblust
Di 15-17CHN D 42Anian Altherr
Di 15-17IFW A 36Marius Gächter
Di 15-17ML F 40Julien Gacon
Di 15-17NO C 60Vivienne Langen
Mi 13-15ETZ J 91Timothy Jenny
Mi 13-15HG D3.2Alexander Okupnik
Mi 13-15HG E 21Cosima Ruzzo
Mi 13-15HG G 26.3Tim Hofmann
Mi 13-15IFW A 34Mikael Frosini

Installation

Software Pakete

Die Vorlesung verwendet Python3. Die folgenden Python Pakete sollten installiert werden:

SSH

Als ETH-Student kann man sich auf die Linuxrechner per SSH einloggen. Python ist dort bereits installiert.

Linux

Benutzt den Paketmanager um Python3 und alle restlichen Dependencies zu installieren. Die Pakete heissen meist 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 ipython
installieren.

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.

Ausser DeVries können alle Bücher gratis als PDF herunter geladen werden. Eventuell muss man den VPN der ETH benutzen.