logo of the SSW institute
Institut für Systemsoftware
Johannes Kepler Universität Linz
Fachbereich Informatik
logo of the Cristian Doppler Research Association
Christian Doppler Labor
Automated Software Engineering

Home

General
Staff
Contact
Partners
Alumni

Research
Areas
Projects
Papers
Books
Reports

Teaching
Lectures
Exams
B.Projects
M.Theses
PhD Theses
Go Abroad

Misc
Library
Seminars
Gallery
Links
Search

Webmaster


logo of the Johannes Kepler University (JKU)

Prinzipien von Programmiersprachen

339.003 3KV Blaschek, Mössenböck, Prähofer Do 15:30-18:00 T 211 Beginn: 8.10.2009


Diese Lehrveranstaltung vermittelt ein breites Verständnis für Programmiersprachenparadigmen und -konzepte, insbesondere solche, die über Java hinausgehen. Diese Konzepte werden an Hand ihrer Geschichte, ihrer Realisierungsalternativen in diversen Sprachen, der damit verbundenen Designüberlegungen, sowie ihrer Vor- und Nachteile diskutiert. Ein weiteres Ziel ist das Kennenlernen ausgewählter Programmiersprachen.

Inhalt

  1. Überblick (Mössenböck)
    - Klassifikation von Programmiersprachen
    - Stammbaum heutiger Sprachen
  2. Imperative Sprachen (Mössenböck)
    - Historische Meilensteine
    - Scopes
    - Datentypen
    - Anweisungen
    - Unterprogramme
    - Modularisierung und Datenabstraktion
    - Parallelität
    - Ausnahmebehandlung
    - Kontrakte in Eiffel
  3. Objektorientierte Sprachen (Blaschek)
    - Begriffe
    - Mechanismen
    - Typisierung
    - Reine objektorientierte Sprachen
    - Blöcke
    - Ko- und Kontravarianz
    - Generizität
    - Mehrfache Vererbung
    - Prototypen
  4. Funktionale Sprachen (Prähofer)
    - Grundlagen
    - LISP und Scheme
    - rein funktionale Sprachen (Haskell)
    - XLinq und DLinq in C# 3.0, JavaFX
  5. Logische Sprachen (Prähofer)
    - Logische Grundlagen
    - Unifikation
    - Prolog
    - Anwendungen

Termine

Termine Inhalt
08.10.2009
15.10.2009
22.10.2009
Überblick
Imperative Sprachen
05.11.2009
12.11.2009
19.11.2009
Objektorientierte Sprachen
03.12.2009
10.12.2009
17.12.2009
14.01.2010
Funktionale Sprachen
Logische Sprachen
27.01.2010 Klausur (15:30-17:00 Uhr, HS 2)

Skript

Das Skript kann von der Kusss-Webseite dieser LVA in PDF-Form heruntergeladen werden:
- Teil 1: Klassische imperative Sprachen
- Teil 2: Objektorientierte Sprachen
- Teil 3: Funktionale und Logische Sprachen

Prüfung

Die Prüfung findet in Form einer schriftlichen Klausur statt. Zum positiven Abschluss dieser LVA ist auch der Übungsteil zu absolvieren.

Übungen

Die Übungen bestehen aus drei Teilen, in denen jeweils ein Projekt zu bearbeiten und am Ende des Semesters beim betreffenden LVA-Leiter abzugeben ist.

Abgabe Übung Funktionale Programmierung, 2. Termin: 16. 4. 13:00 - 13:30, 15:15 - 16:00 (vor oder nach der Nachklausur)

Abgabe: Kommen Sie bitte mit Ihrem Notebook zu den angegebenen Zeiten zu den LVA-Leitern und präsentieren Sie Ihre Projekte. Um Wartezeiten zu vermeiden, sind die Abgabezeiten vorgegeben bzw. nach dem Anfangsbuchstaben Ihres Namens gegliedert.

Mi 20.1.2010
Objektorientierte Sprachen Termineinteilung
Di 2.2.2010 13-14 14-15 15-16 16-17
Imperative Sprachen A - G H - O P - Sk Sp - Z
Funktionale Sprachen H - O A - G Sp - Z P - Sk

Literatur

Bücher

Allgemeines
  • Sebesta, R.W.: Concepts of Programming Languages. 7th ed., Addison-Wesley 2006
  • Maclennan B.J.: Principles of Programming Languages. Oxford University Press, 1999
  • Henning, P.A., Vogelsang H. (Hrsg.): Handbuch Programmiersprachen. Hanser 2007
Geschichte Scheme und Common Lisp
  • Harold Abelson, Gerald Jay Sussman: Structure and Interpretation of Computer Programs. 2nd Edition, MIT Press, 1996
  • M. Eisenberg: Programming in Scheme. MIT Press, 1988
  • R. Kent Dybvig: The Scheme Programming Language. 3rd Edition, MIT Press, 2003
  • Patrick H. Winston und Berthold K. Horn: LISP. Addison-Wesley, 1989
  • Peter Norvig: Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP. Morgan Kaufmann, 2001
  • Sonya Keene: Object-Oriented Programming in Common LISP: A Programmer's Guide to Clos. Addison-Wesley, 1989
  • Gregor Kiczales: The Art of the Meta-object Protocol. MIT Press, 1991
Funktionale Programmierung
  • Simon Thompson: Haskell: The Craft of Functional Programming. Second Edition, Addison-Wesley, 1999
  • Richard Bird: Introduction to Functional Programming using Haskell. 2nd edition, Prentice Hall Press, 1998
  • Graham Hutton: Programming in Haskell. Paperback: 200 pages, Cambridge University Press
  • Paul Hudak: The Haskell School of Expression: Learning Functional Programming through Multimedia. Cambridge University Press, New York, 2000
  • Bryan O'Sullivan, Don Stewart, and John Goerzen: Real World Haskell. O'Reilly Media, 2008.
  • Don Syme, Adam Granicz, Antonio Cisternino: Expert F#. Apress, Berkeley, 2007
Prolog
  • William F. Clocksin and Christopher S. Mellish: Programming in Prolog, 4th Edition, Springer-Verlag, 2003.
Spezielle Sprachen
  • Meyer, B.: Eiffel - The Language. Prentice Hall 1992
  • Barnes J.G.P.: Programming in Ada 95. Addison-Wesley 1998
  • Wheeler, D.A.: Ada 95 - The Lovelace Tutorial. Springer-Verlag 1997
  • Goldberg A., Robson D.: Smalltalk-80: The Language and Its Implementation, Addison-Wesley 1983
  • Cox B, Novobilski A.: Object-Oriented Programming: An Evolutionary Approach (beschreibt Objective C). Addison-Wesley 1991
  • Stroustrup, B.: The C++ Programming Language. 3rd edition, Addison Wesley 2000
  • Strasser, T.: C++ - Programmieren mit Stil. dpunkt.verlag 2003
  • Hejlsberg, A., Wiltamuth, S., Golde, P.: The C# Programming Language. Addison-Wesley 2004
  • Mössenböck, H.: Softwareentwicklung mit C# 2.0. dpunkt.verlag 2006

Online-Quellen