Objektorientierte Programmiertechniken
LVA 185.A01, VU, 3 ECTS, 2016/2017 W

Objektorientierte Programmiertechniken

Überblick

Lehrziele

Fachliche und methodische Kenntnisse

Kognitive und praktische Fertigkeiten

Durch die praktische Auseinandersetzung mit einer objektorientierten Programmiersprache (Java), Programmiermethoden und Programmierwerkzeugen werden folgende Fertigkeiten vermittelt bzw. ausgebaut:

Soziale Kompetenzen, Innovationskompetenz und Kreativität

Inhalt der Lehrveranstaltung

Themenübersicht

Abgrenzung

Diese Lehrveranstaltung darf weder als Einführungskurs in das Programmieren bzw. in Java noch als fortgeschrittener Java-Kurs missverstanden werden. Am Rande werden zwar Sprachkonzepte erläutert, aber Es wird vorausgesetzt, dass Teilnehmer(innen) gute Programmier- und Java-Kenntnisse haben – siehe notwendige Vorkenntnisse.

Aufbau und Charakteristik

Wöchentliche Vorlesungen vermitteln den eher theoretischen Stoff und geben Hintergrundinformationen. Ebenso (fast) wöchentliche Programmieraufgaben, die in Kleingruppen zu lösen sind und auf den Vorlesungsstoff Bezug nehmen, sollen Zur Erreichung der letzten drei Punkte wird großer Wert auf das selbständige Finden von Lösungswegen und individuelle Lösungen gelegt; der eigene Weg zur Lösung ist wichtiger als die Lösung selbst. Statt vorgezeichneter Lösungswege und Musterlösungen gibt es nur grobe Zielvorgaben.

Viele Teilnehmer(innen) sind es nicht gewohnt, auf unvollständigen Spezifikationen aufzubauen und sich auf eigene Lösungswege zu verlassen. Entsprechend oft werden Programmieraufgaben als unklar und schwierig empfunden.

Für die ersten Programmieraufgaben können Tutor(inn)en bei Bedarf Unterstützung geben, gezielt spezifische Schwächen beseitigen und Einstiegshürden mildern. Jedoch werden auch Tutor(inn)en auf individuelle Lösungswege bestehen.

Notwendige Vorkenntnisse

Eine abgeschlossene STEOP (Studieneingangs- und Orientierungsphase) ist eine formale Voraussetzung für die Teilnahme. Sie gilt als erfüllt, wenn TISS die Anmeldung zur Lehrveranstaltung erlaubt.

Inhaltlich werden folgende Kenntnisse und Fähigkeiten vorausgesetzt:

Fachliche und methodische Kenntnisse

Kognitive und praktische Fertigkeiten

Soziale Kompetenzen, Innovationskompetenz und Kreativität

Zeit und Ort

Die Vorbesprechung findet am Mittwoch, dem 5. Oktober 2016 von 13:00 bis 14:00 Uhr im Informatikhörsaal (Treitlstraße 3, Untergeschoß) statt. Vorlesungen werden vom 12. Oktober 2016 bis 18. Jänner 2017 jeden Mittwoch von 13:00 bis 14:00 Uhr im Informatikhörsaal gehalten (außer in der vorlesungsfreien Zeit: 26.10., 2.11., 19.12.–7.1.). Beachten Sie bitte die Termine der Herausgabe und Abgabe von Übungsaufgaben.

Anrechenbarkeit

Objektorientierte Programmiertechniken ist für die Bakkalaureatsstudien der Informatik und Wirtschaftsinformatik sowie für Technische Mathematik in unterschiedlichen Modulen anrechenbar. Näheres dazu ist in den Studienplänen der einzelnen Studien sowie im TISS zu finden.

Beurteilung und Prüfungen

Die Beurteilung setzt sich je zur Hälfte aus den Leistungen bei der Lösung der Programmieraufgaben (Übungsteil) und dem Ergebnis einer mündlichen Prüfung zum Vorlesungsteil zusammen. Für eine insgesamt positive Beurteilung ist eine positive Beurteilung beider Teile, des Übungsteils und des Vorlesungsteils nötig. Es wird empfohlen, die Prüfung bald nach Abschluss des Übungsteils abzulegen. Prüfungen müssen bis spätestens Juni 2017 positiv abgelegt sein, sonst wird ein negatives Zeugnis ausgestellt. Ein negatives Zeugnis wird auch ausgestellt, wenn der Übungsteil oder zwei Antritte zur mündlichen Prüfung negativ beurteilt wurden. Prüfungsanmeldungen müssen spätestens eine Woche vor dem Prüfungstermin erfolgen, und ab dem spätesten Anmeldezeitpunkt ist keine Abmeldung mehr möglich. Nichterscheinen führt zu negativer Beurteilung der Prüfung.

