Copyright © 1997-1999 by Axel T. Schreiner. All Rights Reserved.

Programmieren mit Java 2

Axel-Tobias Schreiner, Fachbereich Mathematik-Informatik, Universität Osnabrück.

Eine Einführung in die Programmierung mit Java 2.

Vorlesung im Sommersemester 1999.

Von hier aus sind Kopien der OH-Folien des Skripts, der Java-2-Dokumentation von Sun sowie die Programmbeispiele erreichbar, die in der Vorlesung verwendet werden. Die Texte sind kein komplettes Manuskript der Vorlesung. Zum Selbststudium müßten zusätzlich Bücher über Java, objekt-orientierte Programmierung, Netzprogrammierung und auch über das World-Wide Web konsultiert werden.
Diese Unterlagen können vom Autor auf CD bezogen werden.
To see English pages, where available, set your browser's language preference to en.

Kataloge

aufgaben Jede Woche gibt es ein Aufgabenblatt. Sollte es nicht selbständig gelöst werden, könnte eine Klausur folgen...
code Die Programmbeispiele sind parallel zu den Kapiteln der Vorlesung in Katalogen zusammengefaßt.
ftp Archivierte Kopien der Programmbeispiele, Dokumentation und OH-Folien sowie Entwicklungssysteme, verschiedene Betrachter und ähnliche Werkzeuge können nur im Netz der Universität Osnabrück per File-Transfer-Protokoll abgeholt werden.
    Gute Anfangspunkte, um Java-Werkzeuge im Web zu finden, sind die Java Solutions und die Products & APIs bei Sun sowie Jeff Poskanzers Home-Page.
html In diesem Bereich sind die OH-Folien des Skripts und die Dokumentation sowie die Beispiele des JDK (1.2.1) zu finden.
pdf Das Material aus dem html-Bereich wurde mit PStill in das Portable Document Format gewandelt und mit einem Index versehen. Das Format eignet sich primär zum Drucken und unter Windows auch zur lokalen Volltextsuche.
    Je nach Plattform sind dafür spezielle Betrachter erforderlich, die zuvor installiert werden müssen. Betrachter für Windows und Linux befinden sich auch im ftp-Bereich.

Java im Lehre-Netz der Osnabrücker Informatik

Uwe Hein gab folgende Informationen zum Stand der Java-Installationen im Lehre-Netz der Informatik:
Rechner Plattform Java-Version
Raum 31/339 Intel/Linux 1.1.7
ramses Sparc/Solaris 5.6 1.2.1
zeus
buddha Intel/Solaris 5.6
dosuni
sol
Auf allen Rechnern wird /usr/local/java/bin in den Pfad aufgenommen, wenn in ~/.profile ein Eintrag Java existiert. Die Kommandos heißen auf allen Rechnern java und javac.

Termine 1999

Vorlesung Dienstag, 10:15 31/449a Schreiner
Donnerstag, 10:15
Übungen Montag, 10:15 31/449a Kühl
Montag, 12:15
Sprechstunde Donnerstag ab 15:00 n.V. 31/321 Schreiner
Dienstag 14-16 oder n.V. 31/318a Kühl

Kalender 1999

April 13 Einführung, Organisation des Web-Servers, Literatur, Design-Überlegungen, erstes Programm, programs/hello/
15 Die erste Applikation, apps/hello/, Pakete, import, AWT: Klassen und Threads, innere Klassen, Delegate-Muster
20 Das erste Applet, applets/hello/, HTML, applet-tag, Java Plugin, HTMLConverter, javadoc, Integer Daten, Ranges.java
22 Integer-Daten, Ranges.java, Try.java, Cvt.java, Integer-Typen, Integer-Operationen, String-Verkettung, Wrapper-Klassen
27 Integer-Daten, Cvt.java, Kontrollstrukturen, Gleitkomma-Daten, IEE-754, Ranges.java, Qgl.java, not a number, Bedingungen, Cvt.java, Identität
29 Sicherheitskonzept, signed Applet, Authentifizierung, keytool, policytool; Bedingungen, Cvt.java, Identität vs. Äquivalenz, Zeichen und Zeichenketten, Unicode
Mai 4 String-Funktionen, Eingabe und Ausgabe, Zeichen zählen, package, Verarbeitung der Kommandozeile, clone()
6 Zeichen zählen, Vektoren, deep copy, clone(), Bytes zählen, Bc
11 Zeichen zählen, Uc, interface, System-Properties, Prop, Innere Klassen, Hi, Zeichen zählen mit Streams
13 Feiertag
18 Zeichen zählen mit Streams, Kommandozeile, innere Klassen, eigene Streams, Statisch verschachtelte Klassen, arithmetische Ausdrücke, Rekursiver Abstieg
20 Rekursiver Abstieg, Objekte als Methodenzeiger, closure, StringReader, Framework für die Kommandozeile
25 Pfingstferien
27 Pfingstferien
Juni 1 Main-Framework: Interface vs. Adapterklasse, Cat mit Adapterklasse, Wc mit Interface, Ls, File
3 Ls, File, Probleme mit listFiles(), Collection Framework: Fähigkeiten und Repräsentierungen
8 Collection Framework: Methoden; Sortieren: List; Häufigkeit: Map
10 Collection Framework: Häufigkeit, Threads, paralleler Zugriff
15 FreqP: Varianten zur Synchronisation; Threads: Funktionalität, race-Bedingungen, Monitor und critical regions
17 Threads: conditional critical regions, Consumer/Producer-Probleme, Semaphore, Dining Philosophers, Pipelines, Grep, GrepAll; AWT: Aufgaben, Verhältnis zu Swing
22 AWT: Klassenhierarchie, Objekthierarchie, Events und Listeners, Aufgabe der Views, Button
24 Instrumentierung für Ablaufverfolgung, newInstance(), java.lang.reflect, Canvas
29 veränderte Instrumentierung für Ablaufverfolgung, Checkbox, Choice, List, Dialog, Modal-Schleife, FileDialog, Image
Juli 1 Image, Label, Color, Menu, PopupMenu
6 Scrollbar, ScrollPane, TextArea, Font, Beispiele als Applets: Design der Kommunikation
8 Beispiele als Applets: Implementierung, Event- Management-Prinzipien: Model/View/Controller, Delegation, ActionReader
13 Event-Management-Prinzipien: Interface und Innere Klassen, Application-Framework; Layout: CardLayout, GridBagConstraints, GridBagLayout
15 Versionsprobleme im JDK: Fokus, Cursor-Position vs. Text-Selektion, Background-Farbe; BoundProperty; Layout: GridBagConstraints, GridBagLayout
20 Swing: Konzepte, erste Applikation, JButton, Ablaufverfolgung, ButtonModel, Probleme
22 Implementierung der Ablaufverfolgung, Menüs, Knöpfe und Gruppen, JComboBox