185.211 Fortgeschrittene objektorientierte Programmierung
Diese Lehrveranstaltung ist in allen zugeordneten Curricula Teil der STEOP.
Diese Lehrveranstaltung ist in mindestens einem zugeordneten Curriculum Teil der STEOP.

2022S, VU, 2.0h, 3.0EC, wird geblockt abgehalten
Lecture TubeTUWEL

Merkmale

  • Semesterwochenstunden: 2.0
  • ECTS: 3.0
  • Typ: VU Vorlesung mit Übung
  • LectureTube Lehrveranstaltung
  • Format der Abhaltung: Präsenz

Lernergebnisse

Nach positiver Absolvierung der Lehrveranstaltung sind Studierende in der Lage

  • nominale von strukturellen Typen zu unterscheiden und als Abstraktionsmittel in der objektorientierten Programmierung einzusezten,
  • Möglichkeiten, Schwierigkeiten und Grenzen der Verwendung von Zusicherungen zur Beschreibung von Objektschnittstellen abzuschätzen,
  • Einsatzbereiche, Strukturen, Eigenschaften und typische Implementierungstechniken einiger Software-Entwurfsmuster (z.B. Observer und State) zu beschreiben,
  • kleine verteilte Programme (Spiele) zu schreiben und dabei Zusicherungen und Software-Entwurfsmuster einzusetzen,
  • kleine Programme in (historisch gesehen) einflussreichen objektorientierten Programmiersprachen (Smalltalk und Eiffel) zu schreiben und dabei charakteristische Merkmale dieser Sprachen zu nutzen,
  • die Implementierung von dynamischem Binden in üblichen Programmiersprachen zu beschreiben.

Inhalt der Lehrveranstaltung

  • Namen als Abstraktionsmittel, Bedeutung von Typnamen für Zusicherungen und Ersetzbarkeit
  • Möglichkeiten, Schwierigkeiten und Grenzen beim Einsatz von Zusicherungen entsprechend Design-by-Contract
  • ausgewählte Software-Entwurfsmuster
  • Implementierung von dynamischem Binden in objektorientierten Sprachen
  • Smalltalk und Eiffel
  • weitere Themen im Bereich der objektorientierten Programmierung, die von Studierenden vorgeschlagen werden

Methoden

  • In einem Vorlesungsteil werden die Lehrinhalte besprochen. Neben den vorgegebenen Lehrinhalten werden auch von den Studierenden vorgeschlagene Aspekte des Themas behandelt.
  • Drei Programmieraufgaben, die in Übungsgruppen (je 2 bis 4 Studierende) zu lösen sind, sollen die Lehrinhalte verinnerlichen und praktisch anwenden. Dabei ist ein kleines Spiel in drei Varianten zu entwerfen und implementieren: in beliebiger objektorientierter Sprache als verteilte Anwendung, in Eiffel und in Smalltalk.

Prüfungsmodus

Prüfungsimmanent

Weitere Informationen

ECTS-Breakdown: 3 ECTS = 75 Stunden

  • 15h: Teilnahme an Vorlesungen und Aufbereitung des Vorlesungsstoffes
  • 50h: Lösung der Programmieraufgaben
  • 10h: Prüfungsvorbereitung und Prüfung

Anmeldung

Die Anmeldung zu einer Übungsgruppe in TISS (zwischen 28. Februar und 10. März) gilt gleichzeitig als Anmeldung zur Lehrveranstaltung. Die Mindestgröße einer Gruppe sind zwei Personen, vorzuziehen wären aber Gruppen zu drei oder vier Personen. Gruppen, die nach Ende der Anmeldefrist nur aus einer Person bestehen, werden zusammengelegt, Gruppen mit nur zwei Mitgliedern werden nach Möglichkeit um weitere Mitglieder ergänzt. Um sich mit möglichen Gruppenmitgliedern abzusprechen, verwenden Sie am besten das Diskussionsforum in TUWEL; bedenken Sie aber, dass Sie erst nach einer Anmeldung Zugang zu TUWEL erhalten. Die Zugehörigkeit zu einer Übungsgruppe ist bis zum Ende der Anmeldefrist jederzeit änderbar.

Vorlesungen

Die 6 Vorlesungen finden jeweils freitags bis Ostern von 10 Uhr c.t. bis 12 Uhr statt. Aufzeichnungen der Vorlesungen werden über TUWEL bereitgestellt. Bitte nehmen Sie dennoch in Präsenz oder live teil, da (insbesondere in der zweiten Hälte) die interaktive Mitarbeit eine große Rolle spielen wird.

Übungsaufgaben

