Personal tools

Numerisches Programmieren - Summer 18

From Sccswiki

Jump to: navigation, search
Term
Summer 2018
Lecturer
Univ.-Prof. Dr. Thomas Huckle
Time and Place
Vorlesung: Dienstag, 14:15-15:45 Uhr, HS 1, Friedrich L. Bauer Hörsaal
Übungen: siehe unter Übungstermine
Audience
Studiengang Informatik (Bachelor), Studiengang Informatik: Games Engineering (Bachelor) (Modulbeschreibung )
Tutorials
Michael Rippl, Fabio Gratl.
Exam
Die Klausur findet am 16.07.2018 von 10:30 bis 12:00 statt.
Semesterwochenstunden / ECTS Credits
5 SWS (2V + 3Ü) / 6 Credits
TUMonline
Vorlesung Numerisches Programmieren
Tutorübung Numerisches Programmieren
moodle



Willkommen zur Veranstaltung Numerisches Programmieren im Sommersemester 2018!

Die Vorlesung Numerisches Programmieren ist eine Pflichtveranstaltung im Bachelor Informatik, bestehend aus einer zweistündigen Vorlesung mit Klausur und einem dreistündigen Übungsteil. Dementsprechend richtet sie sich primär an Studierende der Informatik (Bachelor) im 4./5. Semester. Vorausgesetzt werden fundierte Kenntnisse aus den Vorlesungen Lineare Algebra für Informatiker und Analysis für Informatiker sowie der Programmiersprache Java. Alle weiteren Informationen zu Vorlesung, Übungsbetrieb, Programmieraufgaben und Klausur finden Sie unten.

Contents

Aktuelles

24.09.2018 Die Klausureinsicht findet am 16.10.2018 von 15-18 Uhr im Raum 02.07.023 statt.
18.09.2018 Die Klausurergebnisse wurden auf TumOnline veröffentlicht. Eine Möglichkeit zur Einsicht wird voraussichtlich in der ersten Woche des neuen Semesters stattfinden.
12.07.2018 Die Zuteilung Student - Hörsaal für die Prüfung ist nun unten verfügbar.
03.07.2018 Übungsgruppe 16 muss heute (03.07.) leider entfallen. Bitte auf die zeitgleiche Gruppe 3 in Raum 02.07.014 ausweichen
12.06.2018 Vorlesung am 26.6. entfällt. Dafür finden die letzen Vorlesungen jeweils von 14:05 - 15:50 statt
24.05.2018 Übungsgruppe 13 muss leider kurzfristig entfallen am 24.05. Bitte auf die anderen Übungsgruppen ausweichen
16.05.2018 Übungsgruppe 16 findet ab sofort im Raum 03.09.014 statt.
09.05.2018 Übungsblatt 5: Aufgrund der Feiertage finden vom 21.05-25.05. nur die Übungsgruppen 11, 12, 13 statt. Alle anderen Gruppen finden in der Woche vom 28.05-01.06 statt.
27.04.2018 Übungsblatt 3: Aufgrund der Feiertage finden vom 30.04-04.05. nur die Übungsgruppen 11, 12, 13 statt. Alle anderen Gruppen finden in der Woche vom 07.05-11.05 statt.
25.04.2018 Die Tutorübung der Gruppe 11 wird findet am Donnerstag, den 25.04.2018, 20 Minuten später, d.h. um 09:50, statt.
23.04.2018 Die Tutorübung der Gruppen 4 und 16 werden mit Gruppe 3 zusammengelegt am Dienstag, den 23.04.2018. Sie finden in Raum 01.11.018 statt.
23.04.2018 Die Tutorübung der Gruppe 6 wird mit Gruppe 5 zusammengelegt am Dienstag, den 23.04.2018. Sie finden in Raum 01.09.014 statt.
19.04.2018 Die Tutorübung der Gruppe 7 entfällt am 25.04.2018 aufgrund der Fachschaftsvollversammlung. Bitte auf die anderen Übungsgruppen ausweichen.
17.04.2018 Die Tutorübung der Gruppe 7 findet morgen (18.04.2018) in Raum 02.07.023 statt.
09.04.2018 Die Tutorübungen fangen in der Woche 16.-20. April an.
09.04.2018 Die erste Vorlesung findet am 10. April statt.

