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.

2021S, 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: Distance Learning

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 1. März und 11. 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 12 Vorlesungen finden jeweils freitags von 10 Uhr c.t. bis 11 Uhr online über Zoom statt, der Einstieg dazu erfolgt über TUWEL. Aufzeichnungen der Vorlesungen werden über TUWEL bereitgestellt. Bitte nehmen Sie dennoch live an den Zoom-Meetings 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 und sind bis Ende Juni 2021 zu lösen. Zum Nachweis der Lösung dieser Aufgaben sind bis zu diesem Termin folgende Dateien bzw. Dokumente, auf denen die Beurteilung des Übungsteils beruht, in TUWEL hochzuladen:

  • Quellcode der zur Lösung der Programmieraufgaben entwickelten Programme (mit den nötigen Kommentaren im Quellcode),
  • diese Programme in einer unter Windows oder Linux direkt ausführbaren Variante mit einer kurzen Beschreibung, wie diese Programme zu starten und zu verwenden sind,
  • ein Testprotokoll, das kurz beschreibt, wie die Programme getestet wurden, und die Testergebnisse zusammenfasst (einschließlich konkreter Daten wie z.B. Laufzeiten),
  • eine kurze Beschreibung der wichtigsten Entwurfsentscheidungen hinter diesen Programmen,
  • ein kurzer Text, der die Fragen in den Aufgaben 2 und 3 beantwortet,
  • eine kurze Beschreibung der Arbeitsaufteilung (wer in der Gruppe für welche Arbeiten verantwortlich ist) und eine Bestätigung, dass die Programme von Mitgliedern der Übungsgruppe selbst entwickelt wurden.

Durchführung von Online-Prüfungen

