Teaching Experience

Unconventional Computing: Nanotech and Biochips (2024)

Graduate course, University of Bremen, 2024

Does bit information have to be encoded in electrical currents, or can we use something else? How about the states of magnetic nanoparticles, arrangements of crystal lattice defects, or polarizations of individual molecules? This course delves into the principles of nanoscale computing at the edge of Moore’s Law, where conventional paradigms are reimagined. Additionally, we take a look beyond Moore’s Law to investigate the cutting-edge domain of biochips, devices that revolutionize biological and chemical analysis through microfluidic technology. Students gain insights into the fabrication, application, and potential of these technologies, and will discuss everything from algorithms to ethical implications, while gathering hands-on experience with state-of-the-art tools in the domain. Read more

Logic Synthesis and Physical Design (2024)

Graduate course, University of Bremen, 2024

Modern computer chips consist of billions of transistors, making them some of the most complex systems ever created by humans. How does one design such intricate architectures? The answer is algorithms developed and fine-tuned over decades. In this course, students learn about the techniques that automatically obtain computer chip designs from specifications. To this end, we explore logic synthesis and optimization as well as partitioning, floorplanning, placement, and routing. Many of these algorithms are meta-heuristics that can be applied in completely different fields, too, like resource allocation, city planning, logistics, compilers, etc. Additionally, students gather hands-on experience with state-of-the-art tools in logic synthesis and physical design, with the opportunity to participate in an international contest. Read more

Seminar: Computational Nanotechnologies (2024)

Graduate course, University of Bremen, 2024

“Moore’s Law is dead.” We keep hearing that the scaling process of modern processors is already behind the famous prediction by several generations. Is it not time then to look for alternatives to conventional transistors that enable us to break free of the restrictions CMOS technologies are imposing? A plethora of candidates has been proposed by interdisciplinary teams over the decades. Most failed due to monetary, technical, or scalability issues. In this seminar, students have the opportunity to look into a realm of (still) promising contestants for the crown of a post-CMOS era of computation: Nanotechnology. Among others, this domain offers Silicon Dangling Bond Logic, Photonics, Spintronics, Memristors, Quantum-dot Cellular Automata, and many more. Literature for topics of interest is provided. Students will conduct a programming project and write a report, on which they give a presentation. Read more

Introduction to Emerging Technologies (2023 – 2024)

Undergraduate course, Technical University of Munich, School of Computation, Information and Technology, 2023

Computer technologies will change in the near future. The exponential growth of conventional technologies (according to Moore’s Law) will come to a halt, since physical boundaries will be reached soon. At the same time, further system concepts beyond pure electronics emerge. As a consequence, researchers and engineers are currently considering alternative (emerging) computer technologies which work differently to established (conventional) computation paradigms. Examples include quantum computing, reversible circuits, microfluidic devices (also known as Labs-on-a-Chip), or field-coupled nanotechnologies. This module provided an overview of these technologies and the corresponding paradigms. We covered an introduction into the respective concepts as well as possible applications. Also, questions of how to efficiently design applications/solutions for these technologies were discussed. Read more

Tutor for Technical Computer Science 1 (2014 – 2021)

Undergraduate course, University of Bremen, Faculty of Mathematics and Computer Science, 2014

Second-semester class about computer architecture and embedded systems. Over the course of the semester, the students learn about how CPUs, caches, RAMs, hard drives, and video cards work. Furthermore, theoretical basics about Boolean Algebra, Logic Synthesis, Graph Theory (for distributed computer topologies), and graph-based function representations (BDDs) are taught. More practical examples include assembly and FPGA programming. Read more

Tutor for Practical Computer Science 1 (2013 – 2014)

Undergraduate course, University of Bremen, Faculty of Mathematics and Computer Science, 2013

First-semester class about programming basics using Java. Over the course of the semester, the students learn about algorithms and data structures as well as object-oriented programming. This includes but is not limited to syntax and semantics of Java, sorting and hashing algorithms, complexity analysis, lists and stacks, and parallel computing. Read more