This document discusses computational design and generative design processes. It begins by defining computational design as algorithmic, procedural, generative, or rule-based approaches to design that focus on developing interactive design processes rather than static designs. Generative design is then discussed in more detail, including definitions, techniques like parametric and combinatorial methods, and properties of generative systems. Visual programming languages and tools for computational design are also introduced, such as Processing, Dynamo, and Grasshopper. The document provides an overview of key concepts and techniques in computational and generative design.