Skip to main content

Practical Lab WS 17/18 Programmiermethoden des Wissenschaftlichen Rechnens

Under direction of
Dr. Einar Smith

Inhalt und Ziele der Veranstaltung

Zur Umsetzung der Verfahren des wissenschaftlichen Rechnens werden die unterschiedlichsten Programmiersprachen und Programmpakete verwendet. In diesem Praktikum sollen eine Reihe der verbreitetsten Ansätze und Methoden systematisch diskutiert werden. Diese werden anhand der in anderen Lehrveranstaltungen vermittelten numerischen Verfahren illustriert. Das Praktikum ist aber auch für Anfänger geeignet, die noch keine oder wenig einschlägige numerische Kenntnisse besitzen. Sowohl Bachelor- als auch Masterstudenten sind willkommen.

Im einzelnen werden behandelt

  • Eine kurze Einführung in die mathematische Berechenbarkeitstheorie und die Wirkungsweise moderner Digitalrechner.
  • Systematische Einführung in Python, eine gut strukturierte leistungsfähige Sprache, an der die gängigen Programmierparadigmen prozedural, funktional und objektorientiert erläutert werden können.
  • Speziell für numerische Berechnungen sollen auch die Erweiterungen Numerical Python, Scientific Python sowie Matplotlib zur graphischen Darstellung betrachtet werden.
  • Das Paket SymPy, das symbolische Lösungsmethoden analog zu den kommerziellen Computeralgebra-Systemen Maple oder Mathematica beinhaltet.
  • C und die darauf basierende objektorientierte Erweiterung C++, die eine maschinennahe und daher besonders effiziente Programmierung ermöglichen.
  • MATLAB als Beispiel für eine integrierte Programmierumgebung, die für die verschiedensten Bereiche des wissenschaflichen Rechnens umfangreiche Bibliotheken bereitstellt.
  • Maple, ein Computeralgebrasystem, mit der u.a. symbolische Ausdrücke ausgewertet, z.B. Funktionen differenziert oder integriert werden können.
  • Das FEniCS Project, eine sowohl in Python wie auch in C++ verwendbares Programmsammlung zur automatischen Lösung von Differentialgleichungen nach der Methode der finiten Elemente. Dieser Themenbereich richtet sich insbesondere an Masterstudenten.

Die Grundlagen werden in einem Vorlesungsteil von 2 Stunden pro Woche vermittelt. Das eigentliche Praktikum ist in mehrere Übungsblätter aufgeteilt, deren Bearbeitung selbstständig oder in kleinen Gruppen am Rechner erfolgen soll. Der Arbeitsaufwand hierfür beträgt ca. 4–6 Stunden pro Woche.

Für die Teilnehmer stehen am INS moderne Workstations unter Linux und ein großes Linux-Cluster zur Verfügung.
Python und alle benötigten Pakete können aber auch leicht auf dem heimischen Rechner unter Windows, Mac OS X oder Linux installiert werden.

Zeiten

  • Termine: Mi 16:00 – 18:00 Uhr
  • Ort: Seminarraum 6.020, Wegelerstrße 6, bei Bedarf Praktikumsraum 6.012
  • Besprechung: Mittwoch, 11.10. um 16:00, Seminarraum 6.020, Wegelerstraße 6