Konzepte moderner Programmiersprachen

Dieses Modul besteht aus einer Lehrveranstaltung.

Studienorganisation

Modultyp:  Wahlpflichtveranstaltung

Lehrform:  Vorlesung/Labor

Sprache:  Deutsch

Kompetenzen/Lernziele 

Sie finden sich schnell in einer Ihnen bisher unbekannten Programmier­sprache zurecht. Sie können anhand des Paradigmas der Programmier­sprache einschätzen, welche Konzepte die Sprache zur Verfügung stellt. Sie kennen die Vor- und Nachteile verschiedener Konzepte in Hinsicht auf Aspekte des Software-Engineerings.

Inhalte 

Sie lernen unterschiedliche Konzepte kennen, die von aktuellen Programmier­sprachen unterstützt werden. Dazu werden die Programmier­sprachen zuerst in verschiedene Klassen (Programmier­paradigmen) eingeteilt. Anschließend werden die Konzepte vorgestellt, die von den jeweiligen Paradigmen unterstützt werden.

  • Paradigmen: imperativ, objekt-orientiert, funktional, logisch, multi-paradigmatisch
  • Typsysteme: statisch, dynamisch
  • Polymorphismus, Generics
  • Typinferenz
  • Funktionen höherer Ordnung, Lambda-Ausdrücke, Closures
  • Iteration, Rekursion, Iteratoren, Enumeratoren
  • Datenstrukturen: veränderbar, unveränderbar
  • Referenzen
  • Speichermanagement (Garbage-Collection, Reference-Counting)

In den Laborübungen erproben Sie die Umsetzung der verschiedenen Konzepte jeweils in einer Programmier­sprache und vergleichen das Ergebnis mit der entsprechenden Umsetzung in anderen Sprachen.

Arbeitsaufwand

4 SWS, 5,0 Creditpoints (CP)

60 h Präsenzstudium, 90 h Eigenstudium

Prüfung

Art der Prüfung:  Prüfungsleistung

Prüfungsform:  SP(HA)

Voraussetzungen

Voraussetzungen lt. Prüfungs- und Studienordnung 

keine

Verantwortliche Dozenten

Dozent(in):  Prof. Dr. Jan Christiansen