Objektorientierte Programmierung & Konzepte mit Java

Einführungskurs in die objektorientierte Java-Programmierung an der FH OÖ: JVM-Grundlagen, Klassen, Vererbung, Polymorphie, Generics und JUnit-Tests.

Java gehört weltweit zu den verlässlichsten und meistgenutzten Programmiersprachen für robuste Unternehmenssoftware und Backend-Services. Dieser Einführungskurs führt systematisch von den Grundlagen der imperativen Programmierung über fortgeschrittene objektorientierte Konzepte bis hin zu generischen Collections und automatisierter Qualitätssicherung mit JUnit.

Target Audience

Bachelor-Studierende der Fachrichtung Informatik und verwandter technischer Studiengänge sowie Berufseinsteiger in die Softwareentwicklung.

Course Prerequisites

  • Grundlegendes logisches Denkvermögen und Computer-Grundkenntnisse
  • Verständnis elementarer mathematischer Funktionen und Variablen
  • Keine vorherige Programmiererfahrung zwingend erforderlich

Learning Goals

  • Imperative Programmierung & Syntax: Sicherer Umgang mit Java-Typen, Kontrollstrukturen, Methoden und Speichermodellen.
  • Objektorientierte Modellierung: Implementierung von Vererbung, Kapselung, Polymorphie und abstrakten Schnittstellen.
  • Collections & Datenstrukturen: Effizienter Einsatz generischer Listen, Sets und HashMaps für dynamische Datenmengen.
  • Testautomatisierung mit JUnit: Schreiben isolierter automatisierter Komponententests und strukturierte Fehlerbehandlung.

Course Syllabus

  1. Java-Plattform & Sprachgrundlagen: Architektur der Java-Plattform (JDK, JRE, JVM) und Bytecode-Kompilierung: Primitive Datentypen, Typumwandlung, Operatoren und strukturierter Kontrollfluss.
  2. Klassen, Objekte & Datenkapselung in Java: Grundlagen der Objektorientierung in Java: Entwurf von Klassen, Instanziierung auf dem Heap, Konstruktor-Überladung, Zugriffsmodifikatoren und Kapselung.
  3. Vererbung, Interfaces & Polymorphie: Fortgeschrittene Objektorientierung in Java: Klassenhierarchien mit extends, abstrakte Klassen, Schnittstellen (Interfaces) und dynamische Polymorphie.
  4. Generics & das Java Collections Framework: Typsichere Datenstrukturen mit Java Generics und dem Collections Framework: ArrayList, LinkedList, HashSet, TreeMap, Iteratoren und die Stream-API.
  5. Exception Handling, I/O & JUnit Testing: Robuste Softwareentwicklung in Java: Checked vs. Unchecked Exceptions, Ressourcenverwaltung mit try-with-resources, NIO-Dateizugriff und JUnit-5-Tests.

Course Modules

Structured learning units covering theoretical foundations, practical implementations, and industry tooling.

Module 01

Java-Plattform & Sprachgrundlagen

Architektur der Java-Plattform (JDK, JRE, JVM) und Bytecode-Kompilierung: Primitive Datentypen, Typumwandlung, Operatoren und strukturierter Kontrollfluss.

Read More
Module 02

Klassen, Objekte & Datenkapselung in Java

Grundlagen der Objektorientierung in Java: Entwurf von Klassen, Instanziierung auf dem Heap, Konstruktor-Überladung, Zugriffsmodifikatoren und Kapselung.

Read More
Module 03

Vererbung, Interfaces & Polymorphie

Fortgeschrittene Objektorientierung in Java: Klassenhierarchien mit extends, abstrakte Klassen, Schnittstellen (Interfaces) und dynamische Polymorphie.

Read More
Module 04

Generics & das Java Collections Framework

Typsichere Datenstrukturen mit Java Generics und dem Collections Framework: ArrayList, LinkedList, HashSet, TreeMap, Iteratoren und die Stream-API.

Read More
Module 05

Exception Handling, I/O & JUnit Testing

Robuste Softwareentwicklung in Java: Checked vs. Unchecked Exceptions, Ressourcenverwaltung mit try-with-resources, NIO-Dateizugriff und JUnit-5-Tests.

Read More