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 Programmiersprache zurecht. Sie können anhand des Paradigmas der Programmiersprache 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 Programmiersprachen unterstützt werden. Dazu werden die Programmiersprachen zuerst in verschiedene Klassen (Programmierparadigmen) 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 Programmiersprache 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 Dozierende
Dozent(in): Prof. Dr. Jan Christiansen