This collection of patterns proposes some successful techniques to assist with teaching and learning, especially of technical subjects. For professional educators, these patterns may seem obvious, even trivial, because they have used them so often. But for those newer to teaching, they offer a way to obtain the deep knowledge of experienced teachers.
Patterns are not step-by-step recipes. Each of these offers a format and a process for transferring knowledge that can then be used by a variety of different teachers in many different ways. While most of the authors are involved in some aspect of computing and informatics, and so the examples are mostly drawn from those fields, much of the advice is general enough to be applied to other disciplines. The advice is not restricted to formal education, but has been used in various training scenarios as well.
The Pedagogical Patterns Project
Most educators and trainers are not taught how to teach. Rather, they often find themselves teaching by accident. Typically, a person with a skill that is in demand, such as a particular programming language, will be asked to teach it. People assume that if the person is good in this programming language, she will be good at teaching it. But knowing the subject matter is very different from knowing how to teach it. ﾠ
Effectively communicating complex technologies is often a struggle for information technology instructors. They may try various teaching strategies, but this trial and error process can be time-consuming and fraught with error. ﾠAdvice is often sought from other expert instructors, but these individuals are not always readily available. This creates the need to find other ways to facilitate the sharing of teaching techniques between expert and novice teachers.
This is the goal of the Pedagogical Patterns Project. Pedagogy is a term that refers to the systematized learning or instruction concerning principles and methods of teaching. Patterns provide a method for capturing and communicating the deep knowledge in a field. As an example, imagine that you are looking for an effective way to teach message passing to experienced programmers in a weeklong industry course. A friend who is teaching a semester-long object technology course to traditional age university students has found an effective technique. He shares it with you without dictating the specific implementation details. ﾠThis allows you to use your own creativity to implement the technique in a way that is most comfortable for you and most useful for your industry students. This is the essence of patterns: to offer a format and a process for sharing successful practices in a way that allows each practice to be used by a variety of people in many different ways.
This pattern language contains patterns from the Pedagogical Patterns effort, which has been ongoing for over ten years. They have been revised and rewritten in Alexandrian form in order to support the integration into a pattern language. The currently available patterns focus on a classroom situation at beginners to advanced level. The editors and authors are a mix of industrial trainers and university educators with a wealth of experience. Some teach small groups face to face and others teach huge courses delivered over the internet. Everything here is useful for secondary education onwards.
The patterns in this pattern language use a form similar to the one used by Christopher Alexander in his book A Pattern Language. This book introduced patterns to the world of architecture, from whence it has spread throughout the computing and educational disciplines.