We will offer two half-day workshops of collaborative sessions on the topic of using patterns in the computer science curriculum:
We offer these workshops within a shared context of exploring the role of patterns in curriculum. We recognize that not all educators will be able to participate in both workshops, for reasons of timing, interest, and preparation. We have designed the workshops so that participants may take part in either workshop and profit. However, we expect that participants who take part in both will benefit from the synergy between the two.
Over the last few years, a number of computer science (CS) educators have begun to incorporate software patterns into their undergraduate CS courses. Ideas similar to patterns can be traced back to the work of Soloway [13] and Linn and Clancy [8], but consideration of patterns accelerated following the appearance of the pioneering book Design Patterns [5]. The so-called "Gang-of-Four" book documented patterns of object-oriented (OO) design at a time when many CS educators were struggling to master the discipline. Encouraged by the benefits they realized from studying design patterns, some educators began to teach design patterns in their OO courses [6, 1, 10, 12, 3].
CS educators have also begun to document patterns in other types of software and to use the patterns in their courses. Patterns and pattern languages have been written on the subjects of recursion [14], loops [2], OO design [4], and concurrent programming [7]. Other educators are using patterns to organize sections of textbooks [9] and as semester-long themes [11]. In an effort to coordinate some of these explorations and to begin to build a community of support, six CS educators gathered at ChiliPLoP'98 in March 1998 for the Hot Topic workshop Elementary Patterns and their Role in Instruction.
However, the prevalence of patterns in undergraduate CS courses does not mean that educators have solved or even come to understand fully the problems created by introducing patterns and pattern languages into the classroom. Merely adding patterns to the course outline does not take advantage of patterns' unique advantages as a teaching tool. How best to integrate patterns into the course's meetings, homework, and exams is not well known. And, even when educators have an idea of how they would like to use patterns in their courses, they face a second dilemma: the need for appropriate patterns and pattern languages for teaching their course content.
So, we will offer two half-day workshops of collaborative sessions to address two broad issues in this vein:
Prospective participants are asked to submit one of the following:
The workshop will consist of readers workshops of existing patterns and pattern languages in use in undergraduate CS courses, discussion of the teaching features of patterns, and collaborative organization of course modules around patterns.
We hope that this process will lead to deeper understanding of patterns' potential benefits and costs, yield practical advice for course designers, and allow us to make progress toward better use of patterns in courses.
Proposed Agenda
Introduction and background 15 minutes Readers workshops (2 @ 30 minutes each) 60 minutes Working sessions on course organization 60 minutes Presentation and discussion of results 30 minutes Strategies for future work 15 minutes
Prospective participants are asked to submit one of the following:
The workshop will consist of collaborative analysis of design and programming problems to identify potential patterns, short sessions of group pattern writing, and writers workshops. The writers workshops will be the centerpiece of this workshop. They provide a valuable way for writers to obtain constructive feedback on their work and also expose participants to a feature of the patterns community that they will encounter as they disseminate their patterns to a wider audience.
We hope that this process will lead to deeper understanding of the patterns that occur in software at our students' level, yield practical advice for those in search of patterns, and allow us to make progress toward better use of patterns in courses.
Proposed Agenda
Introduction and background 15 minutes Problem identification 30 minutes Group working sessions on patterns and pattern languages 60 minutes Writers workshops 60 minutes Strategies for future work 15 minutes
We are the six participants from the ChiliPLoP'98 Hot Topic workshop Elementary Patterns and their Role in Instruction: