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


Photo credit: Andrea Graziano

The seminar will focus on the 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 spatio-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.


Learning Objectives

At course completion the student will:

  • understand the concept of computation and the difference between computational and computerised 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


#computation #computationalthinking #assemblages #iterativeprocesses #design #iformation #data #logic


Faculty Assistants

Projects from this course

Computational logic in iterative processes

Computational logic in iterative processes is a fundamental concept in computer science and programming. It involves using logical reasoning and decision-making within the context of loops or repeated operations. Iterative processes are commonly used to perform tasks that require the same or similar computations to be executed multiple times. Iterative processes are at the heart … Read more

Biomorphic Stacking

This project explores the computational logic and thinking to design an iterative growth algorithm that enforces specific filters and rules of selection to inform the assemblage of simple building blocks.In Grasshopper the Anemone plug-in is used as the tool to iterate over the computational logic, informing how the geometry will behave within the digital environment … Read more

Computational Logic for Iterative Processes

The introductory software course emphasizes computational logic, focusing on the assembly and growth processes in design, navigated meticulously by grasshopper algorithms. Voxels are introduced as fundamental units, which, when combined and altered, form a complex system of geometric structures. Using plugins like Anemone which allow loops to occur we are easily able to create permutations … Read more

Iterative Growth Assemblages

In Software I, we explored computational logic with a focus on iterative processes. Using voxels (short for volume elements), we created collections of geometric elements using the Grasshopper and Anemone plugins. The goal of the seminar was to gain a deeper understanding of iterative processes and computational logic. Specifically, we focused on creating voxel-based shapes … Read more



This project revolved around utilising computational thinking and logical principles for crafting assembly and growth processes. This exploration involved using iterative algorithmic approaches, commencing with essential spatial building components. We have designed a few essential components in the form of voxels that served as fundamental computational units, having the capability to both store and process … Read more

Computational Logic for Generative Design

The project focuses on generative assemblies comprised of multiple identical modules. It is crucial to design the shape of the components and the connection points between each of them, as well as not to add occlusions. Components will grow randomly depending on the shape as well as the location of the connection points. The design … Read more