Illustrationsbild für den Virtuellen Studienplatz

Lehrveranstaltung 01919 (WiSe 23/24)

 
01919 Seminar Programmiersysteme im Wintersemester 2023/2024
Hinweis Das Semester dieser Veranstaltung ist beendet.
grundlegende Überarbeitung: Wintersemester 2023/2024 Umfang: 5.0 ECTS
nächster geplanter Einsatz: -keine Angaben vorhanden- Versionen
Autorinnen und Autoren Teilnahmevoraussetzungen
Beschreibung
Schließen
Beschreibung
KursbeschreibungIn den letzten 20 Jahren hat sich ein schleichender Paradigmenwechsel vollzogen: Stand früher die Korrektheit von Algorithmen und ihren Inkarnationen in Form von Programmen im Vordergrund, so ist heute Kundenzufriedenheit das Maß der Dinge. Dies liegt zum einen an der Natur der Probleme, deren programmierte Lösungen in den Mittelpunkt des Interesses gerückt sind, für die Korrektheit aber gar nicht definiert ist (wie z. B. Such- und Matching-Probleme, in jüngster Zeit auch generative KI in Verbindung mit Fragestellungen, deren Antworten naturgemäß subjektiv sind), zum anderen aber auch an den Geschäftsmodellen der Hersteller, die darauf bauen, dass es keine zugesicherten Eigenschaften gibt (hier ist Korrektheit ?nice to have?, aber keine Priorität). Denkt man an unsere ständig steigende Abhängigkeit von Software, ist dies ein unglückseliger Trend.
Mit diesem Seminar soll der Blick in die entgegengesetzte Richtung gewendet werden: Programme, die selbst einen Beweis darstellen. Beispiele für solche Programme sind typischerweise jene, die in deklarativen Sprachen geschrieben wurden, in denen mit einem Programm also nur das Problem beschrieben wird und die Lösung in der Ausführung der Beschreibung besteht. Prolog-Programme sind an sich ein gutes Beispiel hierfür; jedoch sind auch Prolog-Programme in der Regel nicht algorithmenfrei und es gibt keinerlei Garantien, dass ein Prolog-Programm fehlerfrei ist. Insbesondere der Umstand, dass Prolog keine Typen kennt, mag als Grund hierfür angeführt werden: Das Type Checking von Programmen ist nämlich die am weitesten verbreitete (und bis heute wohl erfolgreichste, wenn nicht einzige praktikable) Form der formalen Verifikation von Programmen.
Inhaltliche Voraussetzungen: Gute Englischkenntnisse für die Literaturrecherche, gute Deutschkenntnisse für die Ausarbeitung, Interesse an theoretischen Inhalten. Praktische Programmiererfahrung in Funktionaler Programmierung sowie Kenntnis der Kurse 01816 (Logisches und funktionales Programmieren) und 01852 (Fortgeschrittene Konzepte funktionaler Programmierung) sind bei der Bearbeitung hilfreich.
Geforderte Leistungen: Eigene Literaturrecherche, Ausarbeitung in deutscher Sprache im Umfang von 20 Din-A4-Seiten Text plus Deckblatt, Inhaltsverzeichnis, Literaturverzeichnis, 20-25-minütiger Powerpoint-Vortrag, Beteiligung an der Diskussion zu den Vorträgen, Beteiligung an Austauschen zwischendurch.
Termine
Veranstaltungsbeginn: 02.10.2023
Material
Hinweis Diese Lehrveranstaltung beinhaltet zugriffsgeschütztes Material, das nur nach dem Login eingesehen werden kann.
Einstieg interne Referenz nicht mehr auffindbar
Betreuung
Betreuende Liste der Campus Standorte bzw. Studienzentren

Irrtümer und nachträgliche Datenänderungen vorbehalten.


Seite erstellt in 0,1s  |  29.4.24,15:21 im Sommersemester 2024  |  realisiert durch das LVU-System
FernUni-Logo FernUniversität in Hagen, 58084 Hagen, Telefon: +49 2331 987-01, E-Mail: fernuni@fernuni-hagen.de