The seminar focuses on computational thinking and logic to design assembly/growth processes.


 Image Credits: Andrea Graziano


The seminar will focus on computational thinking and logic to design assembly/growth processes, investigated through iterative algorithmic strategies starting from elementary spatial building blocks. The designed building blocks will be treated as basic units of computation, able to store and compute data due to their topological and spatial-geometric qualities. Assemblages are thus seen as coherent organizations able to store and process information. Starting from an initial element and position, the growth process will be driven by internal and external conditions which limit and enhance the growth structure and system qualities. The final aggregation is then investigated through the constructability and robotic automation assembly lenses filtering some key information and data that can be used for further robotic explorations. 


The seminar will explore the dual geometric/topological computing nature of spatial systems, using basic iterative logics explored through Grasshopper and the Anemone plug-in. 


 Image Credits: Andrea Graziano


Learning Objectives 

At course completion the student will:

  • understand the concept of computation and the difference between computational and computerized in the design process;
  • learn and reinforce computational thinking logic;
  • understand the basics of non-linear and iterative processes and learn how to use iterative tools and to manage data structure complexity;
  • learn how to create algorithmic strategies to approach assemblages, and not only, design explorations;
  • be able to encode/decode data into/from geometry and exploit its spatial-topological structure to support design strategies.
  • be able to encode information & constraints for further numerically controlled tools for fabrication




Projects from this course

Voxel Assemblage

Abstract The main objective of the Software I seminar was to engage in computational logics and growth assemblages using voxels as its main geometrical component. The logic utilizes algorithms and visual programming in Grasshopper and Loops using Anemone Plugin. By definition, an assemblage is the process of combining individual components or parts to generate a … Read more

Investigating Computed Forms

Overview This project explores the complexity that can be derived from the interactions between a small number of simple components and assembly instructions using Anemone. Connection faces were assigned for simple components consisting of less that 10 voxels and basic assembly instructions were designated using Anemone. Selection of connection faces was based on the subsequent … Read more

Generative Assemblages

This project focuses on generative assemblages made out of multiple identical modules. The design of the component and the iterative logic will influence the final assemblage. At first the focus lies on the design of the component and the connection points between each of them without adding occlusion. This results in a random growth that … Read more

Assemblage I.0

Assemblage is a design strategy that depend sin its methodology on computational thinking and following an iterative logic of design to achieve a growth of an accumulative design process. The design is based on designing different building blocks that follows a voxel shaped boxes that grow based on a computational design logic of different iterations … Read more

Permutation Growth

Abstract The introductory course of Software I focuses on the computational logic for assamblage and growth processes guided by algorythms. For starting, voxels were created as basic units and then joined to create a basic element geometry. By using Grasshopper and Anemone plug-in, different growth assamblages were established depending on the element’s position and starting … Read more

Computational Logic for Iterative Processes

The seminar mainly focused on the computational thinking and logic to design assemblages using iterative algorithmic strategies starting from a single module made out of basic cubes. The designed module was treated as the basic unit of computation, able to store and compute data. Starting from this initial element and position, the growth process was … Read more