Sommersemester 2023
Die gesamte Organisation der Lehrveranstaltungen erfolgt über die Lernplattform Moodle. Wenn Sie an einer der u.a. Veranstaltungen teilnehmen möchten, melden Sie sich bitte in dem entsprechenden Moodlekurs an.
In der Veranstaltung erlernen die Studierenden die funktionale Programmierung am Beispiel der Sprache Haskell. Die behandelten Sprachkonstrukte reichen von Basics wie Funktionen und Listen über Datentypen und Auswertungsstrategien bis zu fortgeschrittenen Aspekten wie Monaden und Parallelisierung. Die Konstrukte werden jeweils erklärt und ihr Einsatz diskutiert. Neben Haskell wird ein kurzer Einblick in weitere funktionale Sprachen gegeben.
Die Veranstaltung wird in Form einer Vorlesung mit integrierten Übungen durchgeführt. In den ersten Wochen sind zusätzlich Hausaufgaben verpflichtend zu bearbeiten. Die Notenvergabe erfolgt auf Basis einer Projektarbeit, welche in Zweierteams in den letzten Wochen durchgeführt wird. Die Projektarbeit wird durch eine Verteidigung abgeschlossen, bei der die entwickelten Programme vorgestellt und weitere Themen der Vorlesung angesprochen werden.
Studiengang
Bachelor Informatik
Umfang
4 SWS (6 Credits)
Weitere Informationen, einschließlich der Veranstaltungstermine, finden Sie im Vorlesungsverzeichnis und im Moodlekurs. Sollten Sie noch Fragen haben, geben Ihnen Frau Prof. Dr. Claudia Fohry und Herr M.Sc. Rüdiger Nather gern Auskunft.
C++ ist eine Programmiersprache mit einem umfangreichen und wachsenden Angebot von Sprachkonstrukten. Diese dienen der Unterstützung objekt-orientierten, generischen und nebenläufigen Programmierens, der Verbindung von Performance und Verständlichkeit des Codes und ähnlichen Zielen. In diesem Seminar beschäftigen wir uns mit konkreten Features, die C++ bietet.
Die Teilnehmer:innen stellen je ein Thema vor, welches sie sich aus der Dokumentation von C++, ggf. ergänzt um Bücher, erschließen. Beispielthemen sind grundlegende Konstrukte (z.B. Templates, Lambdas), in den letzten Jahren neu eingeführte Features (z.B. Concepts, Coroutinen) und für den kommenden C++23-Standard geplante Features (z.B. Stacktraces). Nach Absprache können eigenen Themen eingebracht werden.
Voraussetzung
Abgeschlossenes Modul Labor C/Embedded Systems. Vorhergehende Erfahrungen mit C++ sind nicht notwendig.
Studiengang
Bachelor und Master Informatik
Umfang
Bachelor 2 SWS (3/4 Credits)
Master 2 SWS (4 Credits)
Weitere Informationen, einschließlich der Veranstaltungstermine, finden Sie im Vorlesungsverzeichnis Bachelor und Vorlesungsverzeichnis Master sowie im Moodlekurs. Sollten Sie noch Fragen haben, geben Ihnen Frau Prof. Dr. Claudia Fohry und Herr M.Sc. Rüdiger Nather gern Auskunft.
In diesem Projekt implementieren die Teilnehmer:innen in kleinen Gruppen zwei bis drei Benchmarks aus der parallelen Programmierung. Die Benchmarks sollen mit Hilfe der C++-Standardbibliothek, insbesondere mit Promises und Futures, umgesetzt werden.
Zu den Anforderungen an die Teilnehmer:innen gehören die algorithmische Anpassung der Benchmarks, ihre Implementierung sowie das Testen auf dem Cluster der Universität Kassel. Am Ende präsentieren alle Gruppen ihre Ergebnisse und Erfahrungen.
Voraussetzung
Abgeschlossenes Modul Labor C/Embedded Systems. Vorhergehende Erfahrungen mit C++ sind hilfreich, aber nicht notwendig.
Studiengang
Bachelor und Master Informatik
Umfang
Bachelor 8 SWS (12 Credits)
Master 4 SWS (8 Credits)
Weitere Informationen, einschließlich der Veranstaltungstermine, finden Sie im Vorlesungverzeichnis Bachelor und Vorlesungsverzeichnis Master sowie im Moodlekurs. Sollten Sie noch Fragen haben, geben Ihnen Frau Prof. Dr. Claudia Fohry und Herr M.Sc. Rüdiger Nather gern Auskunft.
Das Laborpraktikum "Aufbau eines Miniatur-Supercomputers" ist eine praktische Einführung in die Welt des Supercomputings und soll den Studierenden ein Verständnis fur die Konzepte und Technologien des High-Performance Computing (HPC) vermitteln.
Zu Beginn des Laborpraktikums werden den Studierenden die Grundlagen vermittelt, wie z.B. die Funktionsweise eines Supercomputers, Benchmarking, Job Scheduling, verteilte Dateisysteme, Ressourcenverwaltung, Benutzerverwaltung, Fehlertoleranz und Elastizitat. Ziel ist es, den Studierenden die Konzepte und Fähigkeiten zu vermitteln, die für den Bau eines Supercomputers erforderlich sind.
Im Hauptteil des Laborpraktikums arbeiten die Studierenden in Gruppen und bauen mit Hilfe von Virtualisierungstechnologien ihren eigenen Miniatur-Supercomputer. Die Studierenden wenden ihre erworbenen Fähigkeiten und Kenntnisse in der Praxis an, indem sie die Leistung ihres Miniatur-Supercomputers in verschiedenen praktischen Szenarien evaluieren.
Die Ergebnisse der Gruppenarbeit werden in Prüfungsgesprachen vorgestellt und bilden die Grundlage für die Bewertung der Veranstaltung.
Studiengang
Bachelor Informatik
Umfang
4 SWS (6 Credits)
Weitere Informationen, einschließlich der Veranstaltungstermine, finden Sie im Vorlesungsverzeichnis und im Moodlekurs. Sollten Sie noch Fragen haben, gibt Ihnen Dr. Jonas Posner gern Auskunft.