Vortragende und Betreuer

Franz Puntigam (Vorlesung, Programmieraufgaben, Abgabegespräche, Prüfungen)
Andreas Krall (Programmieraufgaben, Abgabegespräche, Prüfungen)
Tutor(inn)en (primäre Ansprechpartner, Betreuung der Einstiegsphase im Übungsteil)

Übungsteil

Gruppen

Sie werden die Übung in Gruppen zu je drei Personen durchführen. Durch die Gruppenarbeit sollen Diskussionen der Übungsaufgaben gefördert werden. Außerdem sollen Sie Ihre Fähigkeit zur Teamarbeit ausbauen. Sie können die Mitglieder Ihrer Gruppe selbst wählen.

Übungsaufgaben

Übungsaufgaben werden fast wöchentlich am Mittwoch ausgegeben. Insgesamt gibt es acht Aufgaben, wovon die ersten drei bei Bedarf mit Hilfe der Tutor(inn)en und die verbleibenden fünf durch die Gruppen alleine zu lösen sind.

Die Aufgaben sind innerhalb der vorgegebenen Frist (meist eine Woche) zu lösen. Für Aufgabe 2 sind drei Abgabetermine vorgesehen, wobei die ersten beiden Termine dazu dienen, den betreuenden Tutor(inn)en frühzeitiges Feedback zu Lösungsansätzen zu ermöglichen. Bei Bedarf kann die Frist (des letzten Abgabetermins pro Aufgabe) um eine Woche erstreckt werden, was jedoch zu einer schlechteren Beurteilung führt. Von dieser Möglichkeit soll nur in Notfällen Gebrauch gemacht werden.

Abgabe der Lösungen

Jede Gruppe hat ein git-Repository auf dem Übungsrechner g0.complang.tuwien.ac.at, auf dem die Lösungen im der Aufgabe entsprechenden Verzeichnis abzulegen sind. Von dort werden sie jeweils um 12:00 Uhr (strikte Deadline) am Tag der Abgabe automatisch abgesammelt. Pro Gruppe und Aufgabe kann es nur eine einzige gemeinsame Lösung geben.

Beachten Sie die Informationen zur Einrichtung und Benutzung von git.

Jede(r) Teilnehmer(in) hat auf dem Übungsrechner ein eigenes Verzeichnis mit Unterverzeichnissen pro Aufgabe, in denen Lösungen erarbeitet werden können. Achtung: Das ist nicht das Repository, von dem Lösungen abgesammelt werden, sondern nur ein Clone davon. Erst durch Ausführung von Befehlsfolgen wie git add ... ; git commit ; git push werden die Inhalte dieser Verzeichnisse in das eigentliche Repository kopiert. Sie sollten Teillösungen häufig in das Repository kopieren, damit sie vor Datenverlust geschützt sind und andere Gruppenmitglieder durch Ausführung von git pull Zugriff darauf bekommen.

Fristerstreckung

Wenn Sie eine Abgabefrist nicht einhalten können, schicken Sie bitte eine Mail (sinngemäß) folgenden Inhalts bis 14:00 Uhr am Tag der Abgabe an franz@complang.tuwien.ac.at: Gruppe ... bittet um Erstreckung der Abgabefrist für Aufgabe ... um eine Woche und akzeptiert eine Reduktion der Punkteanzahl für diese Aufgabe um ein Drittel.

Einstiegsphase

Die ersten drei Aufgaben bilden zusammen eine Einstiegsphase. Sie soll Die erste Aufgabe wird einfach sein und Gelegenheit geben, in aller Ruhe die Zusammenarbeit innerhalb der Gruppe sowie mit der Tutorin oder dem Tutor zu organisieren und die Werkzeuge kennenzulernen. Die zweite Aufgabe wird dagegen sehr umfangreich sein und dazu zwingen, eine Auswahl der zu lösenden Teilaufgaben zu treffen. Die dritte Aufgabe soll helfen, individuelle Probleme selbst zu erkennen. Die weiteren fünf Aufgaben, die nicht mehr zur Einstiegsphase gehören, sind jeweils einem inhaltlichen Teilbereich der objektorientierten Programmierung gewidmet.

