Objektorientierte Programmierung

Dieses Modul besteht aus einer Lehrveranstaltung.

Prüfungsordnung:  MI-BA-2017

Studienorganisation

Studiensemester:  2

Turnus:  Sommersemester, jährlich

Modultyp:  Pflichtveranstaltung

Lehrform:  Vorlesung/Labor

Sprache:  Deutsch

Kompetenzen/Lernziele 

Sie erlernen den Entwurf und die Programmierung moderner grafischer Benutzeroberflächen mit Methoden und Werkzeugen der objektorientierten Modellierung und Programmierung. Sie kennen Standard-Elemente graphischer Benutzeroberflächen zur Anzeige von Daten, zur Interaktion und Navigation sowie des dynamischen Layouts und können diese mit dem Swing-Framework in der Programmiersprache Java umsetzen.

Sie beherrschen die Konzepte und Methoden (Abstraktion/ Kapselung, Polymorphismus, Schnittstellen / Interfaces) der objektorientierten Modellierung und Programmierung. Sie können sicher Werkzeuge zur Entwicklung, zur Analyse, zum Test und zur Dokumentation von Software-Projekten einsetzen. Sie sind in der Lage, fortgeschrittene Konzepte der objektorientierten Programmierung (Ereignisverarbeitung, generische Funktionen) und komplexe Klassenbibliotheken in ihren Programmen zu nutzen.

Diese Konzepte können Sie beim Entwurf und die Programmierung moderner graphischer Benutzeroberflächen einsetzen, um einfache graphische Benutzerschnittstellen für mobile Endgeräte zu entwickeln.

Die Veranstaltung ist von zentraler Bedeutung für alle nachfolgenden Veranstaltungen des Themenschwerpunktes Mobile Anwendungen und der Themenschwerpunkte Interaktive Systeme und Medienprogrammierung, die auf den in dieser Veranstaltung vermittelten Kompetenzen aufbauen und diese weiter ausbauen.

Inhalte 

Vorlesung

  • Konzepte der objektorientierten Programmierung am Beispiel Java
    • Abstraktion und Kapselung durch Konzepte / Klassen / Objekte
    • Sichtbarkeit und Zugriffsrechte
    • Beziehungen zwischen Objekten: Vererbung , Komposition
    • Klassenhierarchien
    • Polymorphismus, virtuelle Funktionen
    • abstrakte Klassen
    • Schnittstellen (Interfaces)
    • Fehlerbehandlung / Ausnahmen
    • Generische Funktionen
  • User-Interface-Frameworks am Beispiel AWT/Swing
    • GUI-Komponenten zur Informationsdarstellung, Interaktion, Navigation
    • Komponenten-Hierarchie
    • Layout-Mechanismen für statische und dynamische Darstellungen
    • Ereignis-Verarbeitung

Labor

Sie konzipieren und erstellen für einfache Anwendungen zunehmend komplexere grafische Benutzerschnittstellen. Dabei nutzen Sie das Framework AWT/Swing und lernen Werkzeuge zur Entwicklung, Analyse, zum Test und zur Dokumentation von Software-Projekten kennen.

  • Integrierte Entwicklungsumgebung (Eclipse)
  • Debugging-Werkzeuge
  • Tools zur Integration der Dokumentation direkt im Quelltext und zur automatischen Erstellung der Software-Dokumenation (JavaDoc)
  • Versionsverwaltungssysteme (z.B. Subversion, GIT, …)

Arbeitsaufwand

4 SWS, 5,0 Creditpoints (CP)

60 h Präsenzstudium, 90 h Eigenstudium

Prüfung

Art der Prüfung:  Prüfungsleistung

Prüfungsform:  K(2)

Literatur 

  • G. Krüger, T. Stark: Handbuch der Java-Programmierung. 6. Auflage, Addison-Wesley Longman (2009)
  • D. Ratz, J. Scheffler, D. Seese und J. Wiesenberger: Grundkurs Programmieren in Java. 6. Auflage, Hanser (2011)
  • C. Ullenboom: Java ist auch eine Insel. 10. Auflage. Galileo Computing, 2011

Voraussetzungen

Voraussetzungen lt. Prüfungs- und Studienordnung 

keine

Empfohlene Veranstaltungen 

Verantwortliche Dozenten

Modulverantwortliche(r):  Prof. Dr. Michael Teistler

Dozent(in):  Prof. Dr. Michael Teistler