Logo - Fakult�t f�r Mathematik und Informatik Moving Point - Secondo Logo

Kurse

Das Lehrgebiet bietet im Grundstudium regelmäßig den Kurs "Datenstrukturen" an, im Hauptstudium Kurse zu Compilerbau, Implementierung von Datenbanksystemen und Moving Objects Databases.


Kurs 01661/01662/01663 Datenstrukturen


Kursbeschreibung

Effiziente Algorithmen und Datenstrukturen bilden ein zentrales Thema der Informatik. Algorithmen sind Methoden zum Lösen von Problemen. Ein Datentyp ist eine Menge von Objekten zusammen mit Operationen auf diesen Objekten; eine Datenstruktur realisiert einen Datentyp, indem sie eine Repräsentation für die Objekte und Algorithmen für die Operationen anbietet. In diesem Kurs werden grundlegende Algorithmen und Datenstrukturen der Informatik behandelt; im Vordergrund steht dabei jeweils die Analyse der entstehenden Kosten (Laufzeit und Speicherplatzbedarf).

Kurs 01810 Übersetzerbau


Kursbeschreibung

Der Kurs behandelt Techniken und Werkzeuge zur Übersetzung einer (formalen) Quellsprache in eine Zielsprache. Beide Sprachen sind jeweils durch geeignete Grammatiken definiert. Der klassische Anwendungsfall ist die Übersetzung von einer höheren Programmiersprache in Maschinen- oder Assemblersprache. Insofern vermittelt der Kurs ein grundlegendes Verständnis für die Implementierung von Programmiersprachen. Übersetzungstechniken haben aber viel weitergehende Anwendbarkeit: Andere Quellsprachen können z.B. Dokumentbeschreibungssprachen sein (LaTeX, HTML, ), Anfragesprachen in Datenbanksystemen, VLSI-Entwurfssprachen usw. oder auch komplex strukturierte Eingabedateien für Anwendungsprogramme. Es gibt mächtige Werkzeuge (Scanner- und Parsergeneratoren auf der Basis attributierter Grammatiken), deren Kenntnis für jeden Informatiker nützlich ist, auch wenn nur wenige klassische Übersetzer (Compiler) implementieren.

Kurs 01665/01671/01672 Datenbanksysteme


Kursbeschreibung

Dieser Kurs gibt eine Einführung in das Gebiet der Datenbanksysteme. Es wird das Konzept eines Datenbanksystems, die prinzipielle Architektur und die Funktionsweise erarbeitet. Die Modellierung der Daten mit Hilfe unterschiedlicher Datenmodelle sowie das Arbeiten mit den entsprechenden Datenbanken werden diskutiert. Der Kurs beinhaltet ferner die Problemkreise: Transaktionsmanagement, Integrität, Datenschutz sowie einige Aspekte der physischen Datenorganisation und der Implementierung eines Datenbanksystems.

Kurs 01664 Implementierungskonzepte für Datenbanksysteme


Kursbeschreibung

Implementierungskonzepte für Datenbanksysteme. Dieser Kurs geht der Frage nach, wie Datenbanksysteme, die bekanntermaßen große Softwaresysteme darstellen, realisiert werden, d.h. welchen Implementierungsanforderungen sie unterliegen, wie die Architektur solcher Systeme aussieht und welche allgemeinen Konzepte für die Implementierung von Datenbanksystemen existieren. Behandelte Themen sind u.a.: Architektur eines Datenbanksystems aus konzeptioneller und software-mäßiger Sicht, Externspeicher- und Systempufferverwaltung, Indexstrukturen für alphanumerische und geometrische Daten, Anfrageverarbeitung und -optimierung, Transaktionen, Concurrency Control und Recovery.

Kurs 01675/01676/01677 Moving Objects Databases


Kursbeschreibung

The course offers an introduction to a new research area in databases termed "moving objects databases". The goal is to extend database technology to be able to represent any kind of moving entity in a database and to ask queries about them. For some entities only the position in space is relevant, hence they can be viewed as moving points, for others also the time changing extent is of interest, hence we can speak of moving regions. Examples of moving points are people, animals, or vehicles such as cars, trucks, air planes, ships, or satellites; examples of moving regions are hurricanes, forest fires, oil spills in the sea, forests, cancer, or the settlement areas of the Celtic tribes. For querying, one would like to ask about the current or anticipated near future movement as well as analyze movement histories in the past.

Kurs 01666 Datenbanken in Rechnernetzen

Verteilte Datenbanken sind Datenbanken,die physisch zwar auf mehrere, unabhängige Rechner verteilt sind, für den Benutzer jedoch wie eine (zentrale) Datenbank in Erscheinung treten. Der Kurs vermittelt einen Überblick über die hierbei auftretenden Probleme und Lösungsansätze. Im Einzelnen wird auf Rechnernetze, auf System- und Schema-Architektur, auf Aspekte der Daten- und Verteilungsunabhängigkeit, auf die Fragen der optimalen Datenverteilung sowie auf Synchronisations- und Recovery-Aspekte in diesem Kontext eingegangen werden.

Derzeit nicht angebotene Kurse


Fortgeschrittene Konzepte funktionaler Programmierung

Der Kurs widmet sich weiterführenden Themen funktionaler Programmierung, sowie einigen wichtigen theoretischen Grundlagen funktionaler Programmiersprachen. Zu Beginn werden die besonderen Konzepte moderner funktionaler Sprachen wie z.B. strenge Typisierung, parametrischer Polymorphismus, Datentypen und Pattern Matching am Beispiel der Sprache ML vorgestellt. Die mathematische Fundierung funktionaler Sprachen ermöglicht die formale Behandlung von Programmen. Dies wird anhand verschiedener Methoden zum Beweis von Programmeigenschaften oder aber auch zur Programmtransformation demonstriert. Als formale Grundlagen werden der Lambda-Kalkül sowie das Typsystem von Hindley/Milner erläutert. Schließlich wird das Verständnis funktionaler Programmiersprachen durch die Beschreibung verschiedener Implementierungsaspekte vertieft.


Programmierung graphischer Benutzerschnittstellen

Graphische Benutzerschnittstellen, charakterisiert durch Fenster, Icons, Menüs und Maussteuerung sind inzwischen zum Standard geworden. Der Kurs gibt eine Einführung in die grundsätzlichen Implementierungsprobleme (z.B. ereignisgesteuerte Programmierung, Dialogspezifikation, Manipulation von User-Interface-Objekten) und ihre Lösungsansätze und klärt die zugehörige Begriffswelt (z.B. direkte Manipulation, Fenstersystem, Window Manager, UI Toolkit, UI Management System). Die von konkreten Systemen angebotenen Programmierumgebungen bzw. -ebenen werden skizziert. Der Akzent ist insgesamt "handwerklich" und implementierungsnah; Kursbeleger sollen in die Lage versetzt werden, prinzipiell eine graphische Benutzerschnittstelle selbst zu konstruieren. Dazu werden Entwurf und Implementierung einer größeren Beispielanwendung vorgeführt



Letzte Änderung: 2016-11-22 (AJ)
FernUni-Logo FernUniversität in Hagen, Lehrgebiet Datenbanksysteme für neue Anwendungen, D-58084 Hagen, Telefon: +49 (2331) 987-4277