

Programm
- 1. Tag
 - Java-Syntax und -Klassen - Wiederholung
 - Einfache Java-Klassen
 - Java-Felder, -Konstruktoren und -Methoden
 - Modellieren von Objekten mit Java-Klassen
 - Package- und Importanweisungen
 - Kapselung und Polymorphie
 - Kapselung im Design von Java-Klassen
 - Unveränderbarkeit
 - Erstellen von Unterklassen, Überladen von Methoden
 - Methoden mit variablen Argumenten
 - Design von Java-Klassen
 - Zugriffsmodifizierer private, protected und public
 - Überschreiben von Methoden
 - Überladen von Konstruktoren
 - Zugriffsmodifizierer private, protected und public
 - Virtueller Methodenaufruf, Polymorphie
 - Casting von Objektreferenzen
 - Überschreiben von Objektmethoden
 - Erweitertes Design von Klassen
 - Abstrakte Klassen und Typgeneralisierung
 - Modifizierer static und final
 - Best Practices für Feldmodifizierer
 - Entwurfsmuster Singleton
 - Design abstrakter Klassen
 - Verschachtelte Klassen, Aufzählungstypen 2. Tag
 - Vererbung mit Java-Schnittstellen
 - Java-Schnittstellen, Arten der Vererbung
 - Objektkomposition und Methodendelegierung
 - Implementierung mehrerer Schnittstellen
 - DAO-Designmuster
 - Generics und Collections
 - Generische Klassen und Typparameter
 - Typinferenz (Diamond)
 - Collections und Generics
 - Schnittstellen List, Set und Map
 - Stack und Deque
 - Verarbeiten von Zeichenfolgen
 - StringBuilder und StringBuffer
 - Wesentliche Zeichenfolgenmethoden
 - Parsen von Text in Java, Inputverarbeitung mit Scanner
 - Textausgabe und Formatierung
 - Reguläre Ausdrücke mit den Klassen Pattern und Matcher 3. Tag
 - Exceptions und Assertions
 - Exception-Kategorien, Java-Standardklassen von Exceptions
 - Erstellen eigener Exception-Klassen
 - Klauseln try-catch und finally
 - try-with-resources und Schnittstelle AutoCloseable
 - Klausel multi-catch
 - Best Practices für Exceptions, Assertions
 - I/O-Grundlagen
 - I/O mit Java
 - Lesen des Konsoleninput-Streams, Schreiben an die Konsole
 - I/O-Streams, Verketten von I/O-Streams, Kanal-I/O
 - Lesen und Schreiben von Objekten mit Serialisierung
 - Datei-I/O mit NIO
 - Schnittstelle Path, Klasse Files
 - Datei- und Verzeichnisvorgänge
 - Verwalten von Dateisystemattributen
 - Lesen, Schreiben und Erstellen von Dateien
 - Verfolgen von Änderungen am Dateisystem 4. Tag
 - Threading
 - Planung von Betriebssystemaufgaben
 - Erkennen von Multithread-Umgebungen
 - Erstellen von Multithread-Lösungen
 - Gemeinsame Datennutzung über Threads
 - Synchronisierung und Deadlock
 - Unveränderbare Objekte
 - Parallelität
 - Erstellen von atomaren Variablen
 - Verwenden von Lese-/Schreibsperren
 - Thread-sichere Collections
 - Parallele Synchronisierungen (Semaphore, Phaser usw.)
 - Executors und ThreadPools
 - Parallelisierung und Fork-Join Framework 5. Tag
 - Datenbankanwendungen mit JDBC
 - Layout der JDBC-API
 - Erkennen von Multithread-Umgebungen
 - Abfragen und Ergebnisse
 - PreparedStatement und CallableStatement
 - Transaktionen
 - RowSet – RowSetProvider und RowSetFactory
 - DAO-Muster und JDBC
 - Lokalisierung
 - Vorteile der Lokalisierung
 - Definieren von Gebietsschemas, Locale-Objekte
 - Ressourcenpakete
 - Formatieren von Meldungen, Datumsangaben und Zahlen
 
Ziele
In diesem Seminar werden die Syntax der Programmiersprache Java, die objektorientierte Programmierung mit Java, die Erstellung von grafischen Benutzeroberflächen (GUIs), Ausnahmen, Datei-Ein-/Ausgabe (E/A), Threads und Netzwerkprogrammierung behandelt.
Voraussetzungen
Fundamentals of the Java Programming Language~4272oder dem entsprechende Kenntnisse