Introduction to Computational Design

#GSD6338 is an introductory course on Computational Design, with a particular focus on architecture, landscape and urbanism.
In this course, we will understand "Computational Design" as the set of methods borrowed from fields such as computer science, mathematics, and geometry, applied to solving design problems. Chances are that a significant portion of your typical design workflow is mediated by digital tools and, in particular, computer software that has been designed and created by a third party, and therefore, your creativity is partially biased by someone else's opinions. However, the real craftsman is the one who understands their tools so well that they can change, improve and adapt them to their own desires. In this course, you will learn how to think algorithmically, and how to understand and create computer software, so that you will be able to explore new creative opportunities and relate them to your personal interests.

The course will be conducted as a mix of lectures, hands-on workshops and sections that will introduce you to the conceptual and technical foundations of Computational Design.  Coursework will be a blend of focused technical exercises and open-ended assignments, culminating in a final project of your choice at the end of the semester.

Basic knowledge of Grasshopper is strongly desired although not required; if you feel you do not meet this requirement, you will be required the first week to follow a series of tutorials and complete a small exercise. Additionally, previous knowledge of computer programming is NOT required; this is part of what you will learn in this course.

If you are interested in getting a better glimpse of what the course will look like, you can check previous years' lectures on Additionally, you can also check work by course alumni on