Vorlesung

Allgemeine Hinweise finden Sie im Merkblatt zur Veranstaltung.


Folien begleitend zur Vorlesung

Vorlesung Datum Thema
1 10.04.2018 Warum Numerik/Rechnerarithmetik und Rundungsfehler
2 17.04.2018 Rechnerarithmetik und Rundungsfehler
3 24.04.2018 Kondition, Stabilität, Neuronale Netze
4 08.05.2018 Lineare Gleichungssysteme
5 15.05.2018 Lineare Gleichungssysteme 2, Interpolation
6 29.05.2018 Interpolation 2, Quadratur
7 05.06.2018 Quadratur 2, Fourier Transformation
8 12.06.2018 Fourier Transformation 2
9 19.06.2018 Fourier Transformation 3, Fixpunktiteration
10 03.07.2018 Fixpunktiteration, Iterative Lösung Linearer Gleichungssysteme
11 10.07.2018 Eigenwerte, Gewöhnliche und partielle Differentialgleichungen

Folien von Prof. Huckle aus dem SoSe 2017

Vorlesung Datum Thema
1 25.04.2017 Warum Numerik/Rechnerarithmetik und Rundungsfehler
2 02.05.2017 Rechnerarithmetik und Rundungsfehler
3 09.05.2017 Kondition, Stabilität
4 16.05.2017 Lineare Gleichungssysteme
5 23.05.2017 Lineare Gleichungssysteme 2
6 30.05.2017 Interpolation
7 13.06.2017 Interpolation 2, Quadratur
8 20.06.2017 Quadratur, Fourier Transformation
9 27.06.2017 Fixpunktiteration Nullstellenbestimmung
10 04.07.2017 Schnelle Fourier Transformation
11 11.07.2017 Wavelets, Iterative Lösung Linearer Gleichungssysteme
12 18.07.2017 Eigenwerte, Gewöhnliche Differentialgleichungen
13 25.07.2017 Gewöhnliche und partielle Differentialgleichungen

Folien von Prof. Bungartz aus dem WiSe 2017/18

Vorlesung Datum Thema
1 17.10.2017 Introduction and Literature

Motivation and Introduction

2 24.10.2017 Interpolation
3 18.11.2017 Numerical Integration
4 05.12.2017 Systems of Linear Equations
5 12.12.2017 Ordinary Differential Equations
6 19.12.2017 Iterative Methods: Roots and Optima
7 23.01.2018 Iterative Methods: The Symmetric Eigenvalue Problem
8 06.02.2018 Hardware-Aware Numerics

Literatur

Zur Vertiefung der Inhalte, als Lernvorlage und Nachschlagewerk empfiehlt sich insbesondere das Buch von Prof. Huckle Numerik für Informatiker (als eBook von der Bibliothek verfügbar in der alten Auflage). Einen kleinen Ausschnitt aus der Vielzahl an Veröffentlichungen zu den Themen der Vorlesung stellt die folgende Literaturliste dar.

  • Dahmen, Reusken: Numerik für Ingenieure und Naturwissenschaftler, Springer-Verlag, Berlin-Heidelberg, 2. Auflage 2008
  • Huckle, Schneider: Numerische Methoden - Eine Einführung für Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker, Springer-Verlag, Berlin-Heidelberg, 2. Auflage 2006
  • Späth: Numerik - eine Einführung für Mathematiker und Informatiker, Vieweg, Braunschweig-Wiesbaden, 1994
  • Schwarz: Numerische Mathematik, Teubner, Stuttgart, 4. Auflage 1997 (Nachdruck 2001)
  • Stoer, Bulirsch: Numerische Mathematik, Springer-Verlag, Berlin Heidelberg, Band 1 (10. Auflage 2007) und Band 2 (5. Auflage 2005)
  • Press, Flannery, Teukolsky, Vetterling: Numerical Recipes Cambridge University Press, http://www.nr.com/
  • Golub, Ortega: Scientific Computing: An Introduction with Parallel Computing Academic Press, 1993
  • Java Blockkurs des Wintersemesters 05/06
  • Java-Seiten von Sun Microsystems
  • Java FAQ Archives

