CS2350 Generische Programmierung

Modulverantwortliche
  • Prof. Dr. Uwe Meyer
Lehrende
  • Björn Lötters
  • Prof. Dr. Uwe Meyer
Kurzbeschreibung

Techniken und Konzepte mit denen Programme und Programmkomponenten verallgemeinert und flexibel einsetzbar gemacht werden.

Inhalte

Bei der generischen Programmierung geht es darum, Programme und Programmkomponenten durch Verallgemeinerung flexibler einsetzbar zu machen. Die relevanten Fragestellungen werden üblicherweise getrennt entweder im Kontext der funktionalen Programmierung oder der imperativen- Programmierung betrachtet. In dieser Veranstaltung werden beide Herangehensweisen zusammengeführt.

  • Mathematischer Hintergrund
  • Generische Typen
  • Algebraischer Entwurf
  • Faltungen, Monoide, Funktoren, natürliche Transformationen und Monaden
  • Datentyp-generische Programmierung
  • Anwendungen, Beispiel-Bibliotheken
Qualifikations- und Lernziele

Fachkompetenzen

  • Die Studierenden können die unterschiedlichen Aspekte von Softwarekomponenten unterscheiden, die einer Verallgemeinerung zugänglich sind.

Methodenkompetenzen (fachlich & überfachlich)

  • Sie können die Anwendbarkeit auf konkrete Problemstellungen beurteilen.

Sozialkompetenzen

  • Die Studierenden können diese Aspekte in Gruppenarbeit auf Projekte anwenden.

Selbstkompetenzen

  • Die Studierenden können ihre Herangehensweise reflektieren, präsentieren und diese verteidigen.
ECTS-Leistungspunkte (CrP)
  • 6 CrP
  • Arbeitsaufwand 180 Std.
  • Präsenzzeit 60 Std.
  • Selbststudium 120 Std.
Lehr- und Lernformen
  • 4 SWS
  • Seminaristischer Unterricht 4 SWS
Studiensemester
  • Bioinformatik (B.Sc. 2012)
  • Informatik (B.Sc. 2010)
  • Ingenieur-Informatik (B.Sc. 2010)
Dauer
1 Semester
Häufigkeit des Angebots
Einmal im Jahr
Unterrichtssprache
Deutsch
Bonuspunkte

Nein

Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.

Prüfungsleistungen

Prüfungsvorleistung: Keine

Prüfungsleistung: Klausur oder mündliche Prüfung (Art und Umfang der Prüfungsleistung wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)

Benotung
Die Bewertung des Moduls erfolgt gemäß §§ 9, ggf. 12 (Teilleistungen), ggf. 18 (Arbeiten, Kolloquien) der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung).
Verwendbarkeit
Gemäß § 5 der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung) Verwendbarkeit in allen Bachelorstudiengänge der THM möglich.
Literatur, Medien
  • Chiusano, P.; Bjarnason, R.: Functional Programming in Scala. Manning.
  • Stepanov, A.; Rose, E.: From Mathematics to Generic Programming. Pearson.
  • Forschungsberichte nach Bedarf.

Rechtliche Hinweise