185.206 Typsysteme
Diese Lehrveranstaltung ist in allen zugeordneten Curricula Teil der STEOP.
Diese Lehrveranstaltung ist in mindestens einem zugeordneten Curriculum Teil der STEOP.

2019W, VO, 2.0h, 3.0EC

Merkmale

  • Semesterwochenstunden: 2.0
  • ECTS: 3.0
  • Typ: VO Vorlesung

Lernergebnisse

Nach positiver Absolvierung der Lehrveranstaltung sind Studierende in der Lage

  • Gründe für die Verwendung von Typen in Programmiersprachen aufzuzählen,
  • unterschiedliche Arten von Typen in Programmiersprachen zu beschreiben,
  • von Compilern zur Typüberprüfung verwendete formale Regelsysteme in groben Zügen zu skizzieren,
  • unterschiedliche Arten von Typen hinsichtlich ihrer wichtigsten Möglichkeiten und Grenzen zu vergleichen.

Inhalt der Lehrveranstaltung

  • Bedeutung von Typen in Programmiersprachen
  • Klassifikation von Programmiersprachen an Hand von Typsystemen
  • einfache theoretische Typmodelle
  • Typen in imperativen Sprachen (hauptsächlich Ada)
  • theoretische Modelle polymorpher Typsysteme und Typinferenz
  • Sprachen mit polymorphen Typsystemen
  • Subtyping
  • Generizität
  • Typen als partielle Spezifikationen von Objektverhalten
  • Verwendung polymorpher Typsysteme in der objektorientierten Programmierung
  • aktuelle Trends

 

Methoden

"Typsysteme" ist eine Vorlesung klassischen Stils, also ein wöchentlich stattfindender Vortrag, aufgelockert durch aktivierende Maßnahmen wie Fragen und kurze Diskussionen. Nach einem Themenüberblick und einer Einführung in die Terminologie folgen zyklisch wiederholt (1) praktische Erfahrungen [mit Diskussionen eigener Erfahrungen], (2) darauf aufbauende formale Modelle [mit Diskussionen der Hintergründe einiger technischer Details] und (3) typische Anwendungen der Modelle zur Typüberprüfung [mit Diskussionen der Möglichkeiten und Grenzen], die wieder zu praktischen Erfahrungen führen. Zur Vorbereitung auf die Vorträge und die abschließende Prüfung werden auch eigenständige Recherchen (unter Zuhilfenahme des Skriptums) erwartet.

Prüfungsmodus

Mündlich

Weitere Informationen

ECTS-Breakdown:

3 ECTS = 75 Stunden

  • 25h: Besuch der Vorlesungen
  • 25h: Vertiefung des Stoffs durch eigenständige Recherchen
  • 25h: Prüfungsvorbereitung und mündliche Prüfung

Vortragende

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
Fr.09:00 - 11:0004.10.2019 - 24.01.2020EI 3A Hörsaal Vorlesung
Typsysteme - Einzeltermine
TagDatumZeitOrtBeschreibung
Fr.04.10.201909:00 - 11:00EI 3A Hörsaal Vorlesung
Fr.11.10.201909:00 - 11:00EI 3A Hörsaal Vorlesung
Fr.18.10.201909:00 - 11:00EI 3A Hörsaal Vorlesung
Fr.25.10.201909:00 - 11:00EI 3A Hörsaal Vorlesung
Fr.08.11.201909:00 - 11:00EI 3A Hörsaal Vorlesung
Fr.22.11.201909:00 - 11:00EI 3A Hörsaal Vorlesung
Fr.29.11.201909:00 - 11:00EI 3A Hörsaal Vorlesung
Fr.06.12.201909:00 - 11:00EI 3A Hörsaal Vorlesung
Fr.13.12.201909:00 - 11:00EI 3A Hörsaal Vorlesung
Fr.10.01.202009:00 - 11:00EI 3A Hörsaal Vorlesung
Fr.17.01.202009:00 - 11:00EI 3A Hörsaal Vorlesung
Fr.24.01.202009:00 - 11:00EI 3A Hörsaal Vorlesung

Leistungsnachweis

In einer mündlichen Prüfung werden alle vier oben genannten Lernergebnisse auszugsweise überprüft.

LVA-Anmeldung

Von Bis Abmeldung bis
01.10.2019 00:00 31.10.2019 23:59

Curricula

Literatur

Skriptum und Folien sind bei den TISS-Lehrunterlagen zu dieser Lehrveranstaltung zu finden.

Vorkenntnisse

Es wird erwartet, dass Studierende vor Absolvierung der Lehrveranstaltung gute praktische Programmierkenntnisse in stark typisierten objektorientierten (und im Idealfall auch funktionalen) Programmiersprachen haben und dadurch Erfahrung im statischen Umgang mit Typen mitbringen.

Sprache

Deutsch