Für die Ablegung von Online-Prüfungen gelten folgende Bedingungen:

  • Anmeldungen und Terminvereinbarungen erfolgen per Mail. 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 14 Tage vor dem Prüfungstermin erfolgen. Abmeldungen sind jederzeit bis kurz vor der Prüfung möglich. Prüfungen zur genannten Zeit (Donnerstag 11 bis 12 Uhr) erfolgen über Zoom, und der Einstieg dazu erfolgt über TUWEL. Zu anderen Zeiten vereinbarte Prüfungen erfolgen über Zoom oder GoToMeeting, wobei Zugangsdaten per Mail verschickt werden.
  • Zur Abwicklung der Prüfung ist ein Computer (z.B. Laptop) mit Mikrofon und Kamera nötig. Sowohl für Zoom als auch GoToMeeting benötigt man eine entsprechende App (wird beim erstmaligen Einstieg automatisch installiert, bei GoToMeeting nicht unter Linux) oder den Chrome-Browser (für alle verbreiteten Betriebssysteme). Bitte achten Sie darauf, dass der Browser bzw. die App die nötigen Zugriffsrechte auf Mikrofon und Kamera hat. Steigen Sie zum Zeitpunkt, an dem die Prüfung angesetzt ist, in das Meeting ein (siehe die Anleitungen unter https://colab.tuwien.ac.at/pages/viewpage.action?pageId=11634937).
  • 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 auch 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 Mail. 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.
  • Falls Sie die Prüfung nicht online ablegen können oder wollen, dürfen Sie auch eine normale mündliche Prüfung ablegen, wenn dies unter Einhaltung von Hygienemaßnahmen möglich ist. Auf gleiche Weise kann eine spätere Fortsetzung einer wegen technischer Probleme abgebrochenen Online-Prüfung als mündliche Prüfung vereinbart werden.
  • Sobald mündliche Prüfungen auch ohne besondere Hygienemaßnahmen wie Mund-Nasen-Schutz möglich sind, werden Online-Prüfungen generell durch Präsenzprüfungen ersetzt. Online-Prüfungen werden dann nur mehr in Ausnahmesituationen durchgeführt, in denen die Präsenz nicht oder nur unter stark erschwerten Bedingungen möglich ist.

Vortragende Personen

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
Fr.10:00 - 11:0005.03.2021 - 18.06.2021 Zoom über TUWEL (LIVE)Vorlesung
Fortgeschrittene objektorientierte Programmierung - Einzeltermine
TagDatumZeitOrtBeschreibung
Fr.05.03.202110:00 - 11:00 Zoom über TUWELVorlesung
Fr.12.03.202110:00 - 11:00 Zoom über TUWELVorlesung
Fr.19.03.202110:00 - 11:00 Zoom über TUWELVorlesung
Fr.26.03.202110:00 - 11:00 Zoom über TUWELVorlesung
Fr.16.04.202110:00 - 11:00 Zoom über TUWELVorlesung
Fr.23.04.202110:00 - 11:00 Zoom über TUWELVorlesung
Fr.30.04.202110:00 - 11:00 Zoom über TUWELVorlesung
Fr.07.05.202110:00 - 11:00 Zoom über TUWELVorlesung
Fr.21.05.202110:00 - 11:00 Zoom über TUWELVorlesung
Fr.28.05.202110:00 - 11:00 Zoom über TUWELVorlesung
Fr.11.06.202110:00 - 11:00 Zoom über TUWELVorlesung
Fr.18.06.202110:00 - 11:00 Zoom über TUWELVorlesung
LVA wird geblockt abgehalten

Leistungsnachweis

  • Die Beurteilung des Übungsteils beruht auf den Dateien und Dokumenten, die bis Ende Juni 2021 vorzulegen sind (siehe "Weitere Informationen - Übungsaufgaben".
  • Fehlende oder unzureichende einzelne Dateien bzw. Dokumente (bis zu maximal etwa 1/4 des Gesamtumfangs) aus dem Übungsteil können bis spätestens 15. Juli 2021 nachgereicht werden.
  • Zusätzlich legt jede_r Studierende bis spätestens Ende Jänner 2022 eine mündliche Online-Prüfung mittels Zoom oder GoToMeeting ab. Siehe "Weitere Informationen - Durchführung von Online-Prüfungen" 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.
  • Alle Teile der Lehrveranstaltung sind auf Fernunterricht ausgelegt. Sollte die Corona-Situation es erlauben, kann eine mündliche Online-Prüfung durch eine mündliche Prüfung in Präsenz ersetzt werden.

LVA-Anmeldung

Von Bis Abmeldung bis
01.03.2021 00:00 11.03.2021 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 A01.03.2021 00:0011.03.2021 23:59
FOOP B01.03.2021 00:0011.03.2021 23:59
FOOP C01.03.2021 00:0011.03.2021 23:59
FOOP D01.03.2021 00:0011.03.2021 23:59
FOOP E01.03.2021 00:0011.03.2021 23:59
FOOP F01.03.2021 00:0011.03.2021 23:59
FOOP G01.03.2021 00:0011.03.2021 23:59
FOOP H01.03.2021 00:0011.03.2021 23:59
FOOP I01.03.2021 00:0011.03.2021 23:59
FOOP J01.03.2021 00:0011.03.2021 23:59
FOOP K01.03.2021 00:0011.03.2021 23:59
FOOP L01.03.2021 00:0011.03.2021 23:59
FOOP M01.03.2021 00:0011.03.2021 23:59
FOOP N01.03.2021 00:0011.03.2021 23:59
FOOP O01.03.2021 00:0011.03.2021 23:59
FOOP P01.03.2021 00:0011.03.2021 23:59
FOOP Q01.03.2021 00:0011.03.2021 23:59
FOOP R01.03.2021 00:0011.03.2021 23:59
FOOP S01.03.2021 00:0011.03.2021 23:59
FOOP T01.03.2021 00:0011.03.2021 23:59
FOOP U01.03.2021 00:0011.03.2021 23:59
FOOP V01.03.2021 00:0011.03.2021 23:59
FOOP W01.03.2021 00:0011.03.2021 23:59
FOOP X01.03.2021 00:0011.03.2021 23:59
FOOP Y01.03.2021 00:0011.03.2021 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