Die drei in Gruppen zu lösenden Programmieraufgaben werden nach Ende der Anmeldefrist in TUWEL bereitgestellt. Die fertigen Lösungen sind in einem Abgabegespräch zu präsentieren, das bis spätestens Ende Juni 2022 abzulegen ist.

Präsenz- und Online-Modus

Die Vorlesungen und das Abgabegespräch sind in Präsenz geplant. Allerdings muss damit gerechnet werden, dass Regelungen der TU Wien es nötig machen, bei Bedarf auch kurzfristig (auf Dauer oder eine bestimmte Zeit) auf einen Online-Modus umzustellen. In diesem Fall werden Sie über TUWEL-News über nötige Änderungen informiert.

Vorlesungen, die im Online-Modus abgehalten werden müssen, erfolgen über ein Zoom-Meeting, um Interaktion sicherstellen zu können. Der Link zum Zoom-Meeting wird in diesem Fall in TUWEL zu finden sein.

Abgabegespräche und mündliche Prüfungen in Präsenz finden im Büro von Puntigam (Argentinierstraße 8, 4. Stock) statt. Online-Abgabegespräche und -Prüfungen erfolgen über Zoom, wobei der Link zum Zoom-Meeting in TUWEL zu finden sein wird.

Anmeldungen zu Prüfungen und Abgabegesprächen erfolgen per eMail an den Prüfer. Generell werden Prüfungen jeden Donnerstag (außerhalb der vorlesungsfreien Zeit) von 11 bis 12 Uhr angeboten, können aber auch zu anderen Zeiten vereinbart werden. Die Prüfungsanmeldung muss mindestens eine Woche vor dem Prüfungstermin erfolgen. Abmeldungen sind bis kurz vor der Prüfung möglich.

Durchführung von Online-Prüfungen

Für die Ablegung von Online-Prüfungen (falls Prüfungen in Präsenz nicht möglich sind) gelten folgende Bedingungen:

  • Absolvieren Sie die Prüfung in einem Raum, in dem Sie ungestört sind. In der nächsten Umgebung dürfen sich nur Gegenstände befinden, die Sie auch bei einer normalen mündlichen Prüfung verwenden dürfen (z.B., Ausweis, leeres Papier, Stift, Drinkglas) sowie die für die Online-Prüfung benötigten technischen Einrichtungen, sonst nichts (vor allem keine Handys oder Skripten). Außerhalb des unmittelbaren Arbeitsbereichs können sich beliebige Gegenstände befinden. Es dürfen sich keine anderen Personen im Raum aufhalten.
  • Wenn Sie zur Prüfungsbeobachtung eine weitere Person hinzuziehen wollen, geben Sie die Zugangsdaten bitte weiter und ersuchen Sie diese Person, ebenfalls zum Zeitpunkt des Prüfungsbeginns von einem anderen Raum aus in das Meeting einzusteigen. Geben Sie zu Beginn der Prüfung bekannt, dass Sie eine weitere Person hinzuziehen wollen. Studierender und Prüfer können jeweils eine weitere Person zur Beobachtung einladen, aber nicht mehrere, um die Übersicht nicht zu leicht zu verlieren. Mikrofon und Kamera von Beobachtern sollen ausgeschaltet bleiben.
  • Zu Beginn der Prüfung müssen Sie Ihren Ausweis (Studierendenausweis bevorzugt) in die Kamera zeigen und wenn dazu aufgefordert Ihre Arbeitsumgebung herzeigen (indem Sie die Kamera bzw. den Laptop entsprechend den Anweisungen im Raum bewegen).
  • Wie bei jeder mündlichen Prüfung müssen Sie die gestellten Fragen beantworten. Da jedoch die Bild- und Tonqualität vermutlich nicht immer ideal und daher die Gestik nicht stets zweifelsfrei erkennbar ist, müssen Sie damit rechnen, dass Wiederholungen von Fragen und Antworten nötig sein können und möglicherweise zusätzliche Fragen gestellt werden. Stellen Sie sich darauf ein, dass eine Prüfung aus diesen Gründen auch länger als veranschlagt dauern kann.
  • Wenn eine Frage aufgrund der Bild- und Tonqualität nicht verständlich war, fragen Sie bitte nach. Wenn die Verbindung überhaupt abbricht, steigen Sie wieder neu mit den gleichen Zugangsdaten ein. Sollte auch das nicht funktionieren, schreiben Sie dem Prüfer bitte eine eMail. In diesem Fall wird die Prüfung zu einem späteren, getrennt vereinbarten Termin fortgesetzt.
  • Bild- und Tonaufzeichnungen der Prüfung sind nicht vorgesehen. Sollten doch Aufzeichnungen gewünscht werden, ist das vor der Prüfung schriftlich (per Mail) gegenseitig zu vereinbaren; andernfalls sind Aufzeichnungen verboten.
  • Wenn mündliche Prüfungen in Präsenz möglich sind, werden Online-Prüfungen nur in Ausnahmesituationen angeboten, in denen die Präsenz nicht oder nur unter stark erschwerten Bedingungen möglich ist.

