This page is outdated.
Computer-orientierte Mathematik (2V, 2Ü)
Prof. Herzog, PD Dr. Bergmann WS2018/19
Diese neue Lehrveranstaltung richtet sich an Studierende aller mathematischen Studiengängen im Bachelor- und Masterstudium sowie an alle Interessierten.Inhalt
Sie haben eine Programmieraufgabe vor sich, wissen aber nicht, wie sie herangehen sollen?
Sie verstehen Ihr Programm von letzter Woche nicht mehr (geschweige denn, jemand anderes)?
Sie hatten letzte Woche schon mal eine Version, wo ... funktionierte, können sich jetzt aber nicht mehr erinnern, wie?
Ihr Code läuft viel zu langsam?
Der Betreuer Ihrer Abschlussarbeit hätte gerne die Achsenbeschriftung größer, und Sie müssen jetzt alle Bilder neu erzeugen?

Ein klarer Fall für ...
- Versionsmanagement mit
git
- strukturierte Fehlersuche und Testläufe
- Datenaufbereitung und Visualisierung
- Reproduzierbarkeit
- Profiling
- Coding Style
- Dokumentation
- grafische Benutzerschnittstellen
Ziele der Lehrveranstaltung
Sie kennen Best-Practice-Techniken zu den oben genannten Schwerpunkten und können diese anwenden.
Sie können für eine umgrenzte mathematische Aufgabenstellungen (zum Beispiel in Matlab) reproduzierbar und nachvollziehbar lösen.
Was wir von Ihnen erwarten
- Besuchen Sie jede Woche die Vorlesung und die Übung.
- Lesen Sie das vorgesehene Begleitmaterial und bereiten Sie sich auf die Vorlesung und Übung vor.
- Prüfungsvorleistung ist die erfolgreiche Bearbeitung von voraussichtlich fünf Programmierbelegen im Umfang von jeweils ca. 5 Arbeitsstunden, die sich jeweils auf einzelne Themen der Lehrveranstaltung beziehen.
- In der Vorlesung und Übung verwenden wir Matlab, ein weit verbreiteter Standard in Industrie und Wirtschaft. Diese Lehrveranstaltung ist aber kein Matlab-Programmierkurs. Abhängig von Ihren Vorkenntnissen müssen Sie mehr oder weniger Zeit zum Erlernen von Matlab verwenden. Es lohnt sich!
- Besuchen Sie regelmäßig diese Webseite, um sich über Aktuelles zu informieren.
- Wenn Sie etwas nicht verstanden haben, fragen Sie direkt in der Vorlesung und Übung, kommen Sie in die Sprechstunden von Prof. Herzog und PD Dr. Bergmann. Warten Sie damit nicht bis zum Ende des Semesters.
Vorkenntnisse
Voraussetzung für die Teilnahme sind Grundkenntnisse in der linearen Algebra (Matrizen, Vektoren). Vorkenntnisse in Matlab sind hilfreich, aber nicht erforderlich.Aktuelles
10.01.2019 | Die Vorlesung am Mittwoch, den 16.01.2019 entfällt. |
---|---|
25.10.2018 | Aufgrund des Feiertags am Mittwoch, 31.10.2018 entfällt an dem Tag die Vorlesung und auch die dazugehörige Übung am Donnerstag, 01.11.2018. |
Termine
Nummer | Name | Gruppen | Dozenten | Zeit | Raum |
---|---|---|---|---|---|
220000-345
[WS2018/19]
|
Computer-orientierte Mathematik
[Seminar]
|
wo: B_FM__3, B_WM__3, M_DS__1 |
Prof. Roland Herzog (225033) |
Mittwoch (wö.) 15:30-17:00 |
2/B202 |
220000-346
[WS2018/19]
|
Computer-orientierte Mathematik
[Übung]
|
wo: B_FM__3, B_WM__3, M_DS__1 |
Dr. Ronny Bergmann (225033) |
Donnerstag (wö.) 11:30-13:00 |
2/41/702 |
Material zur Vorlesung
- Kapitel 1: Versionsverwaltung mit
git
(Folien) - Kapitel 2: Dokumentation (Folien)
- Kapitel 3: Code Style (Folien)
- Kapitel 4: Fehlersuche und Validierung (Folien)
- Kapitel 5: Reproduzierbarkeit (Folien)
- Kapitel 6: Profiling (Folien)
Ergänzende Literatur
Git
- GitLab an der TU Chemnitz
- Scott Chacon, Ben Straub: Pro Git book
- Gitlab and SSH keys
- Git cheat sheet
Dokumentation
- Code Complete (Kapitel 32)
- Why programmers don't comment their code
Coding Style
- Code Complete (Kapitel 11, 31)
Fehlersuche und Validierung
- Code Complete (Kapitel 23)
- newton_sqrt.m (Funktion, die Unit Tests unterzogen wird)
- newton_sqrt_test.m (Beispiel für
runtests
)
Profiling
- reduce.m (Funktion, die verbessert werden soll)
- demo_reduce.m (Demo-Skript für diese Funktion)
- profile_helper_reduce.m (Hilfs-Skript zum Profiling)
- check_git_dirty.sh (Shell-Skript zum Test auf uncommitted changes)
- Peter Acklam: Matlab array manipulation trips and tricks