Objektorientierte Programmierung
Priv.-Doz. Dr. Lothar Schmitz
Frühjahrstrimester 2006
Zum Ablauf: [Termine] [Klausur] [Folien] [Übungen] [Zusatzaufgaben]
Allgemeines: [Literatur] [Software und Links] [Vorlesung des letzten Jahres]
Termine
Es handelt sich um eine Vorlesung mit zwei Vorlesungsstunden und zwei Übungsstunden wöchentlich (2 V + 2 SÜ TWS).
Die Vorlesungen finden jeweils
- freitags 08:30 Uhr bis 10:00 Uhr im Raum 33/1201
statt.
Am Freitag, 23.06., findet statt der Vorlesung an gleicher Stelle eine Fragestunde/Übungsstunde mit Florian Brieler statt. Hier können Fragen zum gesamten Stoff des Trimesters gestellt werden. Bei sehr umfangreichen/abschweifenden Fragen können diese auch vorher an Florian geschickt werden; die Beantwortung erfolgt dann in der Stunde.
Die Übungen finden immer montags zwischen 16:00 und 18:00 statt:
- Gruppe 1 (WINF): Raum 41/0501 (EC); Tutoren Marianna Schmidt, Torben Hardt
- Gruppe 2 (INF/WINF): Raum 33/2116; Tutoren Maria Raabe, Daniel Borkowitz
- Gruppe 3 (INF): Raum 33/0301; Tutoren Daniel Woithe, Danilo Ebert
- Gruppe 4 (INF): Raum 33/1301; Tutoren Matthias Kugler, Sebastian Schulze
Die Gruppeneinteilungen sind wie im WT 2006.
Klausur
Die Trimestralklausur "Objektorientierte Programmierung" findet statt am
Es sind keine Hilfsmittel erlaubt, außer nicht-elektronischen Schreibgeräten. Bringen Sie einen Lichtbildausweis zur Klausur mit.
Mit einem Schein kann rechnen, wer:
- sowohl 40 Prozent der Gesamtpunktzahl
- als auch 20 Prozent der erreichbaren Punkte jeder Aufgabe
erzielt. Informatiker können diesen Schein mit dem zweistündigen Schein aus der Vorlesung Maschinennahe Programmierung kombinieren.
Außerdem werden zusätzlich individuelle Hausaufgaben angeboten. Bei korrekter Erledigung werden bis zu vier Punkte vergeben, die auf die Klausur angerechnet werden können.
Folien zur Vorlesung
Die Folien werden hier (soweit möglich) jeweils ein paar Tage vor der entsprechenden Vorlesung veröffentlicht.
- Kapitel 0
[Folien] [Handzettel] - Kapitel 1
[Folien] [Handzettel]
Aufgaben aus der Geometrie:
[AufgabeAusDerGeometrie.pdf] [GeometrieInPascal.pdf] [GeometrieInAdaSpec.pdf] [GeometrieInAdaBody.pdf] [GeometrieUmkreisProgramm.pdf] [GeometrieUmkreisErgebnis.pdf] - Kapitel 2
[Folien] [Handzettel]
Zettelkasten:
[Gesamter Zettelkasten] [Einfache Zettel] [Gezählte Zettel] - Kapitel 3
[Folien] [Handzettel] - Exkurs 1
[Folien] [Handzettel] - Kapitel 4
[Folien] [Handzettel] - Exkurs 2
[Folien] [Handzettel] - Exkurs 3
[Folien] [Handzettel] - Exkurs 4
[Folien] [Handzettel] - Kapitel 5
[Folien] [Handzettel] - Kapitel 6
[Folien] [Handzettel] - Kapitel 7
[Folien] [Handzettel]
Dateien:
[Counter.zip] [Scribble.java]
[dashboard.zip] - Kapitel 8
[Folien] [Handzettel] - Kapitel 9
[Folien] [Handzettel] - Kapitel 10
[Folien] [Handzettel]
Übungsblätter
Die Übungsblätter werden rechtzeitig auf dieser Seite veröffentlicht.
Wir erwarten, dass Sie die Übungsblätter zur Übung dabei haben und ebenso die Folien der Vorlesung sowie eigene Aufzeichnungen.
Wir erwarten weiterhin, dass Sie Aufgaben, die nicht in der Übung behandelt werden konnten, selbständig nacharbeiten.
Lösungsvorschläge zu den Übungsaufgaben werden ebenfalls auf dieser Seite veröffentlicht. Wir empfehlen jedoch dringend, dass Sie sich selbst Gedanken machen und erst danach (!) auf die Lösungsvorschläge zurückgreifen.
Fragen zum Übungsbetrieb richten Sie bitte an ihre Übungsleiter.
- Blatt 1
[Übungsblatt] [Lösung] - Blatt 2
[Übungsblatt] [Lösung] - Blatt 3
[Übungsblatt] [Lösung] - Blatt 4
[Übungsblatt] [moneys.zip]
[Lösung] [moneys_l.zip] - Blatt 5
[Übungsblatt]
[Lösung] - Blatt 6
[Übungsblatt] [telefonbuch.zip]
[Lösung] [telefonbuch_l.zip] - Blatt 7
[Übungsblatt] [Lösung] - Blatt 8
[Übungsblatt] [geo_complete.zip] [geo.zip] [geo_geruest.zip]
[Lösung] [junit_l.zip] - Blatt 9
[Übungsblatt]
[Lösung] [erathostenes_l.zip] - Zusatz-Aufgaben
Auf diesem Übungsblatt finden sich weitere Übungsaufgaben im Stil der bisherigen Übungsblätter. Diese Aufgaben können gut als Klausurvorbereitung genutzt werden. Es gibt allerdings keinen Übungstermin mehr für diese Aufgaben. Die Lösung wird einige Tage vor der Klausur veröffentlicht.
[Übungsblatt]
[Lösung] [moneypenny_l.zip]
Zusatzaufgaben
Die individuellen Hausaufgaben (siehe Klausur) werden ab Anfang Mai in den Übungsgruppen durch die Tutoren vergeben und betreut. Abnahme und Punkteverteilung erfolgt bei Dr. Schmitz (Termin nach Absprache).
Die für die Zusatzaufgaben wichtigen Dokumente und Dateien sind:
- Das [Merkblatt] vom letzten Jahr kann sinngemäß angewendet werden.
- Beispielprojekte: [Aufgabe00.zip] und [MenschAergereDichNicht.zip]
Die Aufgaben werden immer online gestellt, sobald sie in Bearbeitung sind. Die Lösungen kommen bei Verfügbarkeit hinzu.
Literatur
- Reinhard Schiedermeier: Programmieren mit Java - eine methodische Einführung TIPP!
Pearson Studium 2005, ISBN 3-8273-7116-3 (=> Lehrbuchsammlung!) - David Flanagan: Java Examples in a Nutshell und Java in a Nutshell TIPP!
O'Reilly 1997 (2. Aufl. 2000), ISBN 1-596-00039-1 (=> Lehrbuchsammlung!) - Timothy Budd: Understanding Object-Oriented Programming with Java
Addison-Wesley 1998, ISBN 0-201-30881-9. - Stefan Middendorf, Reiner Singer: Java - Programmierhandbuch und Referenz für die Java-2-Plattform
dpunkt 1999, ISBN 3-920993-82-9. - Martin Hitz, Gerti Kappel: UML @ Work - Von der Analyse zur Realisierung
DPUNKT 1999, mit CD-ROM, ISBN 3-932588-38-X. - Johannes Link: Softwaretests mit JUnit,
dpunkt.Verlag 2005 (2. Aufl.), ISBN 3-89864-325-5 - Jochen Seemann, Jürgen Wolff von Gudenberg: Software-Entwurf mit UML TIPP!
Springer 2000, mit CD-ROM, ISBN 3-540-64103-3. - Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Design Patterns - Elements of Reusable OO Software
Addison-Wesley 1995, ISBN 0-201-63361-2. - Nancy Wilkinson: Using CRC Cards
Prentice-Hall 1995, ISBN 0-13-374679-8.
Online-Literatur
- Java ist auch eine Insel
- The Java Tutorial - SUN
- GOTO Java
- "Thinking in Java" 2nd edition, Revision 3
(indexierte pdf-Version des Buches mit einer Beschreibung der Java 2 Collections in Kapitel 8) - Online-Java-Kurs der Uni Hannover
Weiterführende Literatur
- Arnd Poetzsch-Heffter: Konzepte Objektorientierter Programmierung
Springer 2000, ISBN 3-540-66793-8. - Robert Eckstein, Marc Loy, Dave Wood: Java Swing
O'Reilly 1998, ISBN 1-56592-455-X. - Doug Lea: Concurrent Programming in Java - Design Principles and Patterns
Addison-Wesley 1997, ISBN 0-201-69581-2. - Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener: Objekt-Orientiertes Software-Design
Carl Hanser 1993, ISBN 3-446-16319-0. - Ian Sommerville: Software Engineering
Addison-Wesley 1996, ISBN 0-201-42765-6.
Software und weitere Links
- Java(TM) SDK, Standard Edition, Documentation, Version 5; zugehörige Dokumentation der Java-Klassenbibliothek als API Specification
- BlueJ: GUI-basierte Entwicklungsumgebung mit Debugger und der Möglichkeit, Objekte von beliebigen Klassen von Hand zu erzeugen; integriert außerdem Jar und Javadoc
- Eclipse: frei erhältliche Java-IDE auf allen (!) Plattformen
- NetBeans: ebensfalls eine frei erhältliche Java-IDE auf allen (!) Plattformen
- JCreator LE, ein schneller, einfacher und nützlicher Editor
- ArgoUML (freies UML-CASE-Tool)
- TogetherJ (UML-CASE-Tool mit Java-Round-Trip-Engineering)
- Umfassende Link-Sammlung für Java
- Links auf Java-Tutorials