You are here: Home Teaching Summer Term 2014

Summer Term 2014

Automata Theory (Seminar)
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.
Einführung in die Informatik (Vorlesung)
Die Vorlesung gibt eine Einführung in die Grundlagen der Informatik. Anhand der Programmiersprache Java werden Grundkonzepte der Programmierung erläutert. Dazu gehören Grundlagen von Algorithmen, prozedurale Programmierung, Datenabstraktion, datengesteuerte und objekt-orientierte Programmierung. Die Vorlesung wird durch Tutorien begleitet, in denen Übungsaufgaben besprochen werden.
Seminar Formal Methods for C
Despite its age, the C programming language is still popular for embedded systems software in particular for critical tasks. In this seminar, we will investigate methods and tools which promise to support us in proving C programs correct given a precise requirements specification or in finding generic errors like page faults. After a short lecture block on the C programming language, each participant group is supposed to provide their implementations of a small number of given problems. Afterwards, each group will set out to prove these implementations correct. In a final seminar block, each group is supposed to report on the tool they used, the technique behind the tool, and experience with the implementations.
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.
Computer Science Theory (Bridging Course) (Tutorial)
The lecture introduces the foundations of theoretical computer science. The first part covers automata theory and formal languages and grammars. The second part provides a precise definition of the term "computability" and shows the limitations of computational models. The third part introduces complexity theory, especially the class of NP-complete problems.
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.