Korrektur von Druckfehlern der 1. Auflage des Buches von Prof. Huckle

Lösungen zu einigen Aufgaben des Buches von Prof. Huckle

Gute Grundlagenbuch zur Wiederholung/Auffrischung/Vertiefung:

  • Arens, Hettlich, Karpfinger, Kockelkorn, Lichtenegger, Stachel: Mathematik, Spektrum Akademischer Verlag, Heidelberg, 2008

Übungen

Die Übungen sind jeweils 2 Studnen lang. Sind die unten aufgeführten Gruppen mit 3-stündigen Slots versehen, so wird die Zeit noch auf 2 Stunden eingeschränkt. Die Aufgabenblätter und die Lösungen aus den Tutorien finden sie hier im Laufe des Semesters als PDF zum Download.

Die Anmeldung zu den Tutorgruppen erfolgt über Tutoranmeldung.

Bitte beachten Sie den angebotenen Notenbonus zur Honorierung reger Übungsteilnahme.

Gruppe Tag Zeit Raum Tutor
1 Mo 11:45 - 13:45 02.09.023 Boschko, Dmitrij
2 Mo 16:15 - 18:15 01.06.020 Haller, Vivian
3 Di 12:00 - 14:00 02.07.014 Felix Ackermann
4 Di 12:00 - 14:00 01.11.018 Fabio Gratl
16 Di 12:00 - 14:00 03.09.014 Hendrik Möller
5 Di 16:00 - 18:00 02.07.014 Felix Ackermann
6 Di 16:00 - 18:00 01.09.014 Jana Hoffard
7 Mi 10:00 - 12:00 00.08.055 Sergey Mitschenko
9 Mi 12:00 - 14:00 01.09.014 Hendrik Möller
8 Mi 14:15 - 16:15 02.07.014 Haller, Vivian
10 Mi 16:30 - 18:30 01.06.011 Sergey Mitschenko
11 Do 09:30 - 11:30 02.07.034 Jana Hoffard
12 Do 10:00 - 12:00 01.09.014 Kilian Röhner
13 Do 14:00 - 16:00 02.07.014 Adrian Schulz
14 Fr 10:00 - 12:00 00.08.053 Boschko, Dmitrij
15 Fr 15:00 - 18:00 00.13.009A Adrian Schulz

Aufgaben & Lösungen

Hier finden Sie die Angabenblätter sowie (nach Ablauf der jeweiligen Übungswoche) die Musterlösungen zu den Tutorübungen.

  • Basiswissen Numerisches Programmieren
    Diese Aufgaben sollten Sie mit Ihrem Wissen aus der Oberstufe und den Vorlesungen Lineare Algebra und Analysis für Informatiker bewältigen. Sie dienen lediglich der Wiederholung und zur Orientierung an den als bekannt vorausgesetzten Grundlagen dieser Veranstaltung.
Aufgabennr. Besprechungstermin Thema Aufgabenstellung Musterlösung Tutorfolien/Extras
1 16.04. - 20.04. Zahlendarstellungen Aufgabenblatt 1 Musterlösung 1
2 23.04. - 27.04. Kondition, Stabilität Aufgabenblatt 2 Musterlösung 2
3 30.04. - 11.05. Gaußelimination mit Pivotsuche, LR-Zerlegung, Matrixnorm Aufgabenblatt 3 Musterlösung 3 Python Skript zur LR Zerlegung
4 14.05. - 18.05. QR-Zerlegung, Lineares Ausgleichsproblem Aufgabenblatt 4 Musterlösung 4
5 21.05. - 01.06. Interpolation Aufgabenblatt 5 Musterlösung 5
6 04.06. - 08.06. Numerische Quadratur Aufgabenblatt 6 Musterlösung 6
7 11.06. - 15.06. Fouriertransformation Aufgabenblatt 7 Musterlösung 7
8 18.06. - 22.06. Stückweise Interpolation Aufgabenblatt 8 Musterlösung 8
9 25.06. - 29.06. Fixpunktiteration Aufgabenblatt 9 Musterlösung 9
10 02.07. - 06.07. Iterative Verfahren Aufgabenblatt 10 Musterlösung 10
11 09.07. - 13.07. Differentialgleichungen Aufgabenblatt 11 Musterlösung 11
12 -- Klausurvorbereitung Aufgabenblatt 12 keine

