Objektorientierte Programmiertechniken
LVA 185.A01, VU, 3 Ects, 2013/2014 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 einige Sprachkonzepte kurz erläutert, aber Es wird vorausgesetzt, dass Teilnehmer(innen) bereits umfangreiche Programmier- und/oder 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.

Erfahrungsgemäß sind es viele Teilnehmer(innen) anfangs nicht gewohnt, Meta-Wissen gezielt anzuwenden, auf unvollständigen Spezifikationen aufzubauen und sich auf eigene Lösungswege zu verlassen. Dementsprechend 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 die Tutor(inn)en auf individuelle Lösungswege bestehen.

Notwendige Vorkenntnisse

Eine abgeschlossene STEOP (Studieneingangs- und Orientierungsphase) ist eine formale Voraussetzung für die Teilnahme. Darüber hinaus 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, den 2. Oktober 2013 von 13:00 bis 14:00 Uhr im Informatikhörsaal (Treitlstraße 3) statt. Vorlesungen werden vom 9. Oktober 2013 bis 15. Jänner 2014 jeden Mittwoch von 13:00 bis 14:00 Uhr im Informatikhörsaal gehalten (außer während der Weihnachtsferien). Am 22. Jänner findet statt der Vorlesung eine Fragestunde zur Vorbereitung auf die Prüfung statt. Beachten Sie bitte die Termine der Ausgabe und Abgabe von Übungsaufgaben. Es gibt keine fix reservierten Zeiten im Übungsraum, und auch Termine für Treffen mit Tutor(inn)en können frei vereinbart werden.

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 so bald wie möglich nach Abschluss des Übungsteils zu machen. Prüfungen müssen bis spätestens Juni 2014 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. Bei rechtzeitiger Abmeldung von der Lehrveranstaltung bis zum 22. Oktober 2013 wird kein Zeugnis ausgestellt. Spätere Abmeldungen werden nicht entgegengenommen.

Vortragende und Betreuer

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

Ü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 bestimmen.

Übungsaufgaben

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

Es ist vorgesehen, dass alle Aufgaben innerhalb einer Woche gelöst werden. Die Lösungen der ersten drei Aufgaben sind auch nach genau einer Woche abzugeben. Die Lösungen weiterer Aufgaben sind erst nach zwei Wochen abzugeben um die Flexibilität im Falle von Terminkonflikten zu erhöhen. Da jedoch wöchentlich neue Aufgaben dazukommen, wird dringend davon abgeraten, den zeitlichen Rahmen auszuschöpfen.

Abgabe der Lösungen

Pro Aufgabe und Gruppe wird es ein Repository auf dem Übungsrechner g0.complang.tuwien.ac.at geben, auf dem die Lösungen abzulegen sind. Von dort werden sie jeweils mittwochs um 12:00 Uhr (strikte Deadline) am Tag der Abgabe automatisch abgesammelt. Nur für die dritte Aufgabe gibt es einen zweiten Abgabetermin, an dem nachträgliche Korrekturen (wie von den Tutor(inn)en verlangt) abgesammelt werden. Pro Gruppe und Aufgabe kann es nur eine gemeinsame Lösung geben.

Einstiegsphase

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

Terminals im Übungsraum

Im Übungsraum (Labor) 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 im Application Launcher als Server g0. Vor Verlassen des Terminals müssen Sie sich unbedingt ausloggen (durch Doppelklick auf das rote X in der linken oberen Ecke). 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 ab Version 5. Die Verwendung einer Entwicklungsumgebung wie z.B. Eclipse oder NetBeans wird empfohlen.

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 eMail 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 Mitarbeit und Lernfortschritt beurteilt wenn Sie die Lösungen zusammen mit der Tutorin oder dem Tutor entwickeln, nach Rechtzeitigkeit, Vollständigkeit und Korrektheit Ihrer Lösungen (in Bezug auf die Aufgabenstellung sowie konkrete Aufforderungen zur Mängelbeseitigung durch die Tutorin oder den Tutor, siehe unten) wenn Sie die Aufgaben selbständig lösen. Fortgeschrittene Qualitätskriterien wie Wartbarkeit oder die Qualität der Datenkapselung gehen nicht 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 sechs Aufgaben werden nach deren 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 sechs Aufgaben. Insgesamt sind (zusammen mit den Punkten für die Einstiegsphase) 700 Punkte erreichbar. Für eine positive Beurteilung des Übungsteils benötigen Sie mindestens 351 Punkte, also mehr als 50%, für befriedigend mindestens 438, für gut mindestens 526 und für sehr gut mindestens 613 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) und bevorzugten Terminen für Treffen:

