Home
General
Staff
Contact
Partners
Alumni
Research
Areas
Projects
Papers
Books
Reports
Awards
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 |
MT 127 |
Beginn: 6.10.2011 |
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 |
06.10.2011
13.10.2011
20.10.2011
|
Überblick
Imperative Sprachen
|
03.11.2011
10.11.2011
17.11.2011
|
Objektorientierte Sprachen
|
24.11.2011
01.12.2011
15.12.2011
12.01.2012
|
Funktionale Sprachen
Logische Sprachen
|
|
26.01.2012
|
Klausur
|
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: 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 18.1.2012 | |
| Objektorientierte Sprachen | siehe Tabelle auf der Übungsseite |
| Fr 20.1.2012 | 10-11 | 11-12 | 13-14 | 14-15 |
Imperative Sprachen
Abgabe bei Mössenböck oder Löberbauer | A - H | I - L | M - R | S - Z |
| Fr 27.1.2012 | 10-11 | 11-12 | 13-14 | 14-15 |
Funktionale Sprachen, 1. Termin
Abgabe bei Prähofer oder Schatz | A - H | I - L | M - R | S - Z |
| Fr 10.2.2012 | 10-11 | 11-12 | 13-14 | 14-15 |
Funktionale Sprachen, 2. Termin
Abgabe bei Prähofer | A - H | I - L | M - R | S - Z |
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
|