Programmiersprachen
LVA 185.208, VU, 3 ECTS, 2016 S
Programmiersprachen
Ziele:
Die Teilnehmer(innen) sollen einen Überblick über die wichtigsten Konzepte von Programmiersprachen bekommen.
Insbesondere sollen die Teilnehmer(innen) 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 Übungsaufgaben:
- Folien vom 13. Mai 2016
- Folien vom 20. Mai 2016
- Folien vom 03. Juni 2016
- Folien vom 10. Juni 2016
- Folien vom 17. Juni 2016
- Folien vom 24. Juni 2016
- 1. Aufgabe (programmierbarer Taschenrechner)
- 2. Aufgabe (Interpreter für Sprache)
- 3. Aufgabe (Editor für Sprache)
Zeit und Ort:
Vorlesungstermine sind freitags vom 13. Mai bis 24. Juni (außer am 27. Mai, 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 20. Mai im Rahmen der Vorlesung.
Anmeldung:
Anmeldungen zur Lehrveranstaltung sind bis spätestens 20. Mai über
TISS erforderlich.
Weiters ist es erforderlich, sich am 20. Mai bei der Vorlesung zu einer Übungsgruppe anzumelden.
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 Ü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 Ü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 2016 abgelegt werden, die mündliche Prüfung – für alle Teilnehmer(innen) getrennt – bis spätestens Jänner 2017.
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