Digital Media: Algorithmic Problems: Grasshopper as Medium
Grasshopper has become the design tech world’s second favorite idiom — after Python anyway. Incidentally, it has also become the design tech world’s answer to ‘broken English’: a seemingly easy, go-to language spoken effectively by billions of people, albeit with scant regard for its intrinsic depth, rigor, or idiosyncrasies.
Its relative ease of use and commensurate popularity have only exacerbated this paradox. The more people adopt it, the less it is understood. The course will challenge this paradox and explore Grasshopper’s algorithmic complexity on its own merit.
Focusing on this most ubiquitous of media may seem like an odd choice at first. Since nearly everyone uses it in some form, Grasshopper is usually taken for granted. In practice, however, while the low bar of entry and ease with which it delivers basic results have led to its widespread adoption as the lingua franca of design and computation, Grasshopper has become the victim of its own success. As the scripting language of choice in fields as disparate as architecture, thermal analysis, robotics, fashion design, and machine learning, Grasshopper is inevitably framed as the lowly enabler of far loftier endeavors, the lowest common denominator of computational design thinking, the plumbing underneath –best dealt with in technical workshops and evening tutorials.
This perception is a misunderstanding as a matter of course. With its stark syntactic differences with most other computer languages (one of which is gradually subsuming) and intricate, multi-layered data structures, Grasshopper is nothing if not a complex environment that demands exclusive attention to deliver its full potential. That is the ambition of the course.
The syllabus is based on weekly lectures and applied workshops and is generally geared towards dispensing core technical knowledge suitable for use in core and option studios, as well as in advanced computational courses, such as are currently on offer across the GSD.
The schedule is divided into two main sections on either side of the midterm week (March 26, 2024).
The first section explores the syntax of geometry, with an emphasis on computational and mathematical instruments such as ranges, domains, parameters, and data structures. This part of the course combines (possibly) familiar Grasshopper strategies with decidedly unfamiliar morphogenetic models based on the instructor’s previous offering (VIS 2227 Writing Form, 2017-24). Topics include parametric 3D modelling, procedural tessellation, image processing, and more.
The second half of the course offers a critical introduction to Grasshopper’s essential role as a gateway to complex third-party applications for physical and environmental analysis. Topics will include mechanics/kinematics, environmental performance, and strategies of optimization. This part brings together well-known plugins with the elaborate data structures explored during the first half of the course.