Terminals im Übungsraum

Im Übungsraum (CL-Lab) in der Argentinierstraße 8 (im Tiefparterre, durch den Hof zu erreichen) finden Sie Terminals, auf denen Sie die Übung machen können. Wählen Sie als Server g0. Vor Verlassen des Terminals müssen Sie sich unbedingt ausloggen. Die wichtigste benötigte Software sollte auf der g0 installiert sein.

Arbeiten von zu Hause aus

Sie können sich von jedem beliebigen Terminal aus unter Ihrem Account auf g0.complang.tuwien.ac.at einloggen. Eine sichere Verbindung können Sie beispielsweise durch ssh o*@g0.complang.tuwien.ac.at unter Linux herstellen, wobei * Ihre Matrikelnummer ist.

Sie können die Übung auch zur Gänze auf einem anderen Rechner durchführen. Dazu benötigen Sie einen Rechner mit einem Java-Interpreter (java) und -Compiler (javac) mit den dazugehörigen Standardbibliotheken in einer einigermaßen aktuellen Version. Für eine Aufgabe benötigen Sie zusätzlich AspectJ, eine Erweiterung des Java-Systems um Unterstützung für die aspektorientierte Programmierung. Die Verwendung einer Entwicklungsumgebung wie z.B. Eclipse, NetBeans und IntelliJ IDEA wird empfohlen. Für Zugriffe auf Ihr Repository benötigen Sie git. Die üblichen Entwicklungsumgebungen ermöglichen einen einfachen Umgang mit git, sobald sie mit den nötigen Verbindungsdaten und Verzeichnisstrukturen eingerichtet sind. Verbindungsdaten erhalten Sie zu Beginn der Übungen.

Beurteilung des Übungsteils (Abgabegespräch)

Ihre Lösungen der Aufgabenstellungen werden nicht gleich nach der Abgabe endgültig beurteilt. Stattdessen werden Sie zu einem Treffen gegen Ende des Semesters eingeladen, bei dem Ihre Lösungen und Ihre Mitarbeit in der Gruppe diskutiert werden. Sie müssen Ihre eigenen Lösungen verstehen und Entscheidungen argumentieren können. Sie werden jedoch schon vorher per Mail Rückmeldungen über die vorläufigen Beurteilungen Ihrer Lösungen bekommen.

Je nach Qualität Ihrer Lösungen und Ihrer Mitarbeit bekommen Sie Punkte. Die Einstiegsphase (= die ersten drei Aufgaben) wird durch Ihre Tutorin bzw. Ihren Tutor mit bis zu 100 Punkten beurteilt. Sie werden nach Rechtzeitigkeit, Vollständigkeit und Korrektheit Ihrer Lösungen (in Bezug auf die Aufgabenstellung sowie konkrete Aufforderungen zur Mängelbeseitigung) beurteilt. Fortgeschrittene Qualitätskriterien wie Wartbarkeit oder die Qualität der Datenkapselung gehen für diese Aufgaben nicht direkt in die Beurteilung ein. Trotzdem wird die Tutorin oder der Tutor Sie auch auf solche Qualitätsmängel hinweisen und Sie ganz konkret auffordern, bestimmte Mängel auf bestimmte Weise zu beseitigen. Die Vollständigkeit und Korrektheit der Beseitigung solcher Mängel geht in die Beurteilung ein.

Lösungen der weiteren fünf Aufgaben werden nach ihrer Qualität (vor allem nach in den Aufgabenstellungen genannten Qualitätskriterien) durch Puntigam und Krall beurteilt. Bis zu je 100 Punkte gibt es für jede der fünf Aufgaben. Im Falle einer Fristerstreckung erhalten Sie jedoch nur 2/3 der Punkte, die Sie ohne Fristerstreckung erreicht hätten, also maximal 67 Punkte pro Aufgabe.

