Experts are distinquished by their knowledge. It usually takes years to acquire the knowledge to become an expert software designer.
Patterns are a way of documenting design knowledge.
This tutorial will describe some of the kinds of knowledge that it takes to become a software expert, such as design patterns, problem domain patterns, and software process patterns. It will describe how to benefit from the patterns that have already been documented, and current work in documenting more patterns. Since receiving his PhD from Cornell, he has been at the University of Illinois studying object-oriented design and frameworks. Besides writing patterns, he teaches courses at the university on object-oriented design and Smalltalk, teaches courses at companies on design patterns and framework design, and helps companies document their frameworks. This tutorial addresses the needs of practitioners who wish to improve software quality through testing and analysis, and who require a coherent framework for considering which combination of techniques and tools is appropriate to their needs.