Numerische Methoden Frühjahr 2017

Dozent
Vasile Gradinaru
Übungsorganisator
Luc Grosheintz-Laval
Vorlesung
Di & Fr 8-10, HG F 1
Übungen
Di 15-17, Mi 13-15
Study Center
Do & Fr 17-20, HG E 41
Prüfung
Do 17.08, 9-12
Prüfungseinsicht
Di 26.09, 12-13, HG D 5.1

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.
Voraufgabe Aufgabenblatt Lösung Abgabedatum
Voraufgabe 1 Serie 1-2
Serie 2 Templates 2 Di./Mi. 14.3/15.3
Serie 3 Templates 3 Di./Mi. 14.3/15.3, wie Serie 2
Serie 4 Templates 4 Di./Mi. 21.3/22.3
Serie 5 Templates 5 Di./Mi. 28.3/29.3
Serie 6 Templates 6 Di./Mi. 4.4/5.4
Serie 7 kein Template Di./Mi. 11.4/12.4
Serie 8-1 Template 8 Di./Mi. 24.4/25.4
Serie 9 Template 9 Di./Mi. 16.5/17.5
Serie 10 Template 10-1 Di./Mi. 23.5/24.5
Serie 11-2 Template 11-1 Di./Mi. 30.5/31.5
Serie 12-1 Template 12
Probeprüfung Template Probeprüfung ML Referenzcode

Probeprüfung

Die Probeprüfung findet am Mi. 3.5.2017 13-15 und am Fr. 5.5.2017 17-19 statt. Studenten welche sich für die Mittwochsübungen eingeschrieben haben besuchen bitte die Probeprüfung am Mittwoch. Da am Diestag nicht genug Computerräume frei sind, bitten wir Studenten welche am Diestag für die Übungen eingeschrieben sind, am Freitag die Probeprüfung zu schreiben.

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.

Stoff

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

Hilfsmittel

An der Prüfung und an der Probeprüfung stehen eine elektronische Kopie des Skripts zur verfügung, ausserdem dürfen Sie 10 Seiten, A4, einer eigenhändig verfassten Zusammenfassung mitbringen. Die Zusammenfassung muss handgeschrieben sein; nicht ausgedruckt und nicht kopiert.

Alte Prüfungen

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

ZeitRaumTutorBesonderes
Di 15-17CAB G 57Alisha Dütschler
Di 15-17CHN G 22Michael Hug
Di 15-17HG E 27Tim HofmannComputerraum
Di 15-17HG F 26.3Patrick Neuweiler
Di 15-17IFW A 36Anne-Catherine de la Hamette
Di 15-17ML F 40Julian Lang
Mi 13-15CHN D 44Filippo Sottovia
Mi 13-15HG E 1.1Denis Loos
Mi 13-15HG E 21Julien Gacon
Mi 13-15HG E 19Janis FluriComputerraum
Mi 13-15IFW A 34Martina Grether
Mi 13-15LFV E 41Alexander Bohn

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 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.