Programmieraufgaben

Hier finden Sie die Aufgabenstellung (PDF-Dokument) und den Programmrahmen (TAR-Archiv mit Quellcode) der einzelnen Programmieraufgaben.

Aufgabennr. Ausgabetermin Abgabetermin Aufgabenstellung Zugehöriges Rahmenprogramm
1 23.04.2018 06.05.2018 Aufgabenstellung 1 Programmgerüst 1
2 14.05.2018 27.05.2018 Aufgabenstellung 2 Programmgerüst 2
3 04.06.2018 17.06.2018 Aufgabenstellung 3 Programmgerüst 3
4 25.06.2018 08.07.2018 Aufgabenstellung 4 Programmgerüst 4


Hinweise zur Bearbeitung

  • Arbeiten Sie in einer Gruppe (bis zu drei Personen). Vier/sechs Augen sehen mehr als zwei.
  • Um eine Abgabe einzureichen müssen Sie in eine Gruppe eingetragen sein!
  • Beginnen Sie frühzeitig mit der Bearbeitung der Aufgaben und nutzen Sie das Angebot der Programmieraufgaben.
  • Das ausführliche Testen der Implementierung (insbesondere auch auf Randfälle) ist wesentlicher Bestandteil der Programmieraufgaben!
  • Die Einteilung der Gruppen sowie die Abgabe des Programm-Codes erfolgt unter Moodle.
  • Alle Abgaben, die nicht den formalen Kriterien (siehe Angaben) genügen, werden grundsätzlich nicht korrigiert!
  • Bei Fragen zu den Programmieraufgaben wenden Sie sich bitte an Fabio Gratl.

Die Abgabe der Programm-Codes erfolgt unter Moodle: https://www.moodle.tum.de/course/view.php?id=38795


Die Programmieraufgaben sind prüfungsrelevant!

Klausur

Die Klausur findet am 16.07.2018 von 10:30 bis 12:00 statt.

Ort der Prüfung sind folgende Räume:

  • MW 0001 (Gustav-Niemann-Hörsaal), Boltzmannstr. 15
  • HS 1 (Friedrich L. Bauer Hörsaal), Boltzmannstr. 3
  • Alle Studenten mit Nachnamen A-M schreiben in MW 0001
  • Alle Studenten mit Nachnamen N-Z schreiben in HS 1


Als Hilfsmittel ist einzig und allein ein handschriftlich, beidseitig beschriebenes Blatt DIN A4 mit eigenen Notizen erlaubt (keine Ausdrucke, keine Kopien). Die Verwendung weiterer Hilfsmittel (Taschenrechner, Bücher, Skripten, etc.) ist nicht gestattet. Ein Lineal wird jedoch empfohlen.

Da die Vorlesung "Numerisches Programmieren" in jedem Semester gehalten wird, wird keine Wiederholungsklausur angeboten. Die reguläre Klausur des Folgesemesters ersetzt die Wiederholungsklausur des aktuellen Semesters.

Hinweise zur Klausur

