Design is an ubiquitous activity embracing most of engineering and Architecture. Because design is so pervasive, any research that leads to improvements in design processes or products can have great impact. Current efforts at capturing the design process in a computational framework do not pay heed to the evolutionary aspect of prototype creation and ongoing refinement. Further, in poorly-understood domains where expert knowledge or previous experience is lacking, current systems do not perform well. Genetic algorithms are stochastic parallel search algorithm that model natural selection, the process of evolution. Over time natural selection has produced a wide range of robust structures (life forms) that efficiently perform a broad range of functions. The success of natural selection on earth provides an existence proof of the viability of an evolutionary process as a model for design. This thesis lays the foundations for the use of genetic algorithms in helping to attack a well-defined and important subset of design. It maps genetic algorithms onto the design process; defines appropiate representation criteria to take advantage of the nature of the problem; specifies methods of analyzing genetic-algorithm-generated designs; and places bounds on the time complexity of the task. Scalable examples from circuit design, floorplanning and function optimization are used to demonstrate, illustrate and ground these results.