EARLY BIRD 10% to enroll in our Specializing Masters starting in autumn 2021 and spring 2022
  • Product Design

Computational design

Computational Design is a concept in continuous evolution, which defines the application of computational strategies to the design process in its numerous aspects and activities.


In computation, the complexity of the real world is translated into elementary steps that are then reworked as an algorithm, a logical process that can solve specific problems. Combining computational principles with design practice creates a new multidisciplinary area where the conscious use of IT tools and techniques translates into procedures and rules for the project. Adopting the Computational Design approach does not mean becoming an IT expert, but developing the mental processes necessary for the analysis of complex design problems and finding logical and creative solutions capable of promoting efficiency and innovation. Economic, social and cultural changes have accelerated the advent of a digital and globalised society.

The adoption of increasingly powerful and sophisticated modelling software and the advent of digital and robotised manufacturing processes, require designers involved in the fields of Design, Architecture and Engineering, a continuous review of working methods and strategies in order to remain competitive. The continuous process of decoding the real environment following the emergence of ICT’s virtual infrastructure, creates a continuous flow of data that, if properly managed, allows the demands of the project to be articulated in emerging relational structures, capable of transferring characteristics typical of living systems to artifacts, characteristics like the capacity for adaptation, transformation and self-organisation.

Computational Design structures the project from the conception phase to its reification, promoting the redefinition of the relationship between artifact, material and manufacture and experimenting with design scenarios that, in the interpretation of responsiveness and interactivity concepts, integrate adherence to the context and underline the centrality of man


The course is aimed at those who wish to acquire the basic principles of algorithmic modeling and learn the theoretical tools of Computational Design.


Training objectives

The course is aimed at designers, professionals, students and graduates in Architecture, Engineering and Design, who intend to acquire the basic principles of algorithmic modelling and learn the theoretical tools of Computational Design.

Through workshops and frontal teaching modules, the main languages, techniques, tools and programming platforms (Processing, Grasshopper, Firefly, Arduino), their interaction in integrated data management, algorithmic modelling, as well as responsive interaction of study prototypes with the environmental context, will all be addressed during the course.

Didactic Plan

The course will take place from 2020 to 2020 and has a total duration of 160 hours.

Weekly commitment: 5 days/week, for 5 consecutive weeks

Daily commitment: part-time (6 hours/day), with the exception of the last week of the course, where the workshop includes a full-time commitment.

Didactic Modules

Block 1 – Computational design tools and techniques (120 hours), structured in the following modules:

  • Computational Project Theories: The module introduces some of the main aspects and themes of computational design and will be organised in brief groups within the other modules of the teaching block, of which it represents the theoretical portion.
  • Generative Design _ code and programming: The module is offered both as an introduction to programming with the use of the open source Processing environment, and as an introduction to the algorithm concepts applied to the generation and control of 2D and 3D geometric elements (curves and surfaces).
  • Algorithmic Modeling _ algorithms and design: The module aims to introduce the methods and tools of parametric design through Grasshopper, plug-ins in the Rhinoceros environment. The participants will explore the main aspects of algorithmic modelling, useful for experimenting with dynamic and responsive architecture.
  • Responsive morphologies _ Physical Computing and prototyping: The objective of this module is to introduce and further the tools (sensors, microcontrollers and actuators), techniques and methods for the integration of environmental events/stimuli (sound, brightness, movement, etc) into the project. These act as parameters for the design of complex morphologies and their prototyping into responsive systems. The module is operative and will make use of teaching kits and software templates.
  • Interfaces: The aim of the module is to test the different creative possibilities arising from the interaction between programming interfaces and open source physical computing platforms introduced in the previous modules.

Block 2 – Design Workshop // Development of research and presentation of the papers (40 hours).
During the workshop, participants will experiment the tools, techniques, interfaces and programming environments of computational design learned in the first teaching block, in an integrated manner, for algorithmic modelling and physical prototyping of morphologies as well as architectural and design components of a responsive/interactive nature.

Title Released

At the end of the course will be awarded a Certificate of Participation and Open Badge in “Computational design” by

Employment Opportunities

The course aims to train a designer working in the field of Design, Architecture and Engineering, with strategic and instrumental skills for the development and implementation of algorithms and applications to support the project. The added value that this figure is able to provide is not linked to a specific class of software tools, but to the ability to analyse and solve problems of a formal, functional and productive nature through the use of computer applications and the implementation of the necessary work processes.

In solving problems of a formal nature, Computational Designers are able to control the codes with which the computer builds the form, or create new ones suitable for individual design and research experiences, thus freeing themselves from the pre-established procedures of the modelling software on the market.  In defining functional problems, the approach involves the analysis of processes and technologies based on the expected behaviour of a system with respect to its reference context. It is possible to connect digital culture with manufacturing knowledge through the study and hybridisation of electronic devices and digital manufacturing tools. In this way, a new idea of production is outlined, where the creation of artifacts no longer concerns the assembly of a succession of components, but the creation of a digital model studied so that it can directly inform a machine capable of creating it without other intermediaries. This process, which requires the development of specific skills, combines characteristics typical of the industrial world, such as the precision and reproducibility of products, and craftsmanship, from which the process inherited the possibility of making small series and customising them.



The course is aimed at designers, professionals, students and graduates in Architecture, Engineering and Design, who intend to acquire the basic principles of algorithmic modelling and learn the theoretical tools of Computational Design.


BASIC course: € 1500.00 + VAT // ADVANCED course: € 800.00 + VAT.

For students enrolled at Politecnico di Milano degree programs and doctoral students (also from external locations) there is a 20% reduction in the registration fee.


The Faculty is made up of professors from the Politecnico di Milano and experts in computational design.