183.653 Methodisches, industrielles Software-Engineering mit Funktionalen Sprachen am Fallbeispiel Haskell Abgesagt
Diese Lehrveranstaltung ist in allen zugeordneten Curricula Teil der STEOP.
Diese Lehrveranstaltung ist in mindestens einem zugeordneten Curriculum Teil der STEOP.

2023S, VU, 2.0h, 3.0EC

Merkmale

  • Semesterwochenstunden: 2.0
  • ECTS: 3.0
  • Typ: VU Vorlesung mit Übung
  • Format der Abhaltung: Präsenz

Lernergebnisse

Nach positiver Absolvierung der Lehrveranstaltung sind Studierende in der Lage, fortgeschrittene Prinzipien und Konzepte funktionaler Programmierung zu beschreiben und zu erläutern und diese in
industriellen Softwareprojekten praktisch anzuwenden. Dabei werden Programmieraufgaben kleiner bis mittlerer Größe und Komplexität mithilfe grundlegender und fortgeschrittener Konzepte und Prinzipien funktionaler Programmierung sachlich und fachlich angemessen gelöst.

 

Inhalt der Lehrveranstaltung

Teil 1

  • Überblick/Kurzwiederholung der Haskell2010 Grundsprache, wichtiger Spracherweiterungen und des Haskell "Ökosystems" (Compiler, Build-System, Software Repositories, Tools, Community)
  • Werkzeuge der Abstraktionen in Haskell: Funktionen, (Daten)typen, GADTs, Lazyness, Typklassen, Monaden & EDSLs
  • Metaprogrammierung mit TemplateHaskell, QuasiQuotation & Generics

Teil 2

  • Verständnis und Optimierung der Laufzeiteigenschaften (Zeit- & Speicherbedarf) von GHC-Haskell Programmen
  • Skalierbarkeit in Haskell: Parallelisierung & Nebenläufigkeit
  • CloudHaskell
  • Vereinbarkeit von Ein/Ausgabe, Seiteneffekte & Datenstrukturmutation mit "reiner" Funktionaler Programmierung
  • Netzwerkprogrammierung (Vom einfachen TCP/IP Server zu JSON-RPC/HTTP Web-Services)
  • Einbindung bestehender C-Libraries mittels Foreign Function Interface (FFI)

Teil 3

  • Design & Entwicklung von "High Assurance Software" mit Haskell
  • Ausnutzung des Typsystems für "correct-by-construction" Garantien durch Abbildung von Invarianten auf Typebene.
  •  SafeHaskell
  • Testen (und Verifizieren) von Haskell Programmen

Methoden

Während der Vorlesung werden Diskussionen als auch Fragen zu relevanten Themen ermutigt. Fragen bezüglich der (selbständigen) Umsetzung des Abgabgeprojekts werden je nach grad des allgemeinen Interesses entweder direkt in der Vorlesung besprochen oder im Anschluss dieser bzw. per Email.
Relevante Entwicklungswerkzeuge, Hilfsmittel und Bibliotheken werden laufend vorgestellt und live vorgeführt.

Prüfungsmodus

Prüfungsimmanent

Weitere Informationen

Bei Fragen wenden Sie sich bitte an teaching@inso.tuwien.ac.at.

Aufwandsschätzung (ECTS-Breakdown):

  • Vorbesprechung: 1,5 h
  • Vorlesungen (5 Einheiten à 2 Stunden): 7,5 h
  • Eigenrecherchen: 11 h
  • Übungsbeispiele: 45 h
  • Abschlußpräsentation (inkl. Vorbereitung): 10 h

--------------------------------------------------- 

Summe: 75 Stunden (3 ECTS)

Vortragende Personen

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
Mo.17:00 - 19:0006.03.2023 - 26.06.2023Sem.R. DB gelb 09 183.653
Methodisches, industrielles Software-Engineering mit Funktionalen Sprachen am Fallbeispiel Haskell - Einzeltermine
TagDatumZeitOrtBeschreibung
Mo.06.03.202317:00 - 19:00Sem.R. DB gelb 09 183.653
Mo.13.03.202317:00 - 19:00Sem.R. DB gelb 09 183.653
Mo.20.03.202317:00 - 19:00Sem.R. DB gelb 09 183.653
Mo.27.03.202317:00 - 19:00Sem.R. DB gelb 09 183.653
Mo.17.04.202317:00 - 19:00Sem.R. DB gelb 09 183.653
Mo.24.04.202317:00 - 19:00Sem.R. DB gelb 09 183.653
Mo.08.05.202317:00 - 19:00Sem.R. DB gelb 09 183.653
Mo.15.05.202317:00 - 19:00Sem.R. DB gelb 09 183.653
Mo.22.05.202317:00 - 19:00Sem.R. DB gelb 09 183.653
Mo.05.06.202317:00 - 19:00Sem.R. DB gelb 09 183.653
Mo.12.06.202317:00 - 19:00Sem.R. DB gelb 09 183.653
Mo.19.06.202317:00 - 19:00Sem.R. DB gelb 09 183.653
Mo.26.06.202317:00 - 19:00Sem.R. DB gelb 09 183.653

Leistungsnachweis

Es gibt einen Vorlesungs- und einen Übungsteil, wobei die Bewertung aufgrund eines in Kleingruppen selbständig durchgeführten Softwareprojekts (inkl. kurzer Abschluspräsentation am Ende des Semesters) basiert.

LVA-Anmeldung

Von Bis Abmeldung bis
15.02.2023 20:00 30.04.2023 08:00

Curricula

StudienkennzahlVerbindlichkeitSemesterAnm.Bed.Info
175 FW Freie Wahlfächer - Wirtschaftsinformatik Freifach
880 FW Freie Wahlfächer - Informatik Freifach

Literatur

Vorkenntnisse

Um dieser LVA leichter folgen zu können, werden Grundkenntnisse der Haskell Programmiersprache dringend empfohlen, die beispielsweise durch Besuch der VU "Funktionale Programmierung" oder alternativ durch Selbststudium der Literaturempfehlungen erlangt werden können.

Vorausgehende Lehrveranstaltungen

Begleitende Lehrveranstaltungen

Sprache

Deutsch