Grundlagen der Informatik 2
StudienbereichBachelor-Studienabschnitt, Pflichtfach, Empfohlenes Semester: 2. Semester
FachGrundlagen der Informatik und Programmierung
Anzahl LP5
Ziele
![]() |
Nach der Durcharbeitung dieses Moduls ist der Studierende in der Lage, kleine Probleme objektorientiert mithilfe der UML zu modellieren und anschließend das Modell objektorientiert zu entwerfen, in Java zu programmieren und zu testen. Inhaltsübersicht
- Basiskonzepte der Objektorientierung
- Objekte
- Klassen
- Konstruktoren
- Botschaften
- Attribute in Klassen vs. Attribute in Operationen
- Klassenattribute und -operationen
- Klassen benutzen und bereitstellen
- Pakete
- Vorhandene Klassen benutzen
- Hüllklassen für einfache Typen
- Ausnahmebehandlung mit throw
- Die String-Klassen von Java
- Die Klassen Calendar und DateFormat
- Assoziationen
- Links: Beziehungen zwischen Objekten
- Assoziationen: Beziehungen zwischen Klassen
- Assoziationsnamen und Rollen
- Assoziationsklassen wenn die Assoziation zur Klasse wird
- Navigierbarkeit
- Container
- Das Singleton-Muster
- Einfachvererbung
- Generalisieren entdecke Gemeinsamkeiten
- Klassen spezialisieren und Methoden redefinieren
- Identität vs. Gleichheit
- Klonen vs. Kopieren
- Die Vererbungsregeln
- Polymorphismus
- Mehrfachvererbung und Schnittstellen
- Leere Implementierung von Schnittstellen
- Schnittstellen und Vererbung
- Konstanten in Schnittstellen
- Persistenz und Datenhaltung
- Dateien sequenziell lesen und schreiben
- Eine einfache Indexverwaltung
- Drei-Schichten-Architektur
- Die Serialisierung von Objekten
- Vernetzte Objekte serialisieren
- Generische Datentypen
- Einfache Klassenschablonen
- Typeinschränkung bei generischen Datentypen
- Einfache Methodenschablonen
- Konstruktive Qualitätssicherung
- Bindung von Methoden
- Bindung von Klassen
- Kopplung von Methoden
- Kopplung von Klassen
- Refactoring von Klassen und Methoden
- Analytische Qualitätssicherung
- Testen - Terminologie und Konzepte
- Dynamische Testverfahren
- Funktionale Äquivalenzklassenbildung
- Grenzwertanalyse und Test spezieller Werte
- Testgetriebenes Programmieren
- Von OOA zu OOP anhand der Fallstudie Aufgabenplaner
- Einführung in C++
- Hello World mit C++
- Klassen in C++
- Trennung Schnittstelle - Implementierung
- Dynamische & statische Objekte
- Vererbung & Polymorphismus
- Klassenattribute & Klassenoperationen
- Java nach C++
- Einführung in C#
- Überblick über .Net
- Überblick über C#
- Einfache & strukturierte Typen
- Klassen
Verantwortlich
Prof. Dr. Helmut Balzert
Voraussetzungen & Vorkenntnisse
Literatur
- Buch: Java: Objektorientiert programmieren - Vom objektorientierten Analysemodell bis zum objektorientierten Programm von Helmut Balzert, 2. Auflage
Weiterführende Literatur
- Bloch, Joshua; Effective Java-Programming Language Guide, 11. Auflage, Boston, Addison-Wesley, 2005
Ausgezeichnetes Buch, das zeigt, bei welchen Java-Sprachkonstrukten welche Alternativen welche Vor- und Nachteile haben. - Fowler, Martin; Refactoring - Improving the Design of Existing Code, 17. Auflage, Boston, Addison-Wesley, 2005
Ausgezeichnetes Buch, das zeigt, wie vorhandene Programme systematisch überarbeitet und verbessert werden können.
Online-Kurs
- Java: Objektorientiert programmieren