Insgesamt sind (zusammen mit den Punkten für die Einstiegsphase) 600 Punkte erreichbar. Für eine positive Beurteilung des Übungsteils benötigen Sie mindestens 301 Punkte, also mehr als 50%, für befriedigend mindestens 376, für gut mindestens 451 und für sehr gut mindestens 526 Punkte.

Die Note für den Übungsteil bestimmt zur Hälfte die Note der Lehrveranstaltung. Die zweite Hälfte ergibt sich aus der Prüfung zum Vorlesungsteil. Eine Voraussetzung für eine insgesamt positive Beurteilung ist eine positive Beurteilung beider Teile, des Übungsteils und des Vorlesungsteils.

Tutor(inn)en

Jede Gruppe wird durch eine Tutorin oder einen Tutor betreut. Diese oder dieser wird Sie in der Eingangsphase unterstützen und sich auch danach (in beschränktem Umfang) weiterhin um Sie kümmern. Prinzipiell können Sie Treffen mit Ihrer Tutorin oder Ihrem Tutor frei vereinbaren. Hier ist die Liste der Tutor(inn)en mit Mailadressen (oop?@complang.tuwien.ac.at) sowie bevorzugte Termine für Treffen (nach Vereinbarung):

Bianca Träger oopB Mo, 13–15
Gerta Sheganaku oopG (kein Treffen, nur Mailbetreuung)
Bernhard Steiner oopH Di, 10–12
Klara Brandstätter oopK Mo, 15–17
Nina Semmelrath oopN Do, 11–12 und Di, 10–11

Hilfestellung bei Gruppenfindung

Zu einigen Terminen unterstützen Sie Tutor(inn)en bei der Gruppenfindung:

5.10. (Mi) 14:00–15:00 (nach Vorbesprechung) vor Inf.HS
6.10. (Do) 17:00–19:00 vor Übungsraum
7.10. (Fr) 12:00–13:00 vor Übungsraum
11.10. (Di) 11:00–12:00 vor Übungsraum

Nutzen Sie diese Termine unbedingt, falls Sie sich nicht schon vorher zu einer vollständigen Gruppe zusammengefunden haben.

An- und Abmeldung

An- und Abmeldung Lehrveranstaltung

Um an Objektorientierte Programmiertechniken teilnehmen zu können, müssen Sie sich vom 5.10. (15 Uhr) bis 11.10.2016 in TISS anmelden. Dabei wird überprüft, ob Sie die in den Studienplänen vorgesehenen Voraussetzungen für die Teilnahme erfüllen. Sollte TISS die Anmeldung verweigern obwohl eine Teilnahme gerechtfertigt erscheint, wenden Sie sich bitte an den oder die für Ihr Studium zuständige(n) Studiendekan(in).

Sie müssen sich in TISS auch zu einer der zahlreichen Gruppen (= Übungsgruppen) anmelden. Die Gruppen haben Namen der Form oopXn, wobei n eine fortlaufende Nummer und X ein Buchstabe im Vornamen der Tutorin oder des Tutors ist, welche(r) die Gruppe betreut – siehe die Liste der Tutor(inn)en. Verabreden Sie sich bitte zuerst mit Kolleg(inn)en und tragen Sie sich dann zusammen (bzw. kurz hintereinander) in eine Gruppe ein. Gruppen bestehen stets aus drei Personen. Achten Sie darauf, dass nach dem Anmeldevorgang alle Mitglieder der Gruppe in derselben Gruppe einen Platz bekommen haben, also niemand nur in der Warteliste steht. Sollte das der Fall sein, melden Sie sich bitte gleich wieder ab und in einer anderen Gruppe an. Unvollständige Gruppen werden wiederholt aufgelöst, damit Platz für vollständige Gruppen geschaffen wird. Melden Sie sich daher nie alleine oder zu zweit in eine Gruppe an, sondern kommen Sie zu den Treffen zur Gruppenfindung. Personen, die zur Lehrveranstaltung angemeldet, aber bis zum Ende der Anmeldefrist noch in keiner vollständigen Gruppe sind, werden willkürlich zu Gruppen zusammengefügt.

Nach Ende der Anmeldefrist werden Sie per Mail Anmeldedaten für Ihren Account auf dem Übungsrechner zugeschickt bekommen. Bitte befolgen Sie die darin enthaltenen Anweisungen.

Abmeldungen von der Lehrveranstaltung sind bis 1. November möglich. Späteren Abmeldungswünschen kann nicht entsprochen werden.

