Creative Computing (Source: ICD/Stuttgart)
The Creative Computing seminar (formerly Associative and Algorithmic Design) proposes a platform-agnostic approach to computational design, where students will develop computational thinking that stays relevant over time at the intersection of architecture and technology. The seminar will introduce the principles of computational design and its role in shaping contemporary architecture. Students will gain an understanding of how computation can augment the creative process in the way one perceives form, the way in which form is used, and the way in which form is produced; empowering architects to explore novel design solutions and optimize their projects for various criteria.
On the technical side, the seminar offers a hands-on experience where participants will develop open-source web browser 3D applications using modern web technology (e.g. JavaScript, React, ThreeJS, WebXR, etc.). They will learn the fundamental concepts of programming and 3D computer graphics, from variables and loops to functions and objects, empowering them to build a strong foundation for creating custom design tools with no dependency on commercial software.
The tutors will guide participants through hands-on tutorials and individual exercises in the first half of the semester. With the knowledge gained, students will advance to develop custom 3D applications tailored explicitly for architecture and design purposes as group projects in the second half of the semester.
By the end of the course, students will have honed their coding abilities, gained a profound comprehension of how code can be used to generate, manipulate, and evaluate architectural design forms. As the final outcome, a series of functional open-source web applications tailored for architecture and design will be exhibited at K1 and online, where the greater public can access and try their design applications.
The seminar will be conducted in English. Familiarity with 3D modeling and parametric design is preferred. Previous experience with any programming language and scripting is a plus, but not mandatory.
The course will be taught in person. The first half of the seminar will be lectures, tutorials, and individual exercises. The second half of the seminar will be group project development and help-desk sessions.
Associative and Algorithmic Design (Source: ICD/Stuttgart)
Computation profoundly impacts contemporary understandings of architectural form, space, and structure. It shifts the way one perceives form, the way in which form is used, and the way in which form is produced. Some of the broadly used terminologies related to how a design model is constructed are associative and algorithmic design. In the computational design discourse, associative design technique is a methodology that is based not on fixed metric quantities such as traditional design but instead, based on a consistent network of relationships between objects or geometry primitives: the assemblage of objects. In a similar way to that of associative design, developments in scripting have allowed for algorithmic design processes to advance. Algorithmic design is a system that uses sets of instructions to perform certain tasks, for example, to generate a digital model of a structure.
This seminar provides a foundational introduction of associative and algorithmic design for architectural design modeling in an open source visual modelling environment using Python. We will develop custom geometry computation from scratch as well as implementing available geometry kernels such as Rhinocommon (Please note: for this purpose, access to Rhino 7 is a must).
Students have the opportunity to enhance their knowledge about geometric modeling and algorithms both in regards to practically gaining the related scripting skills and theoretically understanding relevant aspects of form generation and related mathematical and computer science principles. Based on the investigation of the related mathematics and programming paradigm, relatively simple algorithms will be developed to produce complex systems within an architectural context.
Computational Design Techniques and Design Thinking (Source: ICD/Stuttgart)
“An algorithm is a finite sequence of explicit, elementary instructions described in an exact, complete yet general manner”. The application and execution of algorithms on a computer happens through programming languages, which enable computing procedure. This is a fundamental property of computation as a technical achievement, but also as a theoretical framework for design. Computation has a profound impact on a contemporary understanding of architectural form, space and structure. It shifts the way one perceives form, the way in which form is purposed, and the way in which form is produced. The fundamental concepts which underlie computational theory and techniques expose form as a subsidiary component of environment, and environment as a complex web of influences.
This seminar will investigate the potentials of algorithmic procedures for architectural design. It will provide an opportunity for the students to enhance their knowledge of algorithms by developing practical scripting skills, understanding theoretically relevant aspects of form generation and exploring mathematical principles underlying patterns in the physical world. Based on the investigation of related mathematics, relatively simple algorithms will be developed to produce complex systems within an architectural context.
Site sous licence Creative Commons BY-NC-ND v4.0 : Milovann Yanatchkov