Was müssen Sie alles können?

  • Alle Verfahren und Konzepte aus den Übungen müssen beherrscht werden (schnell und ohne großes nachdenken - sonst gibt es Zeitprobleme)
  • Alle weiteren Verfahren und Konzepte (aus der Vorlesung) müssen aus theoretischer Sicht beherrscht werden. Leichte Verfahren und Konzepte (z.B. Poweriteration) oder leicht anzuwendende Optimierungen behandelter Verfahren müssen auch praktisch beherrscht werden. Komplexere Verfahren wie z.B. Conjugate Gradient werden nicht praktisch abgefragt werden! Mit "leicht" bezeichnen wir Verfahren, welche auch ohne vorheriges Probieren angewandt werden können. Verwenden Sie ihren Zettel also auch um weitere Verfahren zu notieren.
  • Das reine Wissen aus der Übung wird nicht reichen, um alle Aufgaben bearbeiten zu können. Es werden definitiv Fragen vorkommen, zu denen in der Übung nichts besprochen wurde. Arbeiten Sie deshalb auch die Vorlesung (Folien) sorgfältig durch. Bei Unklarheiten auf den Folien nutzen Sie bitte die angegebene Literatur oder das Internet für weitere Recherchen.
  • Legen sie insbesondere Wert auf die Eigenschaften der Verfahren! Was unterscheidet die einzelnen Verfahren und wann sind die entsprechenden Verfahren anwendbar? Es wird in der Klausur nur wenige aufwendige Rechnungen geben, sondern vielmehr Fragen zu den Eigenschaften und Tricks (bzw. schwächen) der Verfahren und kürzere Rechnungen. Trotzdem wird es auch weiterhin (aber wenige) Aufgaben mit längerem Rechenwegen geben, die dementsprechend mit mehr Punkten honoriert werden.
  • In der Klausur wird es eine Programmieraufgabe geben bei der auf dem Blatt programmiert werden muss! Verwenden Sie hierfür Java oder einen Java-ähnlichen Pseudo-Code! Es ist deshalb sehr hilfreich die Programmieraufgaben zu bearbeiten und/oder noch einmal durchzuschauen!

Anmeldung

Für alle Studenten erfolgt die Anmeldung ganz normal über TUMonline.

Notenbonus

Wir wollen es Ihnen ermöglichen, durch rege Teilnahme an den Übungen und Programmieraufgaben eine Verbesserung Ihrer Klausurnote zu erwirken. Darüber hinaus zeigt die Erfahrung, dass rege Übungsteilnahme auch zu besseren Ergebnissen in der Klausur führt. Aus diesem Grund räumen wir allen Studierenden bei der Klausur einen Notenbonus um 0,3 (also beispielsweise von 2,7 auf 2,4 oder von 2,0 auf 1,7) ein, sofern sie die folgenden zwei Kriterien erfüllen:

  • Anwesenheit in mindestens 8 der 11 geplanten Tutorien. Zu diesem Zweck werden zu Beginn der Tutorien Anwesenheitslisten ausgeteilt, in denen man sich entsprechend eintragen muss.
  • Bei den vier Programmieraufgabenblätter müssen insgesamt mindestens 70% der erzielbaren Punkte erreicht werden. Pro Aufgabe werden 100 Punkte vergeben. Das bedeutet, die Bonushürde liegt bei insgesamt 280 von 400 zu erreichenden Punkten. Alle Abgaben, die nicht den formalen Kriterien genügen, werden grundsätzlich mit 0 Punkten bewertet!

Hinweis: Durch den Notenbonus ist es nicht möglich, eine nicht bestandene Klausur zu bestehen. Eine 4,3 kann also nicht zu einer 4,0 verbessert werden. Ebenso gibt es keine Verbesserung bei 1,0.

Altklausur

Als "Appetizer" können Sie sich hier die Klausur des SoSe 10 ansehen: Klausur / Klausur_mit_Loesung

Kontakt

Funktion Name Raum Sprechstunde E-Mail
Veranstaltungsleiter Prof. Dr. Thomas Huckle MI 02.05.044 Di 10:00 - 11:00 Uhr und n.V. Hucklemail.png
Übungsleiter (Tutorien/Programmieraufgaben) Michael Rippl MI 02.05.059 n.V. Ripplmmail.png
Übungsleiter (Organisation/Tutorien) Fabio Gratl MI 02.05.036 n.V. Gratlmail.png