At times a domain is sufficiently tractable that the situations arising within its bounds give rise to structured knowledge in the form of rules, principles, and guidelines. Even in such domains, however, the initial knowledge base usually consists of examples. For a decision maker, the formulation of effective behaviors depends on a judicious mix of principles as well as cases - of deduction as well as induction. Learning and discovery are central features of creative problem wiving. To the extent that software can automatically detect known regularities in a knowledge base or through experience, it may be viewed as a learning system. And where the identified patterns were previously unknown to the user, the system may be regarded as engaging in discovery. A number of critical issues relating to creativity are discussed, as well as methodologies for their incorporation into software. The encapsulation of adaptive capabilities in software should elucidate the nature of human learning and creative behavior. In addition, the embodiment of such abilities in software will result in intelligent systems which can be used to enhance human decision making, or even automate certain tasks requiring creativity. For the sake of concreteness, much of the discussion is conducted in the context of creative problem solving in engineering design and control strategy.