« May 2019 »
May
MoTuWeThFrSaSu
12345
6789101112
13141516171819
20212223242526
2728293031
Uni-Logo
You are here: Home Teaching Summer Term 2019
Document Actions

Summer Term 2019

On this page you find all the courses offered by the chair of Software Engineering in the summer term 2019 as well as respective slides and accompanying exercises.

Softwaretechnik / Software Engineering (Lecture)

Software engineering is "the application of engineering to software" (IEEE 610.12). Goal of this course is to provide a broad overview over the challenges of software engineering and techniques and tools to overcome them. To this end, we will discuss the main activities with software development (in particular project management, requirements engineering, design, testing, formal verification) with an emphasis on formal methods. We will study process models, (software metrics), approaches to requirements specification and analysis, (formal) modeling and analysis techniques, design and architecture patterns, testing, and program verification.

Read More…

Program Verification (Lecture)

Often computers are used in embedded, networked, safety critical applications. The cost of failure is high. In this lecture we introduce the basis of automatic tools for ensuring that a system does not have bad behaviours. In the lecture, we start with a short introduction to propositional logic and first-order reasoning. We then go on to establish a setting for the verification of programs, whose correctness is specified by a kind of program comments. In this setting, the correctness of the program is reduced to the validity of logical formulas. The validity is proven automatically by a new generation of powerful reasoning engines.

Read More…

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.

Read More…

Personal tools