Table of contents About Introduction What is Computational Design? What is Generative Design? Why Should I Use Generative Design? What goes into a Generative Design Process? An Example of Generative Design A Further Analogy What is Visual Programming? What is Dynamo? What is Refinery? Getting Started with Generative Techniques in your Design Process Anatomy of a Good Generative Design Process Getting Started with Project Refinery Setting up a Graph for Refinery Running Refinery Visualising Results in Refinery Applying Generative Design to Practical Challenges Optioneering What is Optioneering? Optimisation What is Optimisation? Algorithms Generators Evaluators Solvers Appendix Glossary References Additional Material Community Examples