The emergence of patterns as an organizational and design tool can help abate what Brooks calls the accidental complexity of software development. This project addresses practical and pedagogical concerns of the computer science and software engineering communities with an integrated approach to the use, learning, and teaching of patterns. Work in Design Patterns to date has focused on the recognition, cataloging, and finding of patterns with little attention to the use of patterns by experienced software practitioners and particularly by students and practitioners not well-versed in object-oriented technologies. The foundation of the project is the design, development, and delivery of a layered support structure for design patterns. The first layer focuses on how to use catalogs of patterns, idioms, and architectures accessible to those without a deep background in object-oriented programming and methodologies. The second layer builds on this catalog by developing methods for using patterns based on heuristics for recognizing when specific patterns are applicable and relevant. As part of both layers, the project bridges the gap between novice and expert designers by developing resources to aid in the recognition and discovery of patterns.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
9702550
Program Officer
Sol J. Greenspan
Project Start
Project End
Budget Start
1997-06-15
Budget End
2002-08-31
Support Year
Fiscal Year
1997
Total Cost
$200,004
Indirect Cost
Name
Duke University
Department
Type
DUNS #
City
Durham
State
NC
Country
United States
Zip Code
27705