Below is a list of the courses I gave at several universities, mainly and currently at Bauhaus-University Weimar. 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.
Futuring Machines. Co-Writing Fictions With Generative AI#
Description coming soon.
»Coding Works« provides technical support for code-based projects, which will be shown at the annual exhibition.
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)#
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….
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)]#
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.
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#
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.
»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 (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«#
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#
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#
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.
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.
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#
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.