Fortgeschrittene objektorientierte Programmierung
LVA 185.211, VU, 3 ECTS, 2013 S
Fortgeschrittene objektorientierte Programmierung
Ziele:
Die Teilnehmer sollen fortgeschrittene Techniken der objektorientierten Programmierung kennenlernen und zwischen erfolgversprechenden und kaum zielführenden oder gefährlichen Einsatzmöglichkeiten objektorientierter Konzepte unterscheiden lernen.
Weiters sollen die Teilnehmer in die Lage versetzt werden, Unzulänglichkeiten aktueller Programmiersprachen durch Verwendung geeigneter Programmiertechniken zu überwinden.
Inhalt:
Anhand mehrerer objektorientierter Programmiersprachen (Java, C# oder C++ sowie Eiffel und Smalltalk) werden unter anderem folgende Themen behandelt:
- Namen als Abstraktionsmittel und Umgang mit Namenskonflikten
- Ersetzbarkeit versus Generizität
- Umgang mit kovarianten Problemen und parallelen Klassenhierarchien
- Implementierung objektorientierter Sprachen
- ausgewählte Entwurfsmuster
Didaktische Vorgehensweise:
In einem Vorlesungsteil werden die Grundlagen vermittelt.
Drei in Kleingruppen zu lösende Programmieraufgaben (eine in einer üblichen stark typisierten objektorientierten Sprache, eine in Eiffel und eine in Smalltalk) sollen das Gelernte veranschaulichen und verinnerlichen.
Neben den vorgegebenen Lehrinhalten werden auch einige von den Teilnehmern selbst vorgeschlagene Aspekte des Themas behandelt.
Voraussetzungen:
Vorausgesetzt werden
- gute Kenntnisse der objektorientierten Programmierung in Java, C#, C++ oder ähnlichen Sprachen
- Erfahrungen im Umgang mit Ersetzbarkeit (Untertypbeziehungen) und Generizität
- Wissen über Design-by-Contract und den prinzipellen Einsatz von Software-Entwurfsmustern
- individuelle praktische Programmiererfahrungen
Diese Voraussetzungen sind im Wesentlichen beispielsweise nach der erfolgreichen Teilnahme an
Objektorientierte Programmiertechniken erfüllt, idealerweise ergänzt durch praktische Programmiererfahrungen, die in anderen Lehrveranstaltungen (abgesehen von in die Programmierung einführenden Lehrveranstaltungen), in eigenen Projekten oder durch berufliche Tätigkeiten gesammelt wurden.
Lehrbehelfe:
Es gibt kein Skriptum.
Folien zur Vorlesung sowie die Programmieraufgaben:
- Folien vom 08.03.2013
- Folien vom 15.03.2013
- Folien vom 22.03.2013
- Folien vom 12.04.2013
- Folien vom 19.04.2013
- Folien vom 26.04.2013
- 1. Programmieraufgabe (verteiltes Spiel)
- 2. Programmieraufgabe (Smalltalk)
- 3. Programmieraufgabe (Eiffel)
Zeit und Ort:
Vorlesungstermine sind freitags vom 8. März bis 26. April 2013 (außer in den Osterferien, insgesamt 6 Termine) jeweils von 10:00 bis 12:00 Uhr im EI 3A (Gußhausstr. 25-29, 2. OG).
Eine kurze Vorbesprechung findet zu Beginn der ersten Vorlesung sowie im Rahmen der allgemeinen
Complang-Vorbesprechung am 6. März von 13:00 bis 14:00 Uhr im EI 4 statt.
Die Gruppeneinteilung für den Laborübungsteil erfolgt am 15. März am Rande der Vorlesung.
Anmeldung:
Anmeldungen zur Lehrveranstaltung sind bis spätestens 14. März über
TISS erforderlich.
Anrechenbarkeit:
Fortgeschrittene objektorientierte Programmierung
ist für folgende Magisterstudien anrechenbar:
- für
Software Engineering & Internet Computing
im Modul Computersprachen und Programmierung
- für
Computational Intelligence
im Modul Programming Languages and Verification
- für
Visual Computing
im Modul Methoden für Visual Computing
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 Ende Juni 2013 abgelegt werden, die mündliche Prüfung (für jeden Teilnehmer getrennt) bis spätestens Ende Jänner 2014.
Die Gesamtbeurteilung ist negativ, wenn bis zu diesen Terminen kein Abgabegespräch bzw. 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