A methodology for the development of a knowledge-based computer-aided design system and its experimental application in the domain of single family house design are presented.  The methodology involves integrating within a unified design environment, tools and techniques that have been independently developed in various disciplines (including knowledge representation, information management, geometric modelling, human,machine interface, and architectural design). By assuming the role of active design partners, the resulting systems are expected to increase the productivity of designers, improve the quality of their products, and reduce cost and lead time of the design process as a whole.  ALEX (Architecture Learning Expert), a particular application of this methodology, is a prototype knowledge-based CAD system in the domain of single family house design. It employs user-interactive, goal directed heuristic search strategies in a solution space that consists of a network of objects. Message-based change propagation techniques, guided by domain-specific knowledge, are used to ensure database integrity and well-formedness.  The significance of the methodology and its application is threefold: it furthers our knowledge of the architectural design process, explores the utilization of knowledge engineering methods in design, and serves as a prototype for developing the next generation of computer-aided architectural design systems.