Website
Modulhandbuch

Modul CS3052-KP04, CS3052

Programmiersprachen und Typsysteme (ProgLan14)

Dauer:
1 Semester
Angebotsturnus:
Jedes Wintersemester
Leistungspunkte:
4
Studiengang, Fachgebiet und Fachsemester:
  • Bachelor Informatik 2019 (Wahlpflicht), Kernbereich Informatik, Beliebiges Fachsemester
  • Bachelor Informatik 2019 (Wahlpflicht), Kanonische Vertiefung Web und Data Science, 3. Fachsemester
  • Bachelor Informatik 2019 (Pflicht), Kanonische Vertiefung SSE, 3. Fachsemester
  • Bachelor Medieninformatik 2020 (Wahlpflicht), Informatik, 5. oder 6. Fachsemester
  • Bachelor Medieninformatik 2014 (Wahlpflicht), Informatik, 5. oder 6. Fachsemester
  • Bachelor Informatik 2016 (Wahlpflicht), Kernbereich Informatik, Beliebiges Fachsemester
  • Bachelor Informatik 2016 (Pflicht), Kanonische Vertiefung SSE, 3. Fachsemester
  • Bachelor Informatik 2012 (Wahlpflicht), Informatik Kernbereich, 5. oder 6. Fachsemester
  • Bachelor Informatik 2012 (Pflicht), Anwendungsfach IT-Sicherheit und Zuverlässigkeit, 4. Fachsemester
  • Master Informatik 2012 (Pflicht), Vertiefungsblock Programmierung, 2. oder 3. Fachsemester
  • Bachelor IT-Sicherheit 2016 (Wahlpflicht), Informatik, Beliebiges Fachsemester
  • Bachelor Mathematik in Medizin und Lebenswissenschaften 2010 (Wahl), Informatik, 5. oder 6. Fachsemester
  • Bachelor Informatik 2014 (Wahlpflicht), Informatik Kernbereich, 5. Fachsemester
  • Bachelor Informatik 2014 (Pflicht), Anwendungsfach IT-Sicherheit und Zuverlässigkeit, 5. Fachsemester
Lehrveranstaltungen:
  • CS3052-Ü: Programmiersprachen und Typsysteme (Übung, 1 SWS)
  • CS3052-V: Programmiersprachen und Typsysteme (Vorlesung, 2 SWS)
Workload:
  • 15 Stunden Prüfungsvorbereitung
  • 60 Stunden Selbststudium und Aufgabenbearbeitung
  • 45 Stunden Präsenzstudium
Lehrinhalte:
  • Überblick über Programmiersprachen
  • Syntaktische Beschreibung von Programmiersprachen
  • Sprachkonzepte für Datenstrukturen
  • Typisierung von Programmiersprachen
  • Sprachkonzepte für Kontrollstrukturen
  • Abstraktions- und Modularisierungskonzepte
  • Typisierung und Typsysteme
  • Semantik von Programmiersprachen
  • Programmiersprachen-Paradigmen
  • Konzepte für nebenläufige Programmierung
  • Werkzeuge für Programmiersprachen
Qualifikationsziele/Kompetenzen:
  • Die Studierenden können wichtige Programmiersprachen charakterisieren und können deren Anwendungsgebiete gegenüberstellen.
  • Sie können syntaktische und semantischen Beschreibungen von Programmiersprachen verstehen, anpassen und erweitern.
  • Sie können den Aufbau und die Prinzipien von Programmiersprachen analysieren.
  • Sie können neue Sprachkonstrukte selbstständig erlernen und einordnen.
  • Sie können über die Unterstützung von Typsystemen für korrekte Programme argumentieren.
  • Sie können zu vorgegebenen Aufgaben geeignete Programmiersprachen auswählen.
Vergabe von Leistungspunkten und Benotung durch:
  • Klausur
Setzt voraus:
Modulverantwortlicher:
Lehrende:
Literatur:
  • K.C. Louden: Programming Languages: Principles and Practice - Course Technology 2011
  • J.C. Mitchell: Concepts in Programming Languages - Cambridge University Press 2003
  • T.W. Pratt, M.V. Zelkowitz: Programming Languages: Design and Implementation - Prentice Hall 2000
  • R.W. Sebesta: Concepts of Programming Languages - Pearson Education 2012
  • R. Sethi: Programming Languages: Concepts and Constructs - Addison-Wesley 2003
  • D.A. Watt: Programming Language Design Concepts - John Wiley & Sons 2004
  • G. Winskel: The Formal Semantics of Programming Languages - MIT Press 1993
Sprache:
  • Sowohl Deutsch- wie Englischkenntnisse nötig
Bemerkungen:

Kenntnisse aus CS2000 Theoretische Informatik sind hilfreich, können aber im gleichen Semester erworben werden.

Letzte Änderung:
19.8.2019