Winter Term 2014/2015
Automatentheorie (Proseminar)
In der Vorlesung Theoretische Informatik lernen Sie endliche Automaten, Kellerautomaten und Turingmaschinen kennen. Zum einen werden diese aber nicht erschöpfend behandelt. Zum anderen sind das längst nicht alle Arten von Automaten, die bereits erforscht wurden. In diesem Proseminar wollen wir uns eingehender mit Automaten beschäftigen.
Softwarepraktikum (Nicht für B.Sc. Informatik und B. Sc. ESE)
In diesem Praktikum soll ein Softwareentwicklungsprozess, beginnend bei Anforderungserhebung über Entwurfsphase bis hin zur Implementierung, die Organisation der Arbeit innerhalb einer Gruppe und der Umgang mit komplexen Systemen erlernt werden. Die Teilnehmer werden von den Betreuern in Gruppen eingeteilt und müssen eine bestimmte Aufgabenstellung realisieren. Hierzu müssen sie sich selbst organisieren, die Anforderungen definieren, Arbeit geschickt auf Gruppenmitglieder verteilen und neue Technologien selbstständig erlernen.
Informatik III
Die Vorlesung gibt eine Einführung in die Theoretische Informatik. Sie führt in die Themen Endliche Automaten, Formale Sprachen und Grammatiken ein und liefert mehrere äquivalente präzise Fassungen des Berechenbarkeitsbegriffs. Es schließt sich eine Einführung in die Komplexitätstheorie, speziell die Theorie der NP-Vollständigkeit, an. Behandelt werden abstrakte Modelle von Maschinen und Sprachen und mit ihrer Hilfe werden Komplexitätsmaße wie Schrittzahl (Laufzeit) und Speicherbedarf von Algorithmen präzise definiert.
Software Design, Modelling, and Analysis in UML (Lecture)
The model-driven approach to software and systems development proposes to address quality and complexity issues in the development process. The usage of modelling languages not only for documentation, but, e.g., for automated analysis, test generation, and code generation is gaining momentum in particular in the context of (safety) critical software development. The necessary pre-requisites are a semantically founded modelling language and methods and tools for analysis. We will take the Unified Modelling Language (UML) as an example and demonstrate how to equip a relevant sublanguage (sometimes referred to as executable core) with a precise meaning in line with the official standard documents. To complement these discussions, we provide access to a contemporary UML modelling tool and use it for some of the exercises.