Teaching
Our research work is characterized by responsibility and transparency. Therefore, in addition to our science communication activities, that make our research accessible to a broad public, we are also committed to teaching. We see teaching as an integral part of academic activity and want to share our knowledge with the next generation of scientists. The interaction that arises continually gives our research new impulses and the opportunity for reflection. We owe this productive combination of research and teaching to the dedicated teaching activities of some of our scientists and the close networking with the Technische Universität Dresden.
Physical Design (English only)
Physical design is an integral part of development of digital hardware. The content taught in this course will help the students to plan and execute implementations of systems like processors, advanced VLSI systems design and physical layers of communications.
Foundations of Certified Programming Language and Compiler Design
In this lecture, we study the foundations of formal verification. In formal verification, the compiler is augmented with a theorem prover that assists the programmer to develop mathematical proofs for important properties of the program. We give an introduction to formally verified software development with special focus on programming language and compiler construction and teach the deep connections between logic and type systems that are required to prove programs correct.
Distributed Operating Systems
The Distributed Operating Systems lecture continues and consolidates the topics of the basic course Operating Systems and Security. It is particularly focused on presenting a balanced combination of distributed systems in-use as well as research projects and their underlying construction principles.
Microkernel Construction
This lecture focuses on current developments in the area of 2nd generation microkernels. After introducing microkernel-based operating systems in general, it dives into the construction of the microkernel itself by looking at the design of, e.g., interprocess communication, threads, and address spaces. The exercises provide hands-on experience by allowing students to hack on a stripped-down microkernel. Finally, the lecture presents multiple case studies of microkernels used in academia and industry.
Microkernel-based Operating Systems
This lecture introduces various aspects and concepts regarding the construction and implementation of microkernel-based operating system. In the first part, we introduce fundamental mechanisms that are required for efficient construction of an operating system on top of a microkernel. In the second part of the lecture, we show you real systems that have been built using these concepts. While strongly focussing on the microkernel work done at TU Dresden, we also take a look at alternatives.
Student Research Projects and Theses
In cooperation with the chairs for operating systems and compiler construction at TU Dresden, researcher of the Barkhausen Institute also supervise internships, student research projects, and theses. Using knowledge from the lectures above, students have the opportunity to work on current research topics. Inquiries about possible topics can be sent to Dr. Michael Roitzsch (michael.roitzsch@barkhauseninstitut.org).