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. Through computational methods and algorithms, geometry, as we knew it, is being redefined and reconfigured.The dominant mode of utilizing computers in architecture today is that of a 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 factor-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.