2003 by Ute Schmid
Informatik B: Objekt-orientierte Programmierung in Java
Fachgebiet
Informatik, Fachbereich Mathematik-Informatik, Universität Osnabrück
Vorlesung im Sommersemester 2003
Themen: Objekt-orientierte Programmierung versus imperative
Programmierung,
objekt-orientierte Modellierung (UML) und Design Patterns,
Klassen, Konstruktoren, Modifikatoren, Vererbung,
Abstrakte Klassen und Interfaces, Innere Klassen, Abstrakte Datentypen,
Fehlerbehandlung, Multithreading und
Synchronisation, Event-Handling, Applets und Applikationen, Netz und
Sicherheit.
Die behandelten Konzepte werden durch Programmieraufgaben eingeübt
und vertieft.
Termine und Kontakt
- Mailingliste Info B: binf@informatik.uni-osnabrueck.de
- Vorlesung: DI 16:15 und DO 14:15 in 32/102 (Beginn: 8.4.)
Ute Schmid,
schmid@informatik.uni-osnabrueck.de
Sprechstunde: n.V. in 31/318
- Übung: MI, 8:30 und 12:15 in 31/449a, DO 12:15 in 31/E06
(Beginn: 9.4.)
Elmar Ludwig, elmar@informatik.uni-osnabrueck.de
Sprechstunde: DI 14:00-16:00 Uhr in 31/326
- Tutoren:
Martin Beckmann [littledreamer@gmx.net],
Magnus Brockschmidt [mbrocksc@uos.de],
Felix Faber [felix@faber.net],
Niklas Hoppe [nhoppe@uos.de],
Christian Kaul [ckaul@uos.de],
Christopher Lörken [cloerken@uos.de],
Gerrit Maus [gmaus@uos.de],
Sepideh Sadaghiani [sepirat@gmx.de],
Stefan Scherbaum [stefan.scherbaum@web.de],
Tobias Schwegmann [tobschwe@uos.de]
Materialien
Zeitplan und Themenübersicht
Hier werden von Vorlesung zu Vorlesung die behandelten Themen angegeben.
Die Zahlen in Klammern geben das Kapitel im Skript an.
- [01] 08.04.: Einführung: Programmierparadigmen und Sprachen (1)
[Folien, pdf] [Folien, ps, verkleinert] [Code]
- [00] 10.04.: entfällt (Diestreise)
- [02] 15.04.: Extra-Tutorium: Backtracking, 8-Damen Problem, javadoc
- [02] 17.04.: Extra-Tutorium: Backtracking, 8-Damen Problem, javadoc
- [03] 22.04.: Java und Objektorientierung (2), Klassen und ihre
Komponenten (3) [Folien, pdf] [Folien, ps, verkleinert] [Code (queens) ] [Code (Circle.java) ]
- [04] 24.04.: Klassen und Instanz-Methoden, Referenztypen, Pakete (3) [Folien, pdf] [Folien, ps, verkleinert] [Code (Circle, CloneCircle, CircleTest) ]
- [05] 29.04.: Konstruktoren und Vererbung; Sichtbarkeitsmodifikatoren [Folien, pdf] [Folien, ps, verkleinert] [Code (PlaneCircle) ] [Code (myshapes) ]
(4)
- [00] 01.05.: ----- Maifeiertag
- [06] 06.05.: Klassenabhängigkeiten, Overriding/Shadowing,
Polymorphismus (5) [Folien, pdf] [Folien, ps, verkleinert] [Code]
- [07] 08.05.: Exceptions, Exkurs: UML (6) [Folien, pdf] [Folien, ps, verkleinert] [Code, Exceptions]
- [08] 13.05.: Exkurs: Design Patterns (6) [Code, Patterns]
Input/Output (7) [Folien, pdf] [Folien, ps, verkleinert] [Code, IO] [
- [09] 15.05.: Vererbung und Typsicherheit (8) [Tafel]
- [10] 20.05.: Abstrakte Klassen und Interfaces (9) [Folien, pdf] [Folien, ps, verkleinert] [Code, myshapes2] [Code, Enumeration]
- [11] 22.05.: Innere Klassen (10) [Folien, pdf] [Folien, ps, verkleinert] [Code]
- [12] 27.05.: Innere Klassen, Adapter (10) [Folien, pdf] [Folien, ps, verkleinert], ADTs und
Collections (11) [Code, array]
- [00] 29.05.: ---- Christi Himmelfahrt
- [13] 03.06.: Abstrakte Datentypen und Collections (11) [Code, hash]
- [14] 05.06.: Abstrakte Datentypen und Collections (11) [Code, tree] Reflections (12) [Folien, pdf] [Folien, ps, verkleinert] [Code]
- [00] 10.06.: ---- Pfingstferien
- [00] 12.06.: ---- Pfingstferien
- [00] 17.06.: entfällt
- [00] 19.06.: entfällt
- [15] 24.06.: Multi-Threading: Nebenläufigkeit und Synchronisation
(13) [Folien, pdf] [Folien, ps, verkleinert] [Code]
- [16] 26.06.: Monitore und Semaphoren (13, 14) (Evaluation der
LV mit KIEL) [Folien, pdf] [Folien, ps, verkleinert] <[a
href="code/threads/">Code]
- [17] 01.07.: CCRS, Deadlocks, PipeStreams (14) [Folien, pdf] [Folien, ps, verkleinert] [Code]
- [18] 03.07.: String-Pattern-Matching, Reguläre Ausdrücke (15)
[Tafel] [Code]
- [19] 08.07.: Wiederholung, Klausurvorbesprechung
- [00] 09.07.: Klausur 8:00-10:00 in 01/E01,E02
- [20] 10.07.: Assertions (16) [Folien "Design by contract", pdf] [Tafel] [Java Doc], Besprechung der Evaluation
- [21] 15.07.: Ausblick: GUI-Programmierung und Event-Handling (17)
- [22] 17.07.: Ausblick: Client-Server Programmierung (18); Andere
OO-Sprachen (19)
- [00] 05.09.: 2. Klausur 10:00-12:00 in 32/102
Leistungsnachweise
Termine für mündliche Blockprüfungen (üblicherweise 30
min, Info A + Info B):
- 16., 17. und 18. Juli 2003
- weitere Termine im September
- nächster Prüfungsblock Ende WS 03/04
Terminvergabe erfolgt über unser Sekretariat
(Astrid Heinze). Anmeldung beim zuständigen Prüfungsamt nicht
vergessen.
Als Leistungsnachweis wird generell ein numerisch und ECTS-benoteter
Übungsschein vergeben bzw. eine entsprechende
Modulprüfungsleistung bescheinigt. Voraussetzung für den Erwerb
des Übungsscheins sowie Grundlage für die Note ist die
erfolgreiche Teilnahme an der Abschlußklausur (oder einer eventuellen
Nachklausur oder Nachprüfung). Zum Bestehen der Klausur müssen
mindestens 50% der möglichen Punkte erreicht werden.
Um die Zulassung zu dieser Klausur zu erhalten, ist die erfolgreiche
Teilnahme am Übungsbetrieb zu Informatik B in diesem oder einem der
vorhergehenden Semester erforderlich. Als Erfolg gelten hierbei jeweils
(einzeln pro Aufgabenblatt) 50% der möglichen Punkte bei 10 der 11
Übungsblätter. Auf jedem Übungsblatt sind maximal 20 Punkte
zu erreichen. In berechtigten Ausnahmefällen (wie z.B. Krankheit) gibt
es Sonderregelungen.
ECTS-Leistungen müssen nach deutschen Kriterien numerisch benotet
werden; die Nummern werden dann nach dem vorgegebenen Schlüssel auf die
ECTS-Buchstaben abgebildet. Da die Anzahl der ECTS-Credit Points leider vom
jeweiligen Studiengang abhängt, wird auf den Leistungsnachweisen nur
die Anzahl der Semesterwochenstunden (6 SWS) aufgeführt.
- Bachelor (ausser Cognitive Science)
- Die Klausur zählt als studienbegleitende Prüfung
(Modulprüfung) für Informatik B mit 9 ECTS Punkten.
- Diplom
- Bei bestandener Klausur gibt es einen benoteten Übungsschein
für Informatik
B (6 SWS mit 4 SWS Vorlesung und 2 SWS Übung).
- Blockprüfung: Info B kann mit zahlreichen anderen Vorlesungen
kombiniert in eine Blockprüfung (mündlich) eingebracht
werden.
- Bachelor Cognitive Science
- Bei bestandener Klausur gibt es einen benoteten Übungsschein (12
ETCS Punkte) für Informatik
B. Dieser ist ausreichend für die Studierenden, die Informatik nicht als
Schwerpunkt einbringen.
- Blockprüfung: Info B ist eine mögliche zweite Veranstaltung,
die zusammen mit Info A in die Blockprüfung (mündlich) eingebracht
werden kann.
Voraussetzung zur Anmeldung ist der Übungsschein.