As architecture enters the new era of digital representation, geometrical theories and processes are being implemented, tested, and pushed to their limits. Recent theories of form in architecture have focused on computational methods of formal exploration and expression. From topological geometry and hypersurfaces to blobs and folds, there is a clear tendency to seek and explore formal properties as sources of ordering systems. For the last two decades, designers have been concerned with the use of computational mechanisms for the exploration of formal systems. These practices have attempted to readdress formal issues using new techniques and methods. Computational tools are central protagonists in this exploration. The dominant mode of utilizing computers in architecture today is that of computerization; entities or processes that are already conceptualized in the designer\'s mind are entered, manipulated, or stored on a computer system. In contrast, computation or computing, as a computer-based design tool, is generally limited. While research and development of software involves extensive computational techniques, mouse-based manipulations of 3D computer models are not necessarily acts of computation. Presently, an alternative choice is being formulated: algorithmic architecture. It involves the designation of software programs to generate space and form from the rule-based logic inherent in architectural programs, typologies, building code, and language itself. Instead of direct programming, the codification of design intention using scripting languages available in 3D packages (i.e. Maya Embedded Language MEL, 3DMaxScript, and FormZ 4.0) can build consistency, structure, coherency, traceability, and intelligence into computerized 3D form. By using scripting languages designers can go beyond the mouse, transcending the factory-set limitations of current 3D software. This course is aimed at investigating and exploring the structures, processes, and theories of computational design. The purpose is to develop algorithms and computational methods that would encapsulate the processes that lead to the generation of meaningful architectural form. Yet, the course does not intend to eliminate traditional \'manual\' methods but rather to incorporate a synergy between both computational complexity and creative use of computers. Pedagogical Objectives The pedagogical value of this course is to serve as a theoretical framework, a technical skill-builder, and a source for inspiration. The intention is to make students think beyond the limits of a specific application and to give them a theoretical background to be able to acquire and critically evaluate new knowledge. The course will engage both in theory and practice. The theoretical part will discuss and explore conceptual models of computational design. The practical part will involve scripting as it relates to architectural form: what are algorithms and how can they help us create and explore the complexity of architectural form; what is the role of the designer versus the software designer; what is \'design consistency\' and how can we build logic into form. Completion Requirements There will be a midterm exam and two design exercises leading to a final project presented to a jury.