Lecture WS 19/20 Algorithmische Mathematik I
Die zweite Klausur wird verschoben. Siehe dazu die Informationen auf der Seite der Mathematik und von der Uni (entspricht der E-Mail vom Rektor vom 14. März, falls Sie die bereits gelesen haben).
Übersicht
Die Mathematik stellt eine wichtige Grundlage für viele Bereiche des alltäglichen Lebens dar. Ingenieurswesen, Transport, und selbst Finanzmärkte profitieren von mathematischen Methoden und Modellen. Während viele Probleme direkt gelöst werden können, ist der Großteil von Hand nicht mehr zu bewältigen. Aus diesem Grund bedient man sich des Computers als Hilfsmittel zur Umsetzung mathematischer Verfahren.
Ziel und Inhalt der Vorlesung Algorithmische Mathematik ist die Vermittlung von Fähigkeiten, die Schritte von der mathematischen Formulierung eines Problems bis hin zur Schritt-für-Schritt-Umsetzung in einem Algorithmus durchzuführen. Der Entwurf geeigneter Verfahren ist dabei ebenso Bestandteil des Lehrmaterials wie die Verifikation und Analyse von benötigter Laufzeit und erreichter Qualität (bei approximativen Verfahren).
Vorkenntnisse
Die Algorithmische Mathematik I benötigt als Erstsemestervorlesung prinzipiell keine Vorkenntnisse. Im Rahmen der Vorlesung werden allerdings Algorithmen in C/C++ implementiert. Zusätzlich zu den in der Vorlesung behandelten Lehrinhalten finden sich weiter unten auf dieser Seite verschiedene Quellen zum Selbststudium. Wenn Sie Programme auf dem eigenen Rechner/Laptop schreiben möchten, benötigen Sie einen C/C++ Compiler, z.B. die GNU Compiler Collection (für Windows-Nutzer bietet sich Cygwin an), sowie einen Editor Ihrer Wahl.
Vorlesungsmaterialien
Ergänzende Literatur
- [1] Stefan Hougardy, Jens Vygen: Algorithmische Mathematik. Springer, 2016
- Alternatives Vorlesungsskript (H. Harbrecht)
- C Online Tutorial
- C++ Online Tutorial
- Wikibook C Programmierung
- Wikibook C++ Programmierung
Help Desk
Es wird ein Help Desk für die Algorithmische Mathematik I angeboten. Zeiten und Orte finden Sie hier.
Übungsblätter
Die Übungsblätter werden spätestens montags, eine Woche vor Abgabe, hier online gestellt. Eine Ausgabe in Papierform erfolgt nicht.
- Übungsblatt 0
- Übungsblatt 1, Programmieraufgabenblatt 1
- Übungsblatt 2, Programmieraufgabenblatt 2
- Übungsblatt 3, Programmieraufgabenblatt 3 (Update 05.11.2019)
- Übungsblatt 4, Programmieraufgabenblatt 4
- Übungsblatt 5, Programmieraufgabenblatt 5
- Übungsblatt 6, Programmieraufgabenblatt 6, Zeitenliste (Update 22.11.2019)
- Übungsblatt 7, Programmieraufgabenblatt 7, graph.h[1], graph.cpp[1], Graph zum Einlesen, Zahlendreiecke zum Einlesen (Update 26.11.2019)
- Übungsblatt 8, Programmieraufgabenblatt 8, Graph zum Einlesen, Liste mit x-Koordinaten, Liste mit y-Koordinaten, drawline.h, drawline.cpp
- Übungsblatt 9, Programmieraufgabenblatt 9, waren.txt, gleichungen.txt, ungleichungen.txt
- Übungsblatt 10, Programmieraufgabenblatt 10, tutorien.txt, netzwerk.txt
- Übungsblatt 11, Programmieraufgabenblatt 11 (Update 09.01.2020)
- Übungsblatt 12
09.01.2020: Statt mit -llapack muss mit -llapacke kompiliert werden. In Aufgabe 2 muss statt die Bedingung gelten.
26.11.2019: Bei Aufgabe 2b sollen die Subgraphen jeweils zusammenhängend sein. Außerdem wurde ein Tippfehler korrigiert.
22.11.2019: Bei Aufgabe 3 soll es sich um einen ungerichteten Graphen handeln.
05.11.2019: Bei der Programmieraufgabe 3.2c stimmte die Formel in dieser Form nur für prim und . Dies wurde ergänzt bzw. korrigiert. Für die angedachte Lösung reicht dieser Fall zwar, aber dies hat die Aufgabe unbeabsichtigt erschwert.
Übungen
-
Die Übungen für diese Vorlesung finden in zwei Teilen statt. Es gibt einen Theorie- und einen Programmierteil (Praktikum). Für jeden gibt es Übungsaufgaben, die wöchentlich bearbeitet werden müssen und anschließend bewertet werden.
-
Dafür stehen folgende Tutorgruppen bereit. Die Anmeldung erfolgt während der ersten Vorlesungswoche über BASIS. Die Tutorien beginnen in der zweiten Vorlesungswoche (ab 14.10.). Die Orte der Seminarräume finden Sie auf Basis, die Adressen der PC-Pools sind folgende: CIP-Pool IAM: Endenicher Allee 60, Nebengebäude, Raum N0.004 / N0.005; PC-Pool Wegelerstr. 6: Wegelerstraße 6, Raum 0.007 (Hochschulrechenzentrum).
Nummer | Zeit | Raum | Tutor/in |
---|---|---|---|
Praktikum 2 | Mo 12-16 | CIP-Pool IAM | J.W. |
Übung 2 | Do 16-18 | EA60 SemR 0.007 | J.W. |
Praktikum 3 | Mo 16-20 | CIP-Pool IAM | F.R. |
Übung 3 | Do 16-18 | EA60 SemR 0.008 | F.R. |
Praktikum 4 | Di 10-14 | CIP-Pool IAM | M.M. |
Übung 4 | Mi 14-16 | EA60 SemR 0.003 | M.H. |
Praktikum 5 | Di 10-14 | PC-Pool Wegelerstr. 6 | T.B. |
Übung 5 | Mi 14-16 | EA60 SemR 0.007 | T.B. |
Praktikum 6 | Di 14-18 | PC-Pool Wegelerstr. 6 | J.W. |
Übung 6 | Do 12-14 | EA60 SemR 1.007 | J.W. |
Praktikum 7 | Di 14-18 | CIP-Pool IAM | C.B. |
Übung 7 | Do 16-18 | EA60 SemR 0.003 | L.J. |
Praktikum 8 | Do 14-18 | PC-Pool Wegelerstr. 6 | L.P. |
Übung 8 | Di 16-18 | EA60 SemR 0.007 | L.P. |
Praktikum 9 | Do 14-18 | CIP-Pool IAM | K.K. |
Übung 9 | Di 16-18 | EA60 SemR 0.003 | P.G. |
Praktikum 10 | Mi 12-16 | CIP-Pool IAM | C.R. |
Übung 10 | Do 12-14 | EA60 SemR 0.008 | C.R. |
Praktikum 11 | Mi 12-16 | PC-Pool Wegelerstr. 6 | F.B. |
Übung 11 | Do 16-18 | EA60 SemR 1.007 | P.G. |
Praktikum 12 | Do 10-14 | CIP-Pool IAM | R.S. |
Übung 12 | Mi 14-16 | EA60 SemR 0.008 | R.S. |
Praktikum 13 | Do 10-14 | PC-Pool Wegelerstr. 6 | M.H. |
Übung 13 | Mi 14-16 | EA60 SemR 1.007 | M.H. |
Praktikum 14 | Mi 16-20 | CIP-Pool IAM | K.K. |
Übung 14 | Do 12-14 | EA60 SemR 0.007 | M.H. |
Theorieaufgaben
- Die Lösungen zu den Theorieaufgaben müssen jeweils montags vor der Vorlesung abgegeben werden, d.h. bis spätestens 10:15 Uhr. Sie werden dann in den darauffolgenden Tutorien besprochen.
- Da in der ersten Vorlesungswoche noch keine Hausaufgaben gestellt werden, wird es für die ersten Tutorien (zweite Vorlesungswoche) ein »nulltes« Blatt mit Anwesenheitsaufgaben geben, die gemeinsam bearbeitet und nicht bewertet werden.
- Soweit möglich sollen die Aufgaben in Gruppen von 3 Personen bearbeitet und abgegeben werden. Die Tutor/innen können im ersten Tutorium bei der Einteilung helfen.
Programmieraufgaben
- Eine Hälfte der Praktikumstutorien sind zur Bearbeitung der aktuellen Programmieraufgaben vorgesehen. In der anderen Hälfte werden die fertig bearbeiteten Aufgaben der Vorwoche dem/r Tutor/in vorgestellt, d.h. es wird ein lauffähiger Code präsentiert und erklärt.
- Die Abgabe der Programmieraufgaben erfolgt stets in Gruppen von 3 Personen (sofern möglich). Die Tutor/innen können im ersten Tutorium bei der Einteilung helfen.
- Jede/r Studierende muss alle Programmieraufgaben beherrschen. Gegebenenfalls werden auch innerhalb einer Abgabegruppe unterschiedliche Punkte vergeben, wenn nicht alle Aufgaben erklärt werden können.
- Achtung: Jede/r Studierende benötigt für die Programmierabgabe einen lauffähigen Hochschul-Rechenzentrums-Login-Account.
Prüfungszulassung
Die Zulassungskriterien sind wie folgt.
- Es müssen 50% der Punkte der Theorie-Hausaufgaben erreicht werden
- Es müssen 50% der Punkte der Programmierabgaben erreicht werden
- 4/5 der Übungszettel müssen bearbeitet werden, d.h. selbst wenn die erforderliche Punktzahl bereits erreicht ist, dürfen nur 1/5 der Blätter leer bzw. nicht abgegeben werden.
Prüfung
Als Modulprüfung finden zwei Klausuren statt. Die erste Klausur ist am 01.02.2020. Die zweite Klausur findet am 23.03.2020 statt. Weitere Prüfungstermine für dieses Modul wird es dann erst wieder im nächsten Zyklus geben.