Georg Brandstätter oop1 Mo 14:00–15:00
Oliver Türk oop2 Mo 17:00–18:00
Franca-Sofia Fehrenbach oop3 Di 12:00–13:00
Ondrej Hosek oop4 Mi 14:00–15:00
Gerta Sheganaku oop5 Do 09:00–10:00

Hilfestellung bei Anmeldung

Zu folgenden Terminen unterstützen Sie Tutor(inn)en bei der Anmeldung und Gruppenfindung im Übungsraum:

3.10. (Do) 17:00–18:00 !! Fehrenbach, Türk
4.10. (Fr) 15:00–16:00 Hosek
7.10. (Mo) 15:00–16:00 Sheganaku
8.10. (Di) 15:00–16:00 Brandstätter

Wenn Sie keine vollständige Gruppe haben, kommen Sie bevorzugt am Donnerstag, den 3. Oktober um 17:00 Uhr zum Gruppen-Treffen in den Übungsraum. Wer bis Dienstag, den 8. Oktober noch in keiner vollständigen Gruppe ist, sollte unbedingt an diesem Tag um 15:00 Uhr in den Übungsraum kommen.

Tutor(inn)en im Übungsraum:

Zu bestimmten Terminen werden im Übungsraum Tutor(inn)en anwesend sein um Sie bei der Laborübung ohne Voranmeldung zu unterstützen. Diese Termine sind vor allem auch dafür geeignet, Probleme mit jemand anderem als Ihrem eigenen Tutor zu besprechen.

14.10. (Mo) 17:00–18:00 Türk
22.10. (Di) 12:00–13:00 Fehrenbach
24.10. (Do) 09:00–10:00 Sheganaku
30.10. (Mi) 14:00–15:00 Hosek
04.11. (Mo) 14:00–15:00 Brandstätter
11.11. (Mo) 17:00–18:00 Türk
21.11. (Do) 09:00–10:00 Sheganaku
26.11. (Di) 12:00–13:00 Fehrenbach
02.12. (Mo) 14:00–15:00 Brandstätter
11.12. (Mi) 14:00–15:00 Hosek

An- und Abmeldung

An- und Abmeldung Lehrveranstaltung

Um an Objektorientierte Programmiertechniken teilnehmen zu können, müssen Sie sich vom 1.10. bis 8.10.2013 in zwei elektronischen Anmeldesystemen anmelden: Für eine Teilnahme ist die Anmeldung in beiden Systemen notwendig. Die Daten werden am Ende der Anmeldefrist abgeglichen.

Zur Anmeldung im Anmeldesystem der CompLang-Gruppe gehen Sie bitte folgendermaßen vor:

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

An- und Abmeldung Abgabegespräch

Zwischen 8. und 12. Jänner 2014 müssen Sie sich zum Abgabegespräch anmelden. Dazu steht das elektronische Anmeldesystem zur Verfügung. 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. Terminverschiebungen (= Abmeldungen und neuerliche Anmeldungen) sind bis 12. Jänner möglich.

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 das Anmeldesystem erfolgen. Mitte bis Ende Jänner werden fast täglich Prüfungstermine angeboten. Anmeldungen zu späteren Prüfungsterminen bis Juni (jeden Montag außer in der vorlesungsfreien Zeit) werden erst ab Februar möglich sein. Sie müssen sich als Einzelperson (jedes Gruppenmitglied für sich) anmelden. Wählen Sie nur einen Prüfungstermin, der nach Ihrem Termin für das Abgabegespräch liegt. Abmeldungen und Terminverschiebungen (durch Ab- und neuerliche Anmeldung) sind nur bis zu einer Woche vor den Prüfungsterminen möglich.

Terminübersicht

