Practical Lab WS 23/24 Programmierpraktikum Numerische Algorithmen
Einführung in die Programmiermethoden des Wissenschaftlichen Rechnens
Wichtig
Falls Sie Interesse an diesem Praktikum haben, schreiben Sie bitte eine e-Mail an Lukas Troska, in der Sie die folgenden Fragen beantworten:
- Sind Sie im Bachelor- oder Masterstudiengang eingeschrieben?
- Haben Sie Zugang zu einem Computer, auf dem Sie programmieren und Software installieren können?
- Falls ja, zu was für einem Computer mit welchem Betriebssystem haben Sie Zugang?
- Brauchen Sie Hilfe bei der Installation von Software?
Termine
- Vorlesung
- Mittwochs, 14:15 - 16:00
- Ort
- Seminarraum 2.035 und 2.041, INS
- Vorbesprechung
- Mittwoch, 11.10.2023, 14:15-15:15, INS, Friedrich-Hirzebruch-Allee 7, Seminarraum 2.035
Inhalt und Ziele des Programmierpraktikums
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 der 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
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 im Rahmen einer Gruppen-Diskussion/-Präsentation über Ihre Implementierung geprüft.