My Work on Patterns
Most of the work in the patterns community documents advanced techniques in software architecture, design, and implementation. But we can also use the pattern form to document the more fundamental patterns that underlie our advanced techniques.
I have been working on patterns at both levels, with a great interest in patterns that appear in intelligent systems. I have also begun to dabble in writing so-called pedagogical patterns, that is patterns of best practice in teaching and learning.
This page provides an index to my patterns, with some organizational indication of the level of sophistication that they require. I would be happy to hear of related patterns that you have written.
My most recent patterns work has been to study functional programming patterns.
My Elementary Patterns page serves as a community resource for those interested in the use of patterns to document low-level patterns of programming and to teach novices. It grew out of a Hot Topic workshop at ChiliPLoP'98. Much of my recent work on patterns is linked from that page.
So far, my high-level design patterns have drawn from my experience working with the Generic Task approach to knowledge-based systems. I learned about Generic Tasks, pioneered by Chandrasekaran, as a graduate student at Michigan State University under Jon Sticklen.
I wrote Built in Failure for the Pedagogical Patterns project, which is documenting a set of pedagogical pattern languages. These patterns are part of a paper that will be workshopped at EuroPLoP 2001.
I have found that many of Kent Beck's patterns in his book Smalltalk Best Practice Patterns are suitable for consumption by novices, or almost so. I have found the following of his patterns on-line: