|
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. |