Vortragende Personen

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
Fr.10:00 - 12:0004.03.2022 - 08.04.2022EI 5 Hochenegg HS Vorlesung
Fortgeschrittene objektorientierte Programmierung - Einzeltermine
TagDatumZeitOrtBeschreibung
Fr.04.03.202210:00 - 12:00EI 5 Hochenegg HS Vorlesung
Fr.11.03.202210:00 - 12:00EI 5 Hochenegg HS Vorlesung
Fr.18.03.202210:00 - 12:00EI 5 Hochenegg HS Vorlesung
Fr.25.03.202210:00 - 12:00EI 5 Hochenegg HS Vorlesung
Fr.01.04.202210:00 - 12:00EI 5 Hochenegg HS Vorlesung
Fr.08.04.202210:00 - 12:00EI 5 Hochenegg HS Vorlesung
LVA wird geblockt abgehalten

Leistungsnachweis

  • Die Beurteilung des Übungsteils beruht auf den Lösungen, die beim Abgabegespräch bis Ende Juni 2022 vorzuzeigen sind (siehe "Weitere Informationen - Übungsaufgaben".
  • Fehlende oder unzureichende Lösungen aus dem Übungsteil können, wenn die Mängel größerer Art sind, bis spätestens 15. Juli 2022 nachgebessert und in einem weiteren Abgabegespräch präsentiert werden.
  • Zusätzlich legt jede_r Studierende bis spätestens Ende Jänner 2023 eine mündliche Prüfung ab. Siehe "Weitere Informationen" für Details dazu.
  • Für eine positive Gesamtbeurteilung muss sowohl der Übungsteil als auch die Prüfung positiv beurteilt sein, wobei sich eine positive Gesamtnote aus dem Durchschnitt der Beurteilungen von  Übungsteil und Prüfung bildet.
  • Die Prüfung kann bei negativer Beurteilung innerhalb der Lehrveranstaltung und innerhalb des gegebenen Zeitraums einmal wiederholt werden.

LVA-Anmeldung

Von Bis Abmeldung bis
28.02.2022 00:00 10.03.2022 23:59

Anmeldemodalitäten

Bitte melden Sie sich zu einer Gruppe an (TISS). Die Anmeldung zu einer Gruppe gilt gleichzeitig als Anmeldung zur Lehrveranstaltung.

Gruppen-Anmeldung

GruppeAnmeldung VonBis
FOOP A28.02.2022 00:0010.03.2022 23:59
FOOP B28.02.2022 00:0010.03.2022 23:59
FOOP C28.02.2022 00:0010.03.2022 23:59
FOOP D28.02.2022 00:0010.03.2022 23:59
FOOP E28.02.2022 00:0010.03.2022 23:59
FOOP F28.02.2022 00:0010.03.2022 23:59
FOOP G28.02.2022 00:0010.03.2022 23:59
FOOP H28.02.2022 00:0010.03.2022 23:59
FOOP I28.02.2022 00:0010.03.2022 23:59
FOOP J28.02.2022 00:0010.03.2022 23:59
FOOP K28.02.2022 00:0010.03.2022 23:59
FOOP L28.02.2022 00:0010.03.2022 23:59
FOOP M28.02.2022 00:0010.03.2022 23:59
FOOP N28.02.2022 00:0010.03.2022 23:59
FOOP O28.02.2022 00:0010.03.2022 23:59
FOOP P28.02.2022 00:0010.03.2022 23:59
FOOP Q28.02.2022 00:0010.03.2022 23:59
FOOP R28.02.2022 00:0010.03.2022 23:59
FOOP S28.02.2022 00:0010.03.2022 23:59
FOOP T28.02.2022 00:0010.03.2022 23:59
FOOP U28.02.2022 00:0010.03.2022 23:59
FOOP V28.02.2022 00:0010.03.2022 23:59
FOOP W28.02.2022 00:0010.03.2022 23:59
FOOP X28.02.2022 00:0010.03.2022 23:59
FOOP Y28.02.2022 00:0010.03.2022 23:59
FOOP Z28.02.2022 00:0010.03.2022 23:59

Curricula

Literatur

Es wird kein Skriptum zur Lehrveranstaltung angeboten.

Vorkenntnisse

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

Sprache

Deutsch