An- und Abmeldung Abgabegespräch

Zwischen 9. und 16. Jänner 2017 müssen Sie sich in TISS zum Abgabegespräch anmelden. Termine für Abgabegespräche werden in der zweiten Jännerhälfte fast täglich angeboten. Es gibt gerade ausreichend viele viertelstündige Termine. Alle Gruppenmitglieder sollen zum selben Termin erscheinen, und es reicht, wenn ein Gruppenmitglied die Anmeldung vornimmt. Zur Anmeldung trägt sich ein Gruppenmitglied in eine noch leere Gruppe ein, dessen Titel den Prüfer und Termin beschreibt.

An- und Abmeldung Prüfung

Für die mündliche Prüfung zum Vorlesungsteil ist eine gesonderte Anmeldung nötig. Anmeldungen müssen bis spätestens eine Woche vor dem Prüfungstermin über TISS erfolgen. Mitte bis Ende Jänner werden fast täglich Prüfungstermine angeboten. Spätere Prüfungstermine gibt es bis Juni an fast jedem Montag (außer in der vorlesungsfreien Zeit). Sie müssen sich als Einzelperson (jedes Gruppenmitglied für sich) anmelden. Wählen Sie unbedingt einen Prüfungstermin, der nach Ihrem Termin für das Abgabegespräch liegt.

Terminübersicht

Anmeldung zu OOP: 5.10.–11.10., TISS
späteste Abmeldung: 1.11., TISS
Vorbesprechung: 5.10., 13:00–14:00, Inf.HS
Vorlesungen: 12.10.–.18.1., 13:00–14:00, Inf.HS
neue Aufgaben: mittwochs (12.10.–14.12.)
Lösungsabgaben: 12:00 Uhr an Abgabeterminen
Anmeld. Abgabegespr.: 9.1.–16.1.
Abgabegespräche: Jänner (viele Termine)
Prüfungsanmeldung: mind. 1 Woche vor Prüfung, TISS
Prüfungen: Jänner (viele Termine)
sonst bis Juni 2016

Lernunterlagen

Skriptum

Die angebotenen Varianten sind bis auf das Format identisch. Sie können eine davon wählen.
Skriptum in sehr großer Schrift
1 Seite/Blatt, zum Online-Lesen oder Verkleinern
Skriptum zum Einheften in Ordner
2 Seiten/Blatt bei einseitigem Druck
Skriptum in Buchform
4 Seiten/Blatt bei doppelseitigem Druck, zu Buch zusammenfaltbar

Vorlesungsfolien

Vorbesprechung am 5. Oktober 2016
Vorlesung am 12. Oktober 2016
Vorlesung am 19. Oktober 2016
Vorlesung am 9. November 2016
Vorlesung am 16. November 2016
Vorlesung am 23. November 2016
Vorlesung am 30. November 2016
Vorlesung am 7. Dezember 2016
Vorlesung am 14. Dezember 2016
Vorlesung am 11. Jänner 2017
Vorlesung am 18. Jänner 2017

Übungsaufgaben

Aufgabe Herausgabe Abgabetermin(e)
1. Aufgabe 12.10.2016 19.10.2016
2. Aufgabe 19.10.2016 24.10.2016, 31.10.2016, 09.11.2016
3. Aufgabe 09.11.2016 16.11.2016
4. Aufgabe 16.11.2016 23.11.2016
5. Aufgabe 23.11.2016 30.11.2016
6. Aufgabe 30.11.2016 07.12.2016
7. Aufgabe 07.12.2016 14.12.2016
8. Aufgabe 14.12.2016 11.01.2017
Complang
Puntigam
   Über mich
   Research
   Lehre
      LVAs 2017 S
      LVAs 2016 W
         PK
         OOP
            Git in OOP
            1. Aufgabe
            2. Aufgabe
            3. Aufgabe
            4. Aufgabe
            5. Aufgabe
            6. Aufgabe
            7. Aufgabe
            8. Aufgabe
         Typsysteme
      frühere Lehre
   Links
Sitemap
Kontakt
Schnellzugriff:
Übung
Anmeldung
Tutor(inn)en
Terminübersicht
Lernunterlagen, Aufgaben
TISS
voriges Jahr
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | letzte Änderung: 2017-01-18 (Puntigam)