Skip to main content

Legacy display Course

This is an archived course. The content might be broken.

Vorlesung im Wintersemester 2015/2016:

Algorithmische Mathematik I (V1G5)

Prof. Dr. Sven Beuchler

Assistent: Markus Siebenmorgen

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. Um den Einstieg in die Programmierung zu erleichtern wird daher dringend empfohlen den von der Fachschaft der Mathematik angebotenen Programmierkurs vor dem Semester zu besuchen. Alternativ finden sich weiter unten auf dieser Seite verschiedene Quellen zum Selbststudium.

Klausurtermine

2. Termin: 30.03.2016: 09:00-11:00 Uhr

Aufteilung der Studierenden auf die Hörsäle:

  • Großer Hörsaal, We10: Bachelor Mathematik, Nachnamen R-Z, Lehramt Mathematik A-Z
  • Wolfgang-Paul-Hörsaal (Physik) : Bachelor Mathematik, Nachnamen A-Q
Bitte finden Sie sich 15 Min vor Beginn der Klausur im Hörsaal ein.

Einsicht der 2. Klausur:

Die Klausureinsicht findet am Freitag, den 15.04.2016 von 12-13:50 Uhr im Raum 5.002 des HRZ statt. Die Einteilung für die Studierenden ist dabei wie folgt:

  • 12-13:30 Uhr: Bachelor Mathematik
  • 13:30-13:50 Uhr: Lehramt Mathematik

Vorlesungszeiten:

Termin: Mo10.15-12 Uhr
Mi10.15-12 Uhr
Beginn: Mo19.10.2015
Ort: Großer Hörsaal Mathematik, We 10

Ausnahme: Am Mittwoch dem 21.10.2015 findet die Vorlesung im Alfred-Philippson-Hörsaal der Geographie statt.

Die Sprechstunde von Prof. Beuchler ist Di 10.30-11.30 Uhr.

Vorlesungsskript

Vorlesungsbegleitend wird ein Skript ausgearbeitet. Es wird versucht, das Skript auf dem Stand der Vorlesung zu halten. Dennoch soll und kann es nicht eine tagesaktuelle Mitschrift der Vorlesung ersetzen.

Das Skript ist Passwort-geschützt. Das Passwort erhalten Sie in der Vorlesung oder bei Ihrem Tutor.

Übungsgruppen:

Hier finden Sie die Termine der Übungsgruppen. In der ersten Vorlesungswoche finden keine Übungen statt. Somit ist der Beginn der Übungen am Montag, dem 26.10.2015. In der ersten Übungswoche (2. Vorlesungswoche) wird das 0-te Übungsblatt (ohne Abgabe) besprochen. In dieser Woche findet nur der Termin der Programmierübungen statt. Die Abgabe von Übungsblatt 1 erfolgt am Mittwoch, dem 28.10.2015. Die Programmierübungen finden im PC-Pool in der Endenicher Allee 60, Neubau, Raum N0.004 statt.

Help desk:

Es gibt zweimal wöchentlich einen Help desk. Hier können fragen zu der Vorlesung oder auch zu den Übungen gestellt werden. Nähere Informationen findet ihr unter Help-desk.

Es werden vor den Klausuren zwei zusätzliche Help desk Termine angeboten. Diese sind am Donnerstag, den 18.02., von 14-17 Uhr und am Montag, den 22.02., von 10-13 Uhr im Raum N 1.002 im Nebengebäude.

Übungsblätter:

Die Abgabe der Übungszettel erfolgt stets in Gruppen mit 3 Studenten vor Beginn der Vorlesung am Mittwoch.

Die Übungszettel müssen also bis Mittwoch, 10.15 Uhr abgegeben sein.

  1. blatt0.pdf
  2. blatt1.pdf
  3. blatt2.pdf
  4. blatt3.pdf Aufgabe 3b) und Aufgabe 4b) modifiziert
  5. blatt4.pdf
  6. blatt5.pdf Aufgabe 2c) und Aufgabe 3a) modifiziert
  7. blatt6.pdf
  8. blatt7.pdf
  9. blatt8.pdf
  10. blatt9.pdf
  11. blatt10.pdf Die erste Programmieraufgabe ist die Präsenzaufgabe!
  12. blatt11.pdf
  13. blatt12.pdf
  14. blatt13.pdf
  15. blatt14.pdf

Quelltexte zu Programmen aus der Vorlesung

Einige Graphen finden Sie unter graphiken.pdf.

Den ersten Teil der Wiederholungsaufgaben finden Sie unter wdh1.pdf (Wiederholungsaufgaben wurden durch Programmieraufgaben ergänzt). Lösungen zum ersten Teil der Wiederholungsaufgaben finden Sie unter loe1.pdf und die Lösung von Programmieraufgabe 16 finden Sie unter prog16.pdf.

Den zweiten Teil der Wiederholungsaufgaben finden Sie unter wdh2.pdf. Lösungen zum zweiten Teil der Wiederholungsaufgaben finden Sie unter loe2.pdf.

