Skip to main content

Practical Lab WS 20/21 Einführung in die Programmiermethoden des Wissenschaftlichen Rechnens

Under direction of
Prof. Marc Alexander Schweitzer
Assistant
Clelia Albrecht

Wichtig

Falls Sie Interesse an diesem Praktikum haben, schreiben Sie bitte eine e-Mail an Clelia Albrecht, in der Sie die folgenden Fragen beantworten:

  1. Sind Sie im Bachelor- oder Masterstudiengang eingeschrieben?
  2. Haben Sie Zugang zu einem Computer, auf dem Sie programmieren und Software installieren können?
  3. Falls ja, zu was für einem Computer mit welchem Betriebssystem haben Sie Zugang?
  4. Brauchen Sie Hilfe bei der Installation von Software?

Inhalt und Ziele der Vorlesung

In der modernen numerischen Softwareentwicklung werden je nach Anwendung unterschiedliche Programmiersprachen verwendet, wobei Python, C und C++ zu den am weitesten verbreiteten gehören. Zudem gibt es eine Vielzahl weiterer Werkzeuge, die die Entwicklungsarbeit organiseren oder sie sogar übernehmen, wie Versionskontrolle, Buildsysteme und die Nutzung externer Bibliotheken. Sowohl diese Arbeitsprozesse als auch die oben stehenden Programmiersprachen 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.

Im einzelnen werden behandelt

  • Grundlegende Kontrollstrukturen und Programmierkonzepte anhand der Programmiersprache Python
  • Hardwarenahe und damit besonders effiziente Programmierung in C
  • Eine Einführung in moderne Programmierung in C++
  • Versionskontrolle und Organisation von Softwareentwicklung in Teams mit Hilfe von git
  • Das Buildsystem cmake
  • Parallelisierung mit MPI

Die theoretischen Grundlagen werden alle zwei Wochen in der Vorlesung vermittelt. Alternierend dazu gibt es eine Praxis-Vorlesung, in der auch individuell auf Fragen zu den Übungsaufgaben eingegangen wird.

Die benötigte Software kann leicht auf dem eigenen Rechner unter Windows, macOS oder Linux installiert werden. Für die Teilnehmer stehen am INS auch moderne Workstations unter Linux und ein großes Linux-Cluster zur Verfügung.

Übungsaufgaben

Die Vorlesung beinhaltet nicht nur einen Theorie- sondern auch einen Praxisteil. Alternierend werden so alle zwei Wochen theoretische Grundlagen vermittelt, oder Programmieraufgaben gelöst. Nach den Theorieterminen werden Übungsblätter ausgeteilt, die zu Hause und auch während den Praxiseinheiten gelöst werden. Auf Fragen kann vor Ort somit effektiv eingegangen werden.

Die Abgabe erfolgt einzeln oder in Gruppen von 3 Personen, je nach Aufgabe.

Anmeldung

Die Anmeldung zum Programmierpraktikum muss zu den üblichen Fristen der Uni über Basis vorgenommen werden (unter »Prüfungsan- und -abmeldung«). Infos hierzu nochmal am ersten Termin.

Basis und eCampus

eCampus

Prüfung

Die während des Praktikums erbrachten Leistungen gehen in die Abschlussnote mit ein. Zusätzlich wird die Veranstaltung am Ende des Semesters mündlich geprüft.