Summer Term 2012
Automata Theory
In the lecture about theoretical computer science you have seen finite automata, pushdown automata and Turing machines. All three of them operate on finite words. However there are other automata models and automata that do not operate on finite words, but e.g. on infinite words, on nested words, on trees, etc. In this seminar we will have a look at automata models that you have not seen in the lecture on theoretical computer science.
Decision Procedures
Decision Procedures are the basis for program verification: The task of program verification is to give a formal proof that a program meets its specification. This amounts to determining the truth value of a logical formula. A decision procedure is an algorithm that can for a certain type of formulas decide whether the formula is true or false. We will investigate decision procedures for different logics. Starting with propositional logic we will investigate decision procedures for logics with integers, reals, recursive structures (lists and trees), arrays, etc.
Seminar / Proseminar (Advanced) Topics in Requirements Engineering
Ziel der Veranstaltung ist, die Teilnehmer in die wissenschaftliche Arbeitsweise beim Erstellen von Texten und Vorträgen einzuführen. Gleichzeitig soll ein Grundverständnis des Themengebiets "Anforderungsanalyse in der Softwaretechnik" erarbeitet werden. Dieses umfasst alle Aufgaben, die dazu dienen, die Ziele, Bedürfnisse und Voraussetzungen für die Entwicklung eines Softwareprodukts zu bestimmen (vgl. auch "Requirements Engineering").
Softwarepraktikum (Nur 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.
Cyber-Physical Systems - Hybrid Models
In this lecture we will investigate different methods and algorithms used to model and analyze cyber-physical systems. We will use the formalism of hybrid automata in order to account for the discrete and the continuous aspects of the behavior of cyber-physical systems.
Seminar Hybrid Systems
The development of cyber physical systems (CPS) is considered to be the next computing revolution. Cyber physical systems are networked computational systems that interact with the physical world. Examples of such systems are autonomous cars, robots, intelligent energy-efficient buildings, embedded medical devices, etc. The systems like that require tight connection between discrete and continuous behavior. The design of CPS presents many challenges because of their complexity, safety requirements and real-time nature. Thus collaboration among people from different disciplines and between academics and industry is required to make progress in the area of CPS. In this seminar we will discuss different aspects of one of the most powerful formalisms to model CPS - hybrid automata.
Model-based Testing and Analysis
This seminar covers important achievements in the area of Automated Black-box and White-box Testing.
Real-Time Systems (Lecture)
Real-time systems need to react to certain input stimuli within given time bounds. For example, an airbag in a car has to unfold within 300 milliseconds in a crash. There are many embedded safety-critical applications and each requires real-time specification techniques. We will study and apply some of these techniques, based on logic and automata, most prominently timed automata.
Theory I
The goal of this course is to improve your knowledge on data structures, algorithms, principles of programming languages and database systems. To achieve this goal, some basic knowledge of standard data structures and algorithms are required. Mathematical tools and methods, usually taught in the first two years of a bachelor program in computer science, are frequently used in this lecture.