Alternative Programmierkonzepte (T2INF4271)

Werbung
DUALE HOCHSCHULE
Baden-Württemberg
Studienbereich Technik
Alternative Programmierkonzepte (T2INF4271)
Formale Angaben zum Modul
Studiengang
Studienrichtung
Vertiefung
Informatik
Angewandte Informatik
-
Modulbezeichnung
Sprache
Nummer
Version
Modulverantwortlicher
Alternative Programmierkonzepte
Deutsch
T2INF4271
1
Prof. Dr. rer. nat. Martin Plümicke
Verortung des Moduls im Studienverlauf
Semester
Voraussetzungen für die Teilnahme
3. Stj.
Modulart
Moduldauer
Lokales Profilmodul
2
Eingesetzte Lehr- und Prüfungsformen
Lehrformen
Vorlesung, Übung, Labor
Lehrmethoden
Lehrvortrag, Diskussion
Prüfungsleistung
Benotung
Prüfungsumfang (in min)
Klausur
Standardnoten
120
Workload und ECTS
Workload insgesamt (in h)
davon Präsenzzeit (in h)
davon Selbststudium (in h)
ECTS-Punkte
150,0
72,0
78,0
5
Sachkompetenz
Studierende erwerben in diesem Modul Kenntnisse alternativer Programmierkonzepte. Sie bekommen Einblicke in die
theoretischen Grundlagen von Programmiersprachen. Dies weitet den Horizont im grundlegenden Verständnis des
Programmierens. Die alterativen Konzepte ermöglichen den Studierenden viele Probleme effizienter und oftmals mit
geringerer Fehlerzahl zu implementieren.
Selbstkompetenz
-
Qualifikationsziele und Kompetenzen
Sozial-ethische Kompetenz
15.05.2017
Modulbeschreibung für Bachelor Studiengänge an der DHBW
Seite 1
Lerneinheiten und Inhalte
Lehr- und Lerneinheiten
Präsenz
Selbststudium
Funktionale Programmierung
36,0
39,0
- Programmieren mit Funktionen
- Rekursive Definitionen
- Pattern Matching
- Funktionen als Datenwerte
- Funktionen höherer Ordnung
- Die Funktionen map und fold
- Das Konzept der Monaden Funktionale - Auswertungsstrategien: Strikte Auswertung (call-by-value), nicht strikte Auswertung (call-by-name), Lazy-Evaluation
(call-by-need)
- Überblick über unterschiedliche funktionale Sprache: sml, caml/ocaml, Haskell, Miranda, Lisp/Scheme, Lambda-Kalkül ,
Logische Programmierung
36,0
39,0
36,0
39,0
- Logik und Programmierung
- Die Programmiersprache ROLOG
- Unifikation
- Automatische Beweisverfahren
- Constrained Based Programming
- Wissensrepräsentation
- Expertensysteme
- Planung
- Natürliche Sprachverarbeitung
Höhere Typkonzepte
- Allgemeine Einführung
- variable Typen
- generalisierte Typen
- existenzielle Typen
- Typinferenz
- Subtyping
- Java Typsystem
- Java Typ-System
- Typterme
- Subtyping-Ordnung
- Soundness-Bedingung für das Java Typ-System
- Wildcard-Typen
- Java Programme mit generischen Typen
- Parametrisierte Klassen
- Vererbung mit parametrisierten Klassen
- Einführung in die Typinferenz in Java (Typinferenz Regeln in Java, Typinferenz-Algorithmus, Typlose Java-Programme)
Besonderheiten und Voraussetzungen
Besonderheiten
Voraussetzungen
-
Literatur
- Thiemann, Peter, Grundlagen der funktionalen Programmierung, 1994
- Teubner-Pepper, Peter; Hofstedt, Petra, Funktionale Programmierung Sprachdesign und Programmiertechnik. 2006, Springer, Berlin
- Smolka, Gert, Programmierung - eine Einführung in die Informatik mit Standard ML, 2008, Oldenbourg
- Simon Peyton Jones [editor], Haskell 98 language and libraries, the revised report, December 2002, http://haskell.org/onlinereport
- Bryan O Sullivan, Donald Bruce Stewart, and John Goerzen, Real World Haskell.O Reilly, 2009
- Clocksin, W.F. & Mellish, C.S., Programming in Prolog, Springer, 2003
- Sterling, L. & Shapiro. E, The Art of Prolog. Advanced Programming Techniques, MIT Press, 1986
- Görz, G., Rollinger, C.-R., Schneeberger, J. (Hrsg.), Handbuch der Künstlichen Intelligenz, Oldenbourg, 2004
- Gosling, James; Joy, Bill and Steele, Guy and Bracha, Gilad, The Java Language Specification, 2005, Addison-Wesley
- Naftalin, Maurice; Wadler, Philip: Java Generics and Collections Speed Up the Java Development Process., 2007, O` Reilly Media
- Wild FJ by Mads Torgersen, Erik Ernst and Christian Plesner Hansen, in the 12th workshop on Foundations of Object Oriented Programming (FOOL 2005)
15.05.2017
Modulbeschreibung für Bachelor Studiengänge an der DHBW
Seite 2
Herunterladen