|
Aktuelles
Übung
Termine
Personen
Literatur
Materialien
Inhalt
Anmeldung
Abgabe
|
|
|
Inhalt
Thema der Vorlesung ist die Einführung in die objekt-orientierte und
parallele Programmierung sowie die Behandlung grundlegender Datenstrukturen und
Algorithmen. Vermittelt werden begriffliche Grundlagen, Konzepte, Methoden und
Techniken zur Darstellung und Strukturierung von Daten und zur Entwicklung von
Algorithmen. Dabei wird auf begriffliche Klarheit und präzise
mathematische Fundierung mit formalen Methoden Wert gelegt.
Als Programmiersprachen kommt Java zum Einsatz.
- Konzepte objekt-orientierter Programmierung und Software-Entwurf
-
Konzepte objekt-orientierter Programmierung
(Objekte, Klassen, Botschaften, Vererbung, Kapselung,
statisches und dynamisches Binden, Polymorphie)
-
Objekt-orientierter Software-Entwurf
(Vorgehensweise)
-
Statisches Objektmodell
(Klassendiagramme, Aggregation, Vererbung)
-
Dynamisches und funktionales Modell
(Interaktionsdiagramme, endliche Automaten)
-
Entwurfsmuster
- Objekt-orientierte Programmierung
-
Spezifikation von Klassen und deren Implementierung
(Klassen, Zugriffsrechte, Erzeugen von Objekten,
Konstruktoren, Invarianten*, Vor- und Nachbedingungen*)
-
Erweitern von Klassen
(Vererbung, Überschreiben von Methoden,
Zugriff auf Methoden in Oberklassen,
abstrakte Klassen)
-
Ausnahmen und Ausnahmebehandlung
- Komplexität von Algorithmen
-
Zeit- und Speicherplatzkomplexität
-
O-Notation
- Standard-Datenstrukturen
-
Abstrakte Datentypen und abstrakte Klassen
-
Lineare Strukturen
(Listen, Schlangen, Keller)
-
Baumstrukturen
(Binäre Bäume,
ausgeglichene Bäume,
AVL-Bäume*,
B-Bäume*)
- Nebenläufige Programmierung
-
Prozesse und Threads
-
Konzepte der Kommunikation (gemeinsamer Speicher, Nachrichten)
-
Sicherheit durch Synchronisation
-
Lebendigkeit und Verklemmung
-
Typische Probleme
(Erzeuger/Verbraucher, Lesen/Schreiben in kritischen Regionen)
Hörerkreis:
- Studierende im Grundstudium der Informatik
- Studierende mit Nebenfach Informatik
Voraussetzungen: keine.
|