Teaching#
Below is a list of the courses I gave at several universities. I like the idea of open access, so I've created a public reader for most of the courses. The early ones contain more technical information, now I'm focusing more on providing ressources and a mindset for our design and use of technology and its effects.
TXT BEYOND CTRL
Experimental writing in the context of electronic media#
Summer 25
University of Art and Design Offenbach
Together with Natalie Wilke
Text in the context of electronic media and digital art is not just accompanying material, but an integral component and can take on many different forms in the artistic work. Text can serve as artistic material intrinsic to the work or become a conceptual tool for writing about one's own working methods. What specific potential does this hold for one's own artistic work or for writing about it?
We want to develop these possibilities together through experimental writing exercises and theoretical impulses and make them usable for individual student projects in a needs-oriented way.
In four seminar units, we will get to know artistic positions at the intersection between text and electronic media, apply writing exercises and approach writing about and in our own artistic work in order to work out its strengths. Here in particular, it can be worthwhile to intentionally relinquish agency and thus control.
Experimental AI Lab#
Summer 25
University of Art and Design Offenbach
Together with Leon-Etienne Kühr
Reader (Will be updated during the seminar.)
AI systems have become deeply embedded in our everyday lives and are increasingly shaping our ideas of society, the world and ourselves. We want to experience and reflect on this ongoing process of AI-based worlding, shaped by data colonialism and generated/generating world models, through artistic research and aesthetic experiments.
The aim of the course is a deeper exploration of AI technologies. To this end, in the first half of the course we will get to know various technologies together in workshops and explore them experimentally. The second half of the course is dedicated to the individual development of a project based on the workshops, which can ideally be shown during the Rundgang at the AI Lab. In the workshops we will deal with tokens and prompting, LLMs, fine-tuning, chatbots and interfaces, image generation and embeddings, video generation, etc.
(Un-)Creative Coding with Python#
Summer 25
University of Art and Design Offenbach
Together with Leon-Etienne Kühr
Reader (Will be updated during the seminar.)
»(Un-)Creative Coding with Python« teaches programming skills with Python from the ground up. This easy-to-learn general purpose programming language is used in many areas from image processing, parametric design to web scraping, data processing and machine learning. Python can be used to write stand-alone programs, but it can also be used as a scripting language to extend the functions of many software applications (Blender, Grasshopper, Touchdesigner, etc.).
We start with the installation and setup of a code editor before working on the following aspects using code examples and programming tasks: Syntax, variables, data types, functions, loops, control structures, input/output of data/media, external libraries.
Text Synthesizer. Playing with Language.#
Winter 24/25
University of Art and Design Offenbach
Together with Leon-Etienne Kühr
In the course "Text Synthesizer. Playing with Language" we develop different synthesizers to generate texts. We start with the use of Python libraries to analyze language in order to generate texts. We calculate with words in the form of word embeddings. We use Large Language Models (LLM) to generate code, but also literature. We personalize LLMs through system prompts and template designs. We experiment with image-to-text models to write text from images. We translate texts into speech with text-to-speech models. Following these workshops, we will use the last weeks of the semester to individually develop our own text synthesizer, experimental/literary text or song(text).
Generating Surveillance | from vision to synthesis#
Winter 24/25
University of Art and Design Offenbach
Together with Leon-Etienne Kühr
The ability to generate images or even videos is closely linked to the tasks of machine vision. In the course “Generating Surveillance | from vision to synthesis” we want to understand this step from seeing to generating through practical exercises in python. Starting from existing video material, we will use computer vision methods such as classification, segmentation, mask generation, object recognition and the creation of image descriptions to modify existing moving images or create completely new compositions. On this basis, we combine generative AI with these techniques to replace subjects and objects, generate new frames or manipulate existing images. In addition to the practical exercises, we will deal with topics such as anti-surveillance art, activism and the problem of deep fakes. We will shed light on questions of privacy and how our everyday data - for example through social media, smartphones or public cameras - unconsciously end up in training data sets for AI systems. The aim of the course is to develop your own small program that automatically generates a video and is presented as part of an AI evening.
Creating and Subjugation with AI#
Summer 24
University of Art and Design Offenbach
Together with Leon-Etienne Kühr
We have all interacted with AI in some form or another. On the one hand in everyday life, but also in our artistic/design processes - be it in direct work with AI models or via AI functions in consumer software such as image editing programs. In this course, we will explore the integration of AI tools into the individual creation process and analyze it in terms of its agency. The starting point is the consideration that design always includes subjection.
In the first sessions, we will look for AI tools suitable for our own artistic/design practice. We will then integrate these into our own practice over the course of the semester. In doing so, we will specifically observe design and subjection: Where do I design with the tool, where do I subjugate myself to the tool's design? The work on the reflective level will be supported by theoretical input from the fields of technology philosophy, media theory and aesthetics.
Rohrbruch — AI Pipelining#
Summer 24
University of Art and Design Offenbach
Together with Leon-Etienne Kühr
Current generative AI systems appear to us as black boxes with clearly defined inputs and outputs. Within a few seconds, a text becomes a completely different text, an image or even a video and, conversely, there are systems that can describe images, texts and videos in natural language. However, if you take a closer look at these systems, these supposed black boxes reveal themselves as complex pipelines of different models and algorithms, which only become what we find as AI as a service in web interfaces or as an integrated component of design tools through carefully coordinated interaction. Each component of these pipelines uses its own inputs and outputs and brings with it its own socio-cultural distortions and biases, the origin of which is often lost in the complexity of the systems.
In the Rohrbruch course, these pipelines will be examined, disassembled and reassembled in new configurations using the python programming language. In practical exercises, we will experimentally approach questions such as "What do two chatbots talk about?" or "What images are created when an image generator is confronted with its own outputs?". Away from experimental practice, we will critically examine the origins of data sets, models and algorithms and work together to develop a critical capacity towards the academic and capitalist ecosystems and stochastic world views on which these AI systems are based.
Futuring Machines. Co-Writing Fictions With Generative AI#
Summer 24
Bauhaus-Universität Weimar
Sustainable, resilient societies require a critical examination of possible futures. »Futuring Machines« is an interdisciplinary and practice-oriented project that explores the potential of large language models as thought-provoking tools for writing future scenarios. In this student project, we are collaborating with students of Computer Science and Human-Computer Interaction from the Faculty of Media. Together we'll develop, use and evaluate a web-based writing environment, that serves as a co-author of imaginations about the future.
Our task will be to write (literary) texts like short stories or dialoges together with this tool and to give feedback to the other students to help developing the tool. For that we'll work in interdisciplinary teams and meet for weekly presentations and discussions. The texts will be presented in print or as a lecture during the Summaery. In addition, a publication of the overall research project is planned, in which the written texts may be included. Thus it's essential that you are interested in writing (and reading).
Coding Works#
Summer 24
Bauhaus-Universität Weimar
»Coding Works« provides technical support for code-based projects, which will be shown at the annual exhibition.
Topics:
- Selection of suitable software and hardware
- Create a task list and schedule
- Divide tasks in subtasks
- Technical drawings/ diagrams
- Technical documentation
Adaptiveness#
Winter 23/24
Bauhaus-Universität Weimar
The course »Adaptiveness« deals with the basics of programming for artists and designers. The focus is on the term »Adaptiveness«. This means for example variable code, modifiability and (machine) learning ability. Our interest will be not only the code in itself, but also the interaction with/of code.
During the course we will get inspiration from theoretical positions (Cybernetics, Gilbert Simondon’s »Technical Activity«, Karen Barad’s »Agential Realism«, Friedrich von Borries’ »Weltentwerfen«, Daoism and Zen Buddhism). This will help us to develop a mindset for programming and interactions/intra-actions with machines. The thematic focus is on agency, authorship, open source and of course adaption.
pyfyi (Python For Your Interest)#
Summer 23
Bauhaus-Universität Weimar
The module »pyfyi (Python For Your Interest)« teaches the basics of programming for artists and designers using the universal programming language Python. After a short general introduction to programming, a range of concrete applications is presented: Data Visualization, Physical Computing, Generative Art & Design, Poetry, Working with Images, Web Applications, Scripting in Blender, Glyphs or TouchDesigner….
Syntax Error#
Summer 23
Bauhaus-Universität Weimar
Together with Marcel Saidov
During the project »Syntax Error« we will deal with the basic properties of shapes, generative shapes and their typographic interpretation. Based on the investigation and development of programs and systems, we will analyze shape languages in their relationships of proportion, regularities and potential ways of combination, in order to be able to typographically contextualize our own shape syntax. This will result in a visual analysis, study and interpretation of shapes, which deals with an individual topic. To generate the shapes we will work with the universal programming language Python and develop our own rule-based systems. We will learn the basics of programming for this in the course of the seminar.
Design and Subjugation (with AI) [Entwerfen und Unterwerfen (mit KI)]#
Summer 23
Guest lecturer at Hochschule Darmstadt - Fachbereich Gestaltung
Seminar together with Frank Philippin and Rade Matic
We will use the tools of generative design to create a book, a poster series or similar. We will learn the basics of programming with the universal programming language Python. This also enables us to integrate AI tools into our code if required. Our practical work is complemented by an examination of existing work in the fields of generative design and machine learning. Based on short theoretical inputs and our own experiences in dealing with our machines, we will talk about our relationship with these machine co-authors.
Automate yourself!#
Winter 22/23
Bauhaus-Universität Weimar
The goal of the project is to design, program and reflect on a (simple) personal assistant.
At the beginning we will look at exemplary assistants and different tools that could be useful for our own assistant. In parallel, we will make experiments with code and work on the conception of our own assistant before we focus on programming it. The tools and the form are freely selectable, e.g. a script, a (chat) bot, a website, a desktop or mobile app or a programmed microcontroller. So we don't all follow a manual, but each person develops his:her own project. The central questions are: What should my assistant do? How do I have to program it? How do we interact with each other? How does this change me or us?
Narrate (yourself) with Code#
Winter 22/23
Bauhaus-Universität Weimar
Narratives form an important part of our identity, the narrative of our own life takes a central part in it. In the seminar we will transfer aspects of ourselves to data/code and thereby narrate - to ourselves and others through a website. For this we will learn and use the basics of HTML, CSS and JavaScript. In parallel we will read Max Frisch »Schwarzes Quadrat. Zwei Poetikvorlesungen«.
The course is an introduction to writing websites, i.e. the technical implementation of your own designs. It addresses students without previous knowledge in these fields.
Ghostwriter#
Summer 22
Bauhaus-Universität Weimar
»The lazy programmer jumps over the quick brown fox jumps over the lazy programmer jumps over the fire fox.«
We will generate this and more exciting texts in the seminar »Ghostwriter« by means of code. Sample texts: Screenplay, Concept for a work of art, Digital poetry, Invented words, Advertising slogans, Shopping list, Pop song, Theory, Code.
Most text generation processes use existing text as material for new text. In the course of the seminar, everyone will create/download their own body of text to be used as the basis for new text. The goal is to write (program) a machine author and use it to generate texts. In addition to our own production, we will look at works from the field of digital/electronic literature and, in accordance with the title, also discuss authorship.
Mapping#
Summer 22
Bauhaus-Universität Weimar
"Mapping (Moving) Image Data" is an introduction to programming for artists and designers. Mapping here refers to the cognitive method of transferring from one to another (cf. analogy). Programming, digital processes, artificial intelligence (but also biological (artificial) intelligence) are full of mappings. These should help us to grasp programming mentally. But beyond that, we also want to realize our own program-driven mappings. Using p5.js, Processing and Python we will modify images (static and moving) based on mappings: Pixel-level image processing, image generation based on a set of rules, classification of images, sound-driven (moving) images.
AI as »creative partner«#
Winter 21/22
Guest lecturer at University of Art and Design Offenbach in the department of Electronic Media.
We will get an overview of the current use of AI in art (with excursions into design). At the center of our investigation is the relationship between us and our machines. Where is it only about the machine implementation of our ideas, where do we engage with the otherness of the machines and what do successful collaborations look like? We don't just want to look at this from the outside, but also look inside the code and write code ourselves. This can result in aesthetically exciting artifacts, but the focus is on a technical and reflective relationship to AI and the question of what we want to do from and with AI.
Programming Books with Python#
Winter 21/22
Bauhaus-Universität Weimar
Why program a book? It is probably not the first object associated with programming. But it is possible. We will learn about possibilities of programming and its influence on our design in this general introduction to programming. The language Python will be used. This is simple and universal, i.e. many different applications can be written with it. We will learn how to think in terms of programmable actions, how to break these actions down into smaller actions, how to read code as text, and how to imagine and execute it as a program.
The objective of this basic course, in addition to learning general programming skills, is to create an individual book (to present images, text, graphics, fonts) using programmed layout/ typesetting/ content.
Writing an own website#
Winter 21/22
Bauhaus-Universität Weimar
Through templates and the use of CMS, the individual expression possibilities dwindle and most websites resemble each other. In this seminar we »write« websites using codes (HTML, CSS, JavaScript). The learned basics will be applied in an individual project, e.g. in the form of a portfolio page, an experimental website or a well-defined web-based business card.
In addition to our own practice, we will look at different websites in terms of both their design and their technical implementation. We will touch upon the aforementioned development from individual to standardized websites by means of some theoretical positions.
Biotext#
Summer 21
KHM Cologne
Together with Georg Trogemann and Christian Heck
"Biotext" is a continuation of the seminars "Codichte: experiments with cognitive systems" and "Introduction to Programming Text Generators" from the winter semester. (The past seminars are not a prerequisite for participation.) While in "Codichte" we stayed mostly within text systems, in "Biotext" we deal with the embedding of text in the environment. But it is also conversely about the integration of non-human and non-machine authors (other organisms, phenomena, natural processes) into text production, i.e. the exchange between text and environment in both directions.
Some examples from art: inscribing Wikipedia into the cells of apples, worms connected to a typewriter, freelancing cows, self-governing forests, or vacuuming robots with the movement behavior of zoo animals.
Codichte#
Winter 20/21
KHM Cologne
Together with Georg Trogemann and Christian Heck
Through technology we expand our cognitive abilities. We try to inscribe our experiences, abilities and actions into machine cognitive systems. But as soon as we use them, they inscribe themselves into our experiences and thus into us. In the seminar we experiment with non-human cognition and all-too-human writing techniques, with possibility spaces of texts from the Library of Babel and algorithmic decision making through neural thought vectors, and with language hacking, machine poetry and poetry machines.
The seminar focuses on characters, words and texts. Artificial Intelligences can do nothing else, they are nothing else. The material they process are symbols and texts. They themselves are also nothing but symbols and texts. Sense and meaning, conclusions and consequences, all that follows from the text, i.e. their embedding in the world, belongs to the context from this perspective.
Both modernist poetry and modern neuroscience discovered the synaptic space at the beginning of the 20th century. The syntax of our formal technical languages (Artificial Neural Networks) thus entered a new millennium hand in hand with early poetic language techniques and experiments.
Although Artificial Neural Networks are not the focus of our discussion in this seminar, we consider them – albeit in a larger context – as a cognitive system among other cognitive systems. Since we will go deeper into the syntactic and semantic spaces of these cognitive systems in individual sessions, programming skills are helpful but not required to participate in the seminar.
Programming text generators#
Winter 20/21
KHM Cologne
Together with Georg Trogemann and Christian Heck
The generation of text by means of Deep Neural Nets (NLG) is currently spreading rapidly in a wide variety of areas. Among other things, text-based dialogue systems such as chatbots, assistance systems (Alexa/Siri) or robot journalism are increasingly being used in news portals, e-commerce, social media, health and logistics. Everywhere where context-based, natural language or reader-friendly texts are to be generated from structured data.
Deep writing techniques have also found their way into the arts and literature with the help of models such as ELMo (Embeddings from Language Models), BERT (Bidirectional Encoder Representations from Transformers) or GPT-2 (Generative Pre-Training Transformer). The latter was described last year as the most powerful and dangerous AI to date, so the OpenAI developer platform kept the code closed for the time being due to concerns about possible misuse (fake news on the fly, etc.). In the meantime, it is open and, as it turned out, not quite so dangerous after all.
While we will deal with these developments and our handling of the resulting artefacts in the technical seminar "Codichte – Experiments with Cognitive Systems", the focus of this basic seminar is on programming. The aim is that at the end, each student will have produced (a) text based on one of the neural language models mentioned above. Whether poem, prose, novel, essay, manifesto, shopping list, social bot, vita or new programming code.
In this seminar, you will learn from us how to generate texts on the basis of data sets (text corpora). There are many freely accessible datasets, but since our aim is to lay the foundation for our own artistic projects, it is advisable to bring your own dataset, depending on your interests. This could be, for example, the digitised work of an author, one's own email inbox, posts on social media, law book, one's own texts, bible, study regulations, etc.