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
|
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
- Überblick (Mössenböck)
- Klassifikation von Programmiersprachen
- Stammbaum heutiger Sprachen
-
Imperative Sprachen (Mössenböck)
- Historische Meilensteine
- Scopes
- Datentypen
- Anweisungen
- Unterprogramme
- Modularisierung und Datenabstraktion
- Parallelität
- Ausnahmebehandlung
- Kontrakte in Eiffel
-
Objektorientierte Sprachen (Blaschek)
- Begriffe
- Mechanismen
- Typisierung
- Reine objektorientierte Sprachen
- Blöcke
- Ko- und Kontravarianz
- Generizität
- Mehrfache Vererbung
- Prototypen
-
Funktionale Sprachen (Prähofer)
- Grundlagen
- LISP und Scheme
- rein funktionale Sprachen (Haskell)
- XLinq und DLinq in C# 3.0, JavaFX
-
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
|