Learning Objectives
Students learn to use code as a design medium and to reflect on it critically: They design using algorithms, they use generative and deconstructive-critical imaging methods and reflect on these in presentations and in written statements. Analysis and discussion of works of computer and media art enable students to understand various strategies, tackle questions of computer aesthetics and techniques and to apply these strategies in relation to the focus of their studies.
By creating generative visualizations with the help of JavaScript, p5.js and other libraries, students learn to implement ideas prototypically and develop them iteratively. They learn the basics of HTML5 and present their entire process in a web-based portfolio.
The module promotes an understanding of coding as a craft, and as a reflective, caring activity that is practiced and shared in collaboration. Students learn to work effectively in a team, share ideas, assign roles and work together on projects to achieve common goals. They learn to document projects appropriately and to present them clearly and convincingly to inform and inspire others. Therefore, the outcomes are developed during group work and peer teaching. Individual learning protocols document the reflection of one's own work process.
Content
We will explore coding in a playful, collaborative way to generate visuals – experimentation and allowing for chance will be part of this process. Different sprints will guide our curiosity, each involving learning about historical and theoretical contexts from early computer art, generative design, net art and algorithmic design.
In Sprint 1 we are inspired by the concepts and aesthetics of the broader field of early computer art (Vera Molnár, Bridget Riley, John Whitney, Lillian F. Schwartz and others) and reinterpret these works using contemporary techniques. We gain technical, aesthetic, conceptual and analytical knowledge.
In Sprint 2, we look at how digital devices are 'scripted' to encourage certain interactions while excluding or making others invisible. Technically, we could interact with our devices in many ways, but cultural norms and design choices limit these possibilities. We look at works and strategies by Lauren McCarthy, Yehwan Song, Rafaël Rozendaal and others and design a series of speculative, artistic, intervening settings in which we use critique, interaction, camera, gyroscope, microphone and machine learning to reflect on our interactions.
In Sprint 3, each group immerses itself into a selected project from the previous two sprints and works on how it can be performed or presented at the final festival.
For each sprint work groups alternate. The focus is on building the ability to prototype quickly to test and iteratively improve ideas, with an emphasis on experimentation. Collaboration is important here as well - coding as craft and as a caring activity. Basic programming concepts are taught practically and with reference to topics from art, design and computer aesthetics. Work is carried out in particular in the relevant technologies such as JavaScript and p5.js. The entire process is reflected upon in individual portfolios, documented and published on a web platform.
Course language
English
Lecturers
Hanna Züllig, Stefanie Bräuer, Yann Martin and other lecturers