This workshop will introduce participants to patterns and focus on two types of patterns of particular interest to educators: elementary patterns and pedagogical patterns. Using patterns to document best practices of novice programming and best practices of computer science instruction allows people to share their expertise more effectively with other educators and with students.
This workshop will introduce participants to patterns and focus on two types of patterns of particular interest to educators: elementary patterns and pedagogical patterns. Software patterns first achieved prominence in the object-oriented community in the mid-1990s in the form of design patterns , which constitute a critical link in transforming naïve object-oriented designs into sophisticated designs. Computer science educators quickly recognized their benefits in teaching object-oriented design [11, 2, 13, 15, 7]. Work on elementary patterns and pedagogical patterns grew out of this experience.
Elementary patterns are an attempt to bring the benefits of software patterns to novices in computer science. Building on earlier work that sought to document programming knowledge [16, 12], CS educators have begun to document important computer science concepts as patterns and pattern languages, including recursion , loops , selections , OO design [6, 8], nameless functions , and simulating OOP in a functional language . The benefits of casting these traditional topics as patterns include (a) a greater emphasis on stating explicitly the trade-offs to be considered when choosing design and programming constructs and (b) an attempt to help students create a more unified way to think about and develop programs.
Pedagogical patterns, on the other hand, are not about the content of computer science, but about its teaching. The idea of patterns (problem, context, forces, solution, examples of use) and of pattern languages (synergistically generating emergent properties from simple forms) have been applied to teaching itself. Work on patterns of pedagogy also began early  and has developed into a broader-based effort [6, 9].
Both elementary patterns and pedagogical patterns are an attempt to capture best practice in ways that can be communicated effectively from experts to those who need expert knowledge.
We propose a full-day workshop consisting of an introduction to patterns (and especially these two specialty topics) and an activity session in which participants will be helped to discover and write up new patterns.
The morning session will be an introduction to patterns, elementary patterns, and pedagogical patterns. We will mix several styles: presentation, open periods for questions and discussion, and the study of several examples that illustrate the topics being introduced.
The afternoon session will split into two sessions, with Wallingford, Deugo, and Duvall leading an elementary patterns group and Bergin leading a pedagogical patterns group. In these sessions, the group leaders will help participants (a) to examine their own practice to identify patterns and (b) to present them in the form of patterns. We expect that these "pattern mining" sessions will ultimately lead to publishable work, including as future SIGCSE papers.
The long-term goal of this workshop is to engage more educators in the elementary patterns and pedagogical patterns communities so that the best of what we do can be captured and more effectively communicated to one another. This goes beyond the single, but valuable, techniques that are often presented in SIGCSE papers and attempts to unify the practice.
The proposed leaders of this workshop are deeply involved in the study and writing of patterns, especially in areas of elementary and pedagogical patterns. Bergin, Duvall, and Wallingford have organized and led successful SIGCSE workshops on elementary patterns the last two years. They have also been co-organizers of the three annual Elementary Patterns workshops at ChiliPLoP, with Deugo helping to organize the second. All four have been active participants in education- and pattern-related activities at conferences such as OOPSLA, PLoP, EuroPLoP, and regional CS conferences. Wallingford, Bergin, and Deugo have each written many patterns papers that have been presented at these conferences and are considered to be experts in this area. Wallingford maintains the Elementary Patterns Home Page at:
Bergin provides a comprehensive set of links to elementary and pedagogical patterns on his home site at:
Bergin has been invited to give a three day workshop in Denmark (U. Aarhus) on these topics. Wallingford gave an invited talk at the Consortium for Computing at Small College's Northeast Conference entitled "Using Patterns in the CS Curriculum" .