Programmiersprachen
LVA 185.208, VU, 3 ECTS, 2014 S
Programmiersprachen
Ziele:
Die Teilnehmer sollen einen Überblick über die wichtigsten Konzepte von Programmiersprachen bekommen.
Insbesondere sollen die Teilnehmer in die Lage versetzt werden, die Stärken und Schwächen einer Programmiersprache zu erkennen und die Sprache optimal zu nutzen.
Der Schwerpunkt liegt auf imperativen und objektorientierten Sprachen, grundlegende Konzepte funktionaler Sprachen werden aber auch behandelt.
Inhalt:
- Konzepte und Paradigmen von Programmiersprachen
- Strukturierung von Daten und Datentypen, Abstraktion
- Kontrollstrukturen und Aufrufkonventionen
- Modularität, Generizität und Programmieren-im-Großen
- spezielle Konzepte in objektorientierten Programmiersprachen
- spezielle Konzepte in funktionalen Programmiersprachen
Im Übungsteil werden mehrere Programmiersprachen unterschiedlicher Paradigmen eingesetzt.
Didaktische Vorgehensweise:
In einem Vorlesungsteil werden die Grundlagen vermittelt.
Drei in Kleingruppen zu lösende Programmieraufgaben (jeweils in unterschiedlichen Paradigmen) sollen das Gelernte verinnerlichen sowie Gemeinsamkeiten und Unterschiede zwischen den Paradigmen spürbar werden lassen.
Eine Aufgabe soll veranschaulichen, mit welch einfachen Mitteln eine Turing-vollständige Programmiersprache realisierbar ist, eine andere inwieweit zeitliche Abfolgen und statische Zustandsräume gegeneinander austauschbar sind, und eine dritte, wie stark Typsysteme die Denkweise beeinflussen können.
Voraussetzungen:
Praktische Programmierkenntnisse werden vorausgesetzt.
Lehrbehelfe:
Der Vorlesungsteil der Lehrveranstaltung beruht auf dem Buch
Programming Language Concepts
von Carlo Ghezzi und Mehdi Jazayeri, 3. Auflage, ISBN 0-471-10426-4, erschienen 1998 bei John Wiley & Sons (englisch, kann als Lehrbuch aus TU-Bibliothek entlehnt werden).
Folien zum Vorlesungsteil und Programmieraufgaben:
- Folien vom 9. Mai 2014
- Folien vom 16. Mai 2014
- Folien vom 23. Mai 2014
- Folien vom 6. Juni 2014
- Folien vom 13. Juni 2014
- Folien vom 27. Juni 2014
- 1. Aufgabe (programmierbarer Taschenrechner)
- 2. Aufgabe (Interpreter für Koordinationssprache)
- 3. Aufgabe (Editor für Koordinationssprache)
Zeit und Ort:
Vorlesungstermine sind freitags vom 9. Mai bis 27. Juni (außer am 30. Mai und 20. Juni, insgesamt 6 Einheiten) im EI 3A (Gußhausstr. 25-29, 2. OG) jeweils von 10:00 bis 12:00 Uhr.
Eine kurze Vorbesprechung findet zu Beginn der ersten Vorlesung statt.
Die Gruppeneinteilung für den Übungsteil erfolgt am 16. Mai im Rahmen der Vorlesung.
Anmeldung:
Anmeldungen zur Lehrveranstaltung sind bis spätestens 15. Mai über
TISS erforderlich.
Anrechenbarkeit:
Programmiersprachen
ist im Modul
Computersprachen und Programmierung
für das Magisterstudium
Software Engineering & Internet Computing
sowie im Modul
Programming Languages and Verification
für das Magisterstudium
Computational Intelligence
anrechenbar.
Beurteilung:
Die Beurteilung setzt sich je zur Hälfte aus den Leistungen bei der Laborübung (die in Gruppen von 2 bis 4 Personen durchzuführen ist) und dem Ergebnis einer mündlichen Prüfung zusammen, wobei beide Teile positiv sein müssen; sonst ist die Gesamtbeurteilung negativ.
Die Beurteilung des Laborübungsteils erfolgt bei einem Abgabegespräch, bei dem die Lösungen der drei gestellten Programmieraufgaben einer Übungsgruppe diskutiert werden.
Das Abgabegespräch muss von jeder Übungsgruppe bis spätestens September 2014 abgelegt werden, die mündliche Prüfung (für jeden Teilnehmer getrennt) bis spätestens Jänner 2015.
Die Gesamtbeurteilung ist negativ, wenn bis zu diesen Terminen kein Abgabegespräch oder keine Prüfung positiv abgelegt wird.
Prüfungen werden (außer in der vorlesungsfreien Zeit) jeden Montag von 11 bis 12 Uhr und nach Vereinbarung abgehalten.
Die Anmeldung zu einer Prüfung soll mindestens eine Woche vor dem gewünschten Prüfungstermin erfolgen, am besten per eMail.
Sowohl Abgabegespräch als auch Prüfung können bei negativer Beurteilung innerhalb des vorgesehenen Zeitraums höchstens einmal wiederholt werden bevor die Gesamtbeurteilung erfolgt.
Vortragender:
Franz Puntigam
Tel.: 58801/18514
franz@complang.tuwien.ac.at