Algorithmische Mathematik I

Thomas Richter
thomas.richter@ovgu.de


Inhalt

Ziel der Vorlesung ist die algorithmische Umsetzung von verschiedenen Aspekten der Mathematik zu erlernen, Schwierigkeiten dabei zu identifizieren aber insbesondere den aktiven Umgang mit dem Computer als umfassendes Hilfsmittel für die Mathematik zu entdecken. Nebenbei wird eine Einführung in die Programmierung mit Python gegeben, so dass für diese Vorlesungen keine Programmierkenntnisse erforderlich sind. Die Inhalte der Vorlesung kommen aus verschiedenen Bereichen der Mathematik sowie der Informatik und Umfassen Probleme aus den Gebieten der Analysis, linearen Algebra, Graphentheorie und Numerik.

Ort und Zeit

Die Vorlesung findet Montags, 15.15-16.45 in Raum G05-H4 statt.

Literatur

Begleitend zur Vorlesung wird ein Skript erstellt. Da sich das Material noch regelmäßig ändern wird, bitte möglichst nicht ständig neu ausdrucken.
Vorlesungsskript - Version 21.01.2019 (pdf)
Als Literaturgrundlage für die verbleibende Zeit im Wintersemester 2018/2019 dient das Buch Einführung in die Numerische Mathematik: Begriffe, Konzepte und zahlreiche Anwendungsbeispiele welches in der Universitätsbibliothek (Zugriff nur vom Campus) als pdf verfügbar ist (Direkter Link).

Python

Die praktischen Aufgaben zur Vorlesung werden in Python programmiert. Python ist für alle Computer, unter Windows, Linux und Mac frei verfügbar. Eine Müglichkeit zur Programmierung ist anaconda, welches auch in der Vorlesung eingesetzt wird. Dir Aufgaben können jedoch auch ohne jegliche Installation direkt im Internet programmiert werden. Eine Möglichkeit hierzu ist die Webseite https://www.tutorialspoint.com/execute_python_online.php.

Python-Sprechstunde

Carolin Mehlmann bietet einmal die Woche eine Sprechstunde zur Python-Beratung an. Dieses Angebot richtet sich insbesondere an Studierende mit größeren Problemen bei der Programmierung. Mittwochs, 15-16 Uhr, Raum 05, Gebäude 2.

Programmier-Projekte

Erste Hinweise zu den Programmier-Projekten (hinweis-projekte.pdf)

Übungen

Die Vorlesung wird von wöchentlichen Übungen begleitet.
  • Montags, 09.15 - 10.45 in Raum G05-307
  • Dienstags, 11.15 - 12.45 in Raum G02-106
Die Übungen finden im Computerlabor, Raum G02-106 statt.
Aufgaben zur Wiederholung des bisherigen Stoffes. (wiederholung.pdf). Die Aufgaben werden nicht korrigiert, können aber in den Übungen besprochen werden.
  • Blatt 1, 08. Oktober 2018 (pdf)
  • Blatt 2, 15. Oktober 2018 (pdf) - Abgabe Freitag, 19.10.2018
  • Blatt 3, 19. Oktober 2018 (pdf) - Abgabe Freitag, 26.10.2018
  • Blatt 4, 26. Oktober 2018 (pdf) - Abgabe Freitag, 02.11.2018
  • Eine Python-Vorlage für den Programmaufbau template_04.py
  • Blatt 5, 02. November 2018 (pdf) - Abgabe Freitag, 09.11.2018
  • Eine Python-Vorlage für den Programmaufbau template_05.py
  • Blatt 6, 09. November 2018 (pdf) - Abgabe Freitag, 16.11.2018
  • Eine Python-Vorlage für den Programmaufbau template_06.py
  • Blatt 7, 16. November 2018 (pdf) - Abgabe Freitag, 23.11.2018
  • Eine Python-Vorlage für den Programmaufbau template_07.py
  • Blatt 8, 23. November 2018 (pdf) - Abgabe Freitag, 30.11.2018
  • Eine Python-Vorlage für den Programmaufbau template_08.py
  • Blatt 9, 30. November 2018 (pdf) - Abgabe Freitag, 07.12.2018
  • Eine Python-Vorlage für den Programmaufbau template_09.py
  • Blatt 10, 05. Januar 2019 (pdf) - Abgabe Freitag, 11.01.2019
  • Blatt 11, 12. Januar 2019 (pdf) - Abgabe Freitag, 18.01.2019
  • Eine Python-Vorlage für den Programmaufbau template_11.py

    Hinweis zu Python: In Teil b) der praktischen Aufgabe wollen wir das LGS zweimal zur gleichen Matrix A lösen. Hierzu gab es den Hinweis, die Matrix nach dem zufälligen Erstellen in eine zweite Variable zu kopieren. Python erstellt mit dem Befehl A2=A1 jedoch nur eine zweite Referenz auf das Objekt A1. D.h., wenn wir A1 ändern, z.B. in einer Funktion gauss(A1,b1), dann ändern wir auch A2. Eine Möglichkeit zum echten Kopieren der Einträge ist die Verwendung von A2=copy.deepcopy(A1) und entscodechend b2=copy.deepcopy(b1) für die rechte Seite. Hierzu muss zu Beginn mit import copy der entsprechende Befehl importiert werden.

Die neuen Übungen werden stets am Freitag ins Netz gestellt. Abgabe jeweils bis zum kommenden Freitag um 14 Uhr in den Kasten vor Raum 5, Gebäude 2 oder per Mail an Carolin Mehlmann algomath@ovgu.de geschickt werden. Bitte alle Mails im Betreff mit Namen und Nummer des Aufgabenblatts versehen.
Die praktischen Programmieraufgaben werden per Mail an Carolin Mehlmann algomath@ovgu.de geschickt. Abgabe jeweils bis Freitag, 14 Uhr. Der Programmtext kann einfach in eine Mail eingefügt werden.
Fragen zu den Übungen an Carolin Mehlmann algomath@ovgu.de
Die wöchentlichen Übungen haben sowohl einen theoretischen als auch einen praktischen Anteil. Abgabe der Übungen ist jeweils Montags, zu Beginn der Vorlesung. Details werden in den ersten Übungen besprochen.
Es wird eine aktive Teilnahme an den Übungen erwartet. Hierzu gehört, dass jede Teilnehmerin und jeder Teilnehmer mindestens einmal im Semester eine Aufgabe im Tutorium vorstellt und auch kleine Fragen zu Programmen beantworten kann.

Leistungserwerb

Für Studierende im Studiengang Bachelor Mathematik wird das Gesamtmodul Algorithmische Mathematik I und II nach dem zweiten Semester mit einer mündlichen Prüfung abgeschlossen. Studierende im Studiengang Bachelor Mathematikingenieur/in legen nach Ende des ersten Semesters eine müdliche Prüfung ab. Voraussetzung zur Teilnahme an den Abschlussprüfungen ist der Scheinerwerb durch:
  • Erfolgreiche Bearbeitung der wöchentlichen Übungen (mind. 50% der Punkte).
  • Aktive Teilnahme an den wöchentlichen Übungsgruppen, d.h. Vorstellen eigener Lösungsentwürfe in den Übungsgruppe.
  • Aktive Teilnahme an der Diskussion und Besprechung der wöchentlichen Programmierübungen in den Übungsgruppen.
  • Erfolgreiche Bearbeitung eines Programmierprojekts. Das Projekt wird etwa zur Semesterhälfte vergeben und kann in Kleingruppen bearbeitet werden.