Hinweise zu den Programmieraufgaben:

Die Tutoren in den CIP-Pools stehen auch außerhalb der Abgabezeiten gerne für Fragen bzgl. der Programmieraufgaben zur Verfügung. Alle Programmieraufgaben werden in C / C++ gelöst.

Achtung: Jeder Student benötigt für die Programmierabgabe einen lauffähigen Hochschul-Rechenzentrums-Login-Account.

Es wird jede Woche Programmieraufgaben geben. Diese werden alle zwei Wochen in unseren CIP-Pools testiert / bepunktet. Die Abgabe der Programmieraufgaben erfolgt stets in Gruppen mit exakt 3 Studenten.

Wichtig:Jeder Studierende muss alle Programmieraufgaben beherrschen. Gegebenenfalls werden auch innerhalb einer Abgabegruppe unterschiedliche Punkte vergeben, wenn nicht alle Aufgaben erklärt werden können.

Anmeldung zur Vorführung der Programmieraufgaben
In der Woche des jeweils zweiten Programmierzettels werden Anmelde-Listen ausgehaengt. Diese finden sich für die entsprechenden Termine im CIP-Pool in der Wegelerstraße 6, Raum E02 und im CIP-Pool in der Endenicher Allee 60, Neubau, Raum N0.004 (Zugang durch Raum N0.005). In diese Listen tragen sich die Abgabegruppen bitte ein.

Hier gilt: Wer sich früh in der Woche einträgt, bekommt eher seinen Wunsch-Abgabe-Termin.

Vorführung der Aufgaben
Die Vorführung der Programmieraufgaben erfolgt in der Woche nach der Ausgabe des jeweils zweiten Übungsblattes. Dabei erfolgt die Abgabe zu dem Termin und in dem Cip-Pool für den sich die Abgabegruppe in die Anmelde-Listen eingetragen hat (siehe auch CIP-Pool Homepage).

Bitte bringen Sie auch über den von Ihnen ausgewählten Abgabezeitraum hinaus etwas Zeit mit, falls sich zeitliche Schwankungen ergeben.

Die Termine des Aushangs der Anmeldelisten und die jeweilige Abgabe-Woche wird auch auf den Übungszetteln vermerkt sein.

Abgabe der Programmieraufgaben:

  • Listenaushang Blatt 8 & 9: 11.01. - 15.01
  • Abgabe Blatt 8 & 9: 11.01. - 22.01
  • Listenaushang Blatt 10 & 11: 18.01. - 29.01
  • Abgabe Blatt 10 & 11: 25.01. - 05.02
  • Listenaushang Blatt 12: 01.02. - 05.02
  • Abgabe Blatt 12: 08.02. - 12.02

Klausurzulassung

Zur Klausur ist zugelassen, wer nachfolgende Bedingungen erfüllt:
  1. 50% der Punkte in den Theorieaufgaben der Übungszettel werden erreicht.
  2. 50% der Punkte in den Programmieraufgaben werden erreicht.
  3. Es wurde 2-3 Mal eine Aufgabe an der Tafel in der Übungsgruppe vorgerechnet.
  4. Sowohl von den Theorie- als auch den Programmieraufgaben müssen mindestens 83% bearbeitet werden.

Literatur

Theorie
  • J. Stoer: Numerische Mathematik I. Springer
  • B. Korte, J. Vygen: Combinatorial Optimization: Theory and Algorithms. Springer, 2006
  • P. Deuflhard, A. Hohmann: Numerische Mathematik, de Gruyter
  • T.H. Cormen, C.E. Leiserson, R.L. Rivest: Introduction to Algorithms. MIT Press 1990
  • J. Kleinberg, E. Tardos: Algorithm Design. Pearson 2006
  • C. Uberhuber: Computer-Numerik 1/2. Springer, 1995
  • P. Kuegler, W. Windsteiger: Algorithmische Methoden Bd 1, Birkhaeuser, 2009
  • R. Diestel: Graphentheorie, Springer, 1996
  • A. George, J.W.H. Liu: Computer solution of large sparse positive definite systems, Prentice-Hall, 1981
  • S. Hougardy, J. Vygen: Algorithmische Mathematik, Springer, 2015
Programmieren
Literatur kann beispielsweise in der Institutsbibliothek oder der Universitäts- und Landesbibliothek Bonn entliehen werden.

Die Beispiele in der Vorlesungen werden in C vorgestellt werden. Dennoch ist oben genannte Literatur zu C++ uneingeschränkt zu empfehlen, da C++ Compiler auch C verstehen. C++ ist die modernere Sprache, deren Kenntnis insbesondere auch nach abgeschlossenem Studium hohen Wert hat. Programmieraufgaben können entsprechend in C oder C++ abgegeben werden.

Onlinematerialien zum Lernen von C/C++
Gleitkommazahlen: