Design Computation

Introduction to Design Computation

Arch 2226a/b
Yale School of Architecture
Spring 2011
William Martin
TA. Christopher Connock

Course Description

The capabilities and limitations of architects’ tools influence directly the spaces architects design. Computational machines, tools once considered only more efficient versions of paper-based media, have a demonstrated potential beyond mere imitation. This potential is revealed through design computation, the creative application of the processes and reasoning underlying all digital technology, from e-mail to artificial intelligence.

Just as geometry is fundamental to drawing, computation affords a fundamental understanding of how data works, which is essential to understanding and advancing the development of BIM, performative design, and other emerging methodologies. This course presents computation as a means of description, a means of modeling architecture, process, and form in a semantically rich way, and a means to produce design media and languages customized for to particular architectural problem.

Computation enables architects to operate exempt from limitations of generalized commercial software; to devise problem-specific tools, techniques, and workflows; to control the growing complexities of contemporary architectural design; and to explore forms generated only by computation itself.

Topics include data manipulation and translation, algorithms, information visualization, computational geometry, human-computer interaction, custom tooling, generative form-finding, emergent behavior, simulation, and system modeling. Using Processing, students develop computational toolsets and models through short, directed assignments ultimately comprising a unified, term-long project.

Course Materials

  1. Modules
  2. Units
  3. Schedule
  4. Students
  5. Homework Instructions


Processing: A Programming Handbook for Visual Designers and Artists
Casey Reas and Ben Fry
Massachusetts Institute of Technology, 2007.


  1. Processing
  2. MIT Media Lab