Anmeldung zu OOP: 1.10.–8.10., TISS und Anmeldesystem
Gruppen-Treffen: 3.10., 17:00–18:00 und 8.10., 15:00–16:00, Übungsraum
späteste Abmeldung: 22.10., TISS und Anmeldesystem
Vorbesprechung: 2.10., 13:00–14:00, Inf.HS
Vorlesungen: 9.10.–.15.1., 13:00–14:00, Inf.HS
Fragestunde: 22.1., 13:00–14:00, Inf.HS
neue Aufgaben: mittwochs (9.10.–11.12.)
Lösungsabgaben: mittwochs 12:00 Uhr
Anmeld. Abgabegespr.: 8.1.–12.1., Anmeldesystem
Abgabegespräche: Jänner (viele Termine)
Prüfungsanmeldung: mind. 1 Woche vor Prüfung, Anmeldesystem
Prüfungen: Jänner (viele Termine)
ab März montags bis Juni 2014

Lehrunterlagen

Skriptum

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

Vorlesungsfolien

Folien zu Vorbesprechung und Vorlesungen:
Vorbesprechung am 2. Oktober 2013
Vorlesung am 9. Oktober 2013
Vorlesung am 16. Oktober 2013
Vorlesung am 23. Oktober 2013
Vorlesung am 30. Oktober 2013
Vorlesung am 6. November 2013
Vorlesung am 13. November 2013
Vorlesung am 20. November 2013
Vorlesung am 27. November 2013
Vorlesung am 4. Dezember 2013 (Annotationen)
Vorlesung am 4. Dezember 2013 (Aspektorientierte Programmierung)
Vorlesung am 11. Dezember 2013
Vorlesung am 18. Dezember 2013
Vorlesung am 8. Jänner 2014
Vorlesung am 15. Jänner 2014

Übungsaufgaben

Hier finden Sie eine Übersicht über die Aufgabenstellungen und die entsprechenden Ausgabe- und Abgabetermine. Die Lösungen werden zu den Abgabeterminen um 12:00 Uhr (mittags) abgesammelt.

Aufgabe vom fällig
1. Aufgabe 09.10.2013 16.10.2013
2. Aufgabe 16.10.2013 23.10.2013
3. Aufgabe 23.10.2013 30.10.2013
4. Aufgabe 30.10.2013 13.11.2013
3. Aufgabe, Korrekturen 20.11.2013
5. Aufgabe 13.11.2013 27.11.2013
6. Aufgabe 20.11.2013 04.12.2013
7. Aufgabe 27.11.2013 11.12.2013
8. Aufgabe 04.12.2013 18.12.2013
9. Aufgabe 11.12.2013 08.01.2014
Complang
Puntigam
   Kontakt
   Research
   Lehre
      OOP
      Typsysteme
      EP2
      FOOP
      Prog.spr.
      frühere Lehre
         LVAs 2017 W
         LVAs 2017 S
         LVAs 2016 W
         LVAs 2016 S
         LVAs 2015 W
         LVAs 2015 S
         LVAs 2014 W
         LVAs 2014 S
         LVAs 2013 W
            PK
            OOP
               1. Aufgabe
               2. Aufgabe
               3. Aufgabe
               4. Aufgabe
               5. Aufgabe
               6. Aufgabe
               7. Aufgabe
               8. Aufgabe
               9. Aufgabe
            Typsysteme
         LVAs 2013 S
         LVAs 2012 W
         LVAs 2012 S
         LVAs 2011 W
         LVAs 2011 S
         LVAs 2010 W
         LVAs 2010 S
         LVAs 2009 W
         LVAs 2009 S
         LVAs 2008 W
         LVAs 2008 S
         LVAs 2007 W
         LVAs 2007 S
         LVAs 2006 W
         LVAs 2006 S
         LVAs 2005 W
         LVAs 2005 S
         LVAs 2004 W
         LVAs 2004 S
         LVAs 2003 W
   Links
Sitemap
Kontakt
Schnellzugriff:
Übung
Anmeldung
Anmeldesystem
Tutor(inn)en
Terminübersicht
Skriptum
Folien
Aufgaben
TISS
voriges Jahr
nächstes Jahr
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | Datenschutzerklärung | letzte Änderung: 2014-01-13 (Puntigam)