Einführung
- Installation und Überblick der Versionen
- Compiler und Java Virtual Machine (JVM)
- Einrichten einer Entwicklungsumgebung mit Editor, Code Assist und Debugger
- Nutzung KI-basierter Assistenten
Grundlagen
- Einführung in die jshell
- Variablen und Datentypen
- Operatoren
- Kontrollstrukturen: Schleifen, Abfragen, Fehlerbehandlung
Objektorientierung in Java Teil 1: Objekte
- Zugriff auf Attribute und Methoden
- Datentypen und deren Verwendung
- Speicherverwaltung durch die Java Virtual Machine und Garbage Collection
Objektorientierung in Java Teil 2: Klassen
- Das Grundgerüst einer Klassendefinition
- Instanziierung und der new-Operator
- Methoden als Funktionen mit Parametern und Rückgabewert
- Referenzen und das Java-Typsystem
- Überblick: enum, interface, record, Annotations
Datencontainer
-
Collection-Typen: List, Set und Map
-
Generics
-
Einfache Datenverarbeitung mit Collections
Funktionale Programmierung
- Funktionen als Objekte
- Funktionsdefinition mit Lambda-Ausdrücken
- Methoden-Referenzen
Datenverarbeitung mit Streams
- Datenverarbeitungs-Workflow: Filter, Transform, Collect
- Collection-Streaming
- Dateien als Datenquellen und -senken
Abschlussarbeit
- Entwicklung einer Anwendung, die Informationen aus einer Datenquelle liest und diese in mehreren Schritten zu einem Endergebnis verarbeitet. Diese Aufgabe ist zwar elementar, bildet jedoch das Grundgerüst vieler Business-Anwendungen. Mit den in diesem Modul vermittelten Kenntnissen können solche Abläufe bereits umgesetzt werden.
MethodeKlassische Methoden:
- Vorträge und Präsentationen: Einführung in die theoretischen Grundlagen der Java-Programmierung und Vorstellung der wichtigsten Konzepte und Werkzeuge.
- Hands-on Coding Sessions: Praktische Übungen, bei denen die Teilnehmenden unter Anleitung des Dozenten eigenen Code schreiben und ausprobieren können.
- Code Reviews: Gemeinsame Durchsicht und Besprechung von Code-Beispielen, um Best Practices zu vermitteln.
Moderne agile Lernansätze:
-
Pair Programming: Die Teilnehmer arbeiten in Zweierteams zusammen, um Aufgaben zu lösen, was den Wissensaustausch und die Zusammenarbeit fördert.
-
Kata Sessions: Kurze, wiederholte Programmierübungen, die darauf abzielen, bestimmte Programmierfähigkeiten zu verbessern.
-
Retrospektiven: Regelmäßige Reflexionsrunden, in denen die Teilnehmer ihre Lernerfahrungen und Herausforderungen besprechen und Verbesserungsvorschläge machen.
HinweisIn diesem Modul wird die objektorientierte Programmierung pragmatisch eingeführt. Konzepte wie Kapselung, Vererbung und Schnittstellen werden nicht im Detail behandelt, da diese Themen im nachfolgenden Modul des Lernpfades umfassend behandelt werden.Dieses Seminar ist der erste Baustein des Lehrgangs #33000 Java Programmierung Intensivkurs, der auch als Lehrgang komplett gebucht werden kann.Weiterführende Informationen: Eine Auswahl vertiefender Inhalte und praxisorientierter Beiträge zum Thema Programmiersprachen findet sich im Programmiersprachen-Blog.
LernzieleIn diesem Modul lernen Sie die Syntax und die wichtigsten Konzepte der Java-Programmierung kennen. Wir führen Sie in die Entwicklungsumgebungen und die darin bereitgestellten Werkzeuge ein, die die Programmierung erheblich erleichtern. Zusätzlich zeigen wir Ihnen, wie KI-basierte Assistenten Ihre Programmierarbeit unterstützen können.
Mithilfe elementarer Klassen der Java-Standard-Bibliothek erarbeiten Sie Anwendungen zur Datenverarbeitung.
Lernziele:
- Beherrschen der grundlegenden Java-Syntax und -Konzepte
- Einrichtung und Nutzung einer Entwicklungsumgebung
- Verständnis der objektorientierten Programmierung in Java
- Datenverarbeitung mit Java-Collections und Streams
- Einführung in funktionale Programmierkonzepte in Java
Nutzen für die Teilnehmenden:
- Sie erlangen die Fähigkeit, einfache bis mittlere Java-Anwendungen selbstständig zu entwickeln.
- Sie verstehen die Grundlagen der objektorientierten Programmierung und können diese in Java anwenden.
- Sie können Daten verarbeiten und einfache Datenströme implementieren, was für viele Business-Anwendungen grundlegend ist.
ZielgruppenProgrammiereinsteiger und Umsteiger von anderen Programmiersprachen