Patterns for Active Learning

Submission to the PPP pattern language project

Copyright © the respective pattern authors. Permission is granted for the purpose of PLoP 2002


Jutta Eckstein
Objects in Action

Joseph Bergin
Pace University

Helen Sharp
Open University



This pattern language in progress proposes some successful techniques to assist with teaching and learning.  For many professional educators, these patterns may at first sight seem obvious, even trivial. However, all educators both experienced and novice will benefit from the ideas contained in this language.  For those newer to teaching, they offer a way for experienced teachers to pass on their experiences. But even experienced professionals will benefit a lot by learning from one another. Because Nobody is Perfect [VF] and furthermore everybody has developed her own little secrets that she can share.

The pedagogical patterns project [PPP] is working on collecting many types of patterns that can help teachers teach and students learn.  This collection focuses on empowering the student through active learning.

The patterns were revised and rewritten in Alexandrian form in order to support the integration into a pattern language. Further patterns will be submitted to future conferences of the PLoP series.

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 (PPP, [PPP]).  Pedagogy is a term that refers to the "systematized learning or instruction concerning principles and methods of teaching" [Web].  Patterns provide a method for capturing and communicating knowledge such as pedagogy.  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.

A collection of patterns could form a repository of techniques for teaching a specific subject such as object technology (OT).  Ideally, many of the patterns would have an even broader scope than OT, but all of them would be useful in many different training or learning environments because they are proven teaching techniques. 

But even this is not the end of the story.  Related patterns can be combined in either a pattern catalog [Bus] or in a system of patterns [Fow]. A third possibility is to relate several patterns within a common problem space, the result of which is a language of patterns that provides a resource for solving complex problems.  The goal of the project described in this paper is to form pedagogical pattern languages for teaching.  This will provide instructors with the ability to share their effective teaching techniques in a common format, to document relationships between the techniques and to form powerful tools known as pattern languages.

The Pattern Language

This pattern language under construction contains patterns from the Pedagogical Patterns effort [PPP], which were 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, but their usability is not limited to that. Further patterns will be submitted to future conferences of the PLoP series.

The patterns in this pattern language use a form similar to the one used by Alexander in his book A Pattern Language [CA]. All patterns are written in the you-form, thus directly talking to you, the teacher. In addition to the pattern name, each pattern is divided into several sections. The sections are separated by ***. It starts by setting the context, which is followed by the forces and the problem in bold font. The next section outlines the solution in bold font including the consequences, limitations and disadvantages.  The last section complements the discussion of the solution and it additionally provides examples in italic font as well as further information. References to patterns inside this pattern language are in Capital Letters, references to patterns published elsewhere are in normal font, but followed with the [pointer] to the reference section.

In addition, each pattern is marked with one or two asterisks (*), as in Alexander's patterns. They show how fundamental we believe the pattern is.

Two asterisks denote patterns that state a true invariant. We believe that it is not possible to solve the stated problem properly, without referring to the solution that we have given. One asterisk means that we think that we are on the right track, but we believe it will be possible to improve the solution.

A few of the patterns in this language have been developed earlier as part of other pattern languages by these authors. Thumbnail sketches of these are placed inline here, with references to a fuller development elsewhere.

Quick Access Table

The following table lists some problems, which often occur in a teaching environment, and the respective patterns of this language, which address those problems.

Maximize learning by engaging.

Active Student, Prefer Writing, Honor Questions, Invisible teacher, Shot Gun Seminar, Test Tube, Try it Yourself

Take different skill levels and interests into account.

Different Exercise Levels, Students Decide, Teacher selects Teams, Explore for Yourself

Bridge the gap between the educational world and real (production/industrial) world.

Adopt-an-Artifact, Real World Experience, Master-Apprentice, Critique, Problem solving Machine

Encourage teamwork.

Groups Work, Study Groups, Role Play, War Game

Build on past experience.

Invisible Teacher, Explore for Yourself, Study Groups, Teacher selects Teams, Expand the known World

Focus on the whole picture.

Student Design Sprint, Larger than Life

Approve and understand the theory.

Test Tube, Try it Yourself

Active Student **

This pattern was originated by Joseph Bergin as Active Student and by Astrid Fricke and Markus Voelter as Work Forms [VF].

You want to maximize student learning.


Passive students don't learn much. If students listen to explanations, without themselves becoming engaged, what is learned is unlikely to go into long-term memory. The deep consequences of a theory are unlikely to be obvious to one who reads about, or hears about the theory. The unexpected difficulties inherent in using the theory or applying the ideas are not likely to be apparent until you actually do use the theory. However you might have grown up with the passive style of teaching only and really don't know anything else. But, readings, lectures, and multi-media demonstrations, unless interactive, leave students passive.


Therefore: keep the students active. They should be active in class, either with questions or with exercises. They should be active out of class. Reading alone is often insufficiently active. Short readings should be followed by activities that reinforce what has been learned in the reading. The same is true of information given verbally or even visually through multi-media visualizations. If the students don't actively engage the material, they won't retain it. They need to write and they need to "do."

Choose (or write) textbooks and other materials that have a lot of activities at different levels of scale and difficulty. Consider using Different Approaches [BEMW] for taking different sensory modalities into account when engaging students. Students can write as well as read (Prefer Writing), they can answer questions in writing or orally. Make them work together, using Groups Work, or Study Groups both in class and out of class. Make them answer their own questions, as in Test Tube [BEMW]. Allow them to learn a concept by exploring or trying it for themselves (Explore for Yourself [BEMW], Try it Yourself, or Explain it Yourself. Both in: [EBS]). You should ideally try to alternate between the different teaching and learning styles.

The most important aspect of course planning is in knowing what the students will be doing throughout the course. Remember that your job is not to give the students information. It isn't really even showing them ways to find information. Your real job is to show them ways to build new information structures for the problems of their days. This is an inherently active process.


Law schools use moot court and Law Review and a number of other devices to keep the students active. Business schools use case studies requiring extensive write-ups for the same purpose.

Medical students have a "path pot [1] " where they are given a set of organs from a deceased patient and must explain the reason for the patient's death.

Joe Bergin often phrased the underlying idea of this pattern as: "It doesn't matter what I do. It only matters what my students do."

A corollary to this idea is that of the Active Lecture, in which the students are active during "lecture" time. See Student Design Sprint [EMWM], for example.

A special case of this is Christoph Steindl's Self Test Pattern [EBS]. A self-test is a pseudo exam that the students may take informally to prepare themselves for an upcoming exam. Make these available, but don't require them. Provide answers and feedback for those who ask for it.

While taking this pattern into account is most often more efficient and fun for the students, it means much more effort for you in terms of preparation and attention during the session than a traditional lecture style session.

Lecture-style teaching should only be used, if you intend to pass a lot of information in a short time frame. The emphasis is on passing information and not on understanding information.

Different Exercise Levels *

This pattern was originated by Markus Voelter and Astrid Fricke as part of the Seminars pattern language [VF].

You want students to practice a newly acquired skill through some exercises. Your students have different levels of ability and you want to challenge each of them.


The most important aspect of exercises is to allow the participants to improve their newly acquired skills by working on a topic on their own. If everyone is given the same exercise, then some participants will find it overly simple, and do not learn anything, while others consider the exercise too difficult, are frustrated because they can't do it, and do not learn anything. To improve his skills, the exercise must be located at the upper limit of the participant's current skill level, but this will be different for each participant.


Therefore, provide exercises of different difficulty levels, Different Approaches [BEMW], different topics etc. You might also consider inviting your students to suggest exercises on their own, so you want to let the Students Decide. Doing this means that everyone has the opportunity to be successful and motivation is kept high.

You might allow participants to choose from these exercises themselves and to solve those that he thinks will be most beneficial. Alternatively you might give some guidance about which exercises would be most suitable. For example, you could mark each exercise with a "skill level" and use these as a further guidance for Study Groups.


Although we generally expect participants to be willing to learn, it has to be mentioned that this pattern works best if the participants really want to improve their skill and not just try to survive the course with as little effort as possible. In order to make both learning strategies possible, and if you have to grade the students' effort, you should consider Key Ideas Dominate Grading [EBS].

A problem with this pattern arises if people overrate themselves and try exercises that are too difficult for them. Especially in a group, a participant may be tempted to try a more difficult exercise because his neighbor or friend has also tried a more difficult one. A participant will sometimes have to admit that he must take a step back. On the other hand also the opposite can happen, meaning that some participants will choose to take the easy way out. In both cases you are requested to be especially diplomatic when suggesting the more appropriate exercise for the participant.  You may want to combine different levels of ability in groups also.

Joe Bergin used this effectively in a Database course at Dartmouth College. Two exercises were proposed, one quite easy and the other difficult. Some students had previously had no experience with the material of the easier one, and it was suggested that for these students it would be a good choice. For the others it was mentioned they would learn little by doing the easy one. Quite a large number chose the challenging exercise.

Students Decide *

This pattern was originated by Astrid Fricke and Markus Voelter [VF].

Your course provides some flexibility regarding its structure beyond the interests of higher authorities. You want to consider the students' interests and needs in your course and want to learn something about the students' expectations in the course. You actually want to engage them in planning the progress of the course.


You want to take the participants specific interests into account, but you are not completely sure about how to do this regarding the contents, the schedule, or the methodology. Sometimes it is impossible, to make decisions concerning course material and approach in advance, because the exact skills or interests of the participants are not known. If the students are more engaged in the process they may be more engaged in the material as well.


Therefore, involve the participants in the planning of the course, or suggest some alternatives at the beginning of the course. Give them a voice in choosing among the alternatives. This allows the participants to shape the course. Involving the participants in these important decisions makes the course more relevant to them.


For example, you could ask them about the scheduling of the breaks, the most interesting examples or exercises, which they can select from a set of possible alternatives, or which topics they would like to see covered in more detail.  You may want to let them decide the form of the exam or even part of its content.

In order to be more flexible with the content of the course, you should develop it in terms of modules. Those modules should be shaped around basic and more advanced topics. This will allow you to assemble the course on the fly.

The down side is that providing a grade range of possibilities and then only discussing a selected number of them, might give the participants the feeling that important things have been omitted. However, your required modules can cover the main ideas.  Furthermore, you don't want to spend too much time for the discussion among the participants for coming up with a consensus. You have to be very sensitive if there are disagreements among the participants. You should decide on the final strategy without giving the students the feeling of being outvoted.  If there is disagreement, you can make Groups Work to avoid the dilemma and have different groups pursue different topics and report back. See Active Summary [MS] and Student Online Portfolios.  If an individual takes a strong position in favor of some alternative you can ask her to lead the group that investigates this topic.

One technique that doesn't take up much time is to pass out small cards (3 by 5 inches in the U.S.) and each student (or group of three) can write down the question they most want answered that day. You can use these to guide the lecture. See also Honor Questions. If you use this frequently, you don't need any time as the students can come already prepared with their cards.

Honor Questions **

This pattern was originated by Astrid Fricke and Markus Voelter [VF].

Your course provides some flexibility regarding time. You want to consider the students' interests and problems with specific topics in your course. You want to assure that confused students don't stay confused.


Some students are afraid of asking questions in front of the whole group, because the question might make their problem with the topic obvious, which might in turn be interpreted as weakness. However questions show that the participant is interested in a topic or that he needs a different explanation in order to fully understand the topic.


Therefore, motivate the participants to ask questions, by ensuring that there are no stupid questions. Show them how to ask questions, also.

Make sure everybody understands that neither the teacher nor the students can know everything, because Nobody is Perfect [VF]. Instead each participant is full of valuable questions and answers. Always honor questions more than bright answers and take every question seriously.


Craig Larman uses  buzz groups to elicit questions. He gets the students into small groups and gives them a very short time, e.g. 5 minutes, to come up with questions about the material that was covered. A spokesperson asks the questions for the group. According to his experience, this works well even when the culture discourages questions.

A good way to motivate the participants to ask questions is to admit your own missing skills. Although Nobody is Perfect [VF], it wouldn't be a good idea, if you would have severe deficiencies in the core of the course's subject. A less dangerous possibility is to reuse questions from earlier courses and ask them yourself to get the ball rolling. Or, Linda Rising's perhaps more threatening strategy is by saying if there were no questions—it must be time for a quiz.

Linda Rising and Joe Bergin often give prizes for questions. See also Gold Star [EBS].  Joe notes that he gives most Gold Stars for questions, especially deep questions.

The Invisible Teacher will further emphasize Honor Questions.

You have to take into account, that posing questions might be extremely difficult for introverted people. You might consider posing questions anonymously in written form.  See the 3 by 5 card idea in Students Decide.  You might also want to take a look at Introvert - Extrovert [JB2].

As an extreme case of this, Joe Bergin was once told of a law professor who appeared for class the first day of the term, gave a reading assignment, and asked if there were any questions.  As there were none, he left the room immediately. He returned the next day and exactly the same thing happened - no questions and therefore no lecture. This went on exactly as above for about three weeks before the students discovered that they had to ask questions or get no help from the instructor. This was especially valuable to the law course, as a lawyer who doesn't ask questions learns nothing from her client. However, notice how this forces the student to become engaged with the material.

There are cultural issues here as well. In Pacific Asia, students don't like to ask questions because it implies a double loss of face. The student loses face in not understanding the instructor properly. The student causes the instructor to lose face because a question implies that the instructor has failed to anticipate the question.  Amir Raveh's solution for this is to start the class with an announcement that he comes from a society (Israel) in which an instructor is judged primarily by the quality of the questions asked by his students. A good instructor is asked questions that he will find especially difficult to answer. This dramatically changes the equation. He notes, however, that the change in behavior is not automatic. Therefore, he looks for the first situation in which he sees two students talking quietly in class or the first puzzled face. He stops the lecture and works hard with these students to bring out the question, noting that others probably have the same question.  This last point is essential. You must do more than Honor Questions. You must act to make it easy and natural to ask them.

Test Tube * [BEMW] 

When students encounter holes in their knowledge, we would like for them to seek out an answer. Unfortunately, students often resort immediately to the "easy fix" of asking an authority for the answer. We want students to ask questions, but sometimes they have available to them more effective ways to gain knowledge that they never consider. In many courses experimentation is one viable method.

Therefore, give the students exercises in which they are asked find the answer to simple questions of the form "What happens if ...?" using experimentation. In a programming course, the machine itself can answer many such questions, for example. Make these exercises frequent enough that students develop the habit of probing the machine for what it does, rather than asking a question or seeking out documentation.

Try it Yourself ** [EBS]

You often have a difficult time knowing the degree of task competency during the presentation of a topic. Additionally students usually believe they understood the topic, but this is often only true in theory. As soon as they have to accomplish a task that is based on this new topic they realize their lack of understanding.

Therefore, take a break in the presentation and ask the students to perform an exercise that requires them to understand the new topic. Since the exercise is inline it will provide immediate feedback to the student as well as let you see the state of understanding of your class.

Prefer Writing *

This pattern was originated by Joseph Bergin.

You are trying to implement Active Student and are designing student activities. You want your students to be Gaining Different Perspectives [BEMW].


Reading is more passive than writing. Professionals in computer science create things. They write. They write programs and more than programs. Students, on the other hand, seldom like to write, though they may like to program. Students need to practice writing, both because it is a useful skill and because it forces them to be engaged with the ideas.


Therefore prefer writing exercises over reading exercises. Make your students write (and rewrite) programs, specifications, documentation, proofs, explanations, etc.

It is best if the students publish what they write: for example in a Student Online Portfolio [EBS]. Work published online invites comments and comments invite rewrites.

Use writing to engage students with their readings. Ask for summaries of important material. Remember that Groups Work for this as well. Published summaries of important topics encourage students to help each other learn.


You should furthermore encourage your students to rewrite their programs. Good advice is to ask students to rewrite any program that they write at least once before they show it to anyone, including the instructor. See, for example, the Elementary Coding Patterns [JB1].

Prefer Writing is only one way of using Different Approaches. If you want to take the different sensory modalities of your students more into account, you should also consider using e.g. Physical Analogy, Role Play or Reflection, all in [BEMW].

Groups Work **

This pattern was originated by Joseph Bergin.

You want to maximize student learning, Active Students, and encourage the students to be responsible for each other's learning.


You are only one resource for the students. Given the number and difficulty of student questions and concerns you are actually a rather small resource. Your students need frequent feedback on what they do and how they do it.


Therefore emphasize group work in your courses. Use both large and small groups. Use both long lived (weeks) and short lived (minutes) groups.

Groups can come together for a few minutes in a class to consider a question posed by the teacher. They can work for an hour or two together in or outside the classroom or lab. They can work in teams for days and weeks on larger projects.


By assigning smaller and more intimate groups, it is more likely that also shy people will have the courage to actively participate in discussions. See Introvert-Extrovert [JB2], for example. Working in teams changes the focus of the students and makes an Invisible Teacher possible.

See Student Design Sprint [EMWM] for different usages in which teams are volatile and increase in size over the course of an hour or so.

However, there is an important contraindication to the use of this pattern. If many instructors use it for long-lived team projects, the students may find themselves on many teams simultaneously. This can be a heavy burden, due to the required team meetings implied by the use of this pattern. The wise instructor will coordinate with other instructors to avoid such conflicts. Electronic communications, such as list servers and wikis (interactive web sites) can help with this, of course.

Ref: Louise Moses (Mount Union College), Sally Fincher (University of Kent at Canterbury), and James Caristi (Valpariso University). The name of this pattern is due to them. "Teams Work" was the title of a panel they presented at SIGCSE 2000.

Role Play * [BEMW]

The complexity of some concepts makes them hard to understand with only abstract explanations.  Furthermore, difficulties in understanding complex concepts may frustrate the students.  You not only would like to provide a positive learning environment, so even learning complex topics might be fun, but you also want to take into account that different people learn things best using different sensory modalities. 

Therefore, invite your students to behave as a part of the concept involved in a role-play.  Every student plays one part of the concept to get a deeper knowledge for its underlying structure. Students see how the different parts of the concepts are all working together to solve a bigger problem.

War Game *

This pattern was originated by Alan O'Callaghan [AOC] as the Simulation Game Workshop pattern.

You wish to introduce learners to realistic development scenarios.


There is no substitute for learning-by-doing. But the traditional classroom or laboratory-based environment is an alien environment for "realistic" problem-solving; especially where issues of scale and/or distribution are involved or when social contexts (such as office politics) are important.

"Programming-in-the-large" is a characteristic of modern software development projects. Most software development involves a number of developers in different roles who are dislocated either in time, or place or both. Frequently the development is in the context of existing legacy systems, rather than Greenfield ones. Preparation for such scenarios is difficult in the classroom or training room.

Instruction-based learning is useful for disseminating large amounts of information quickly, but can be a barrier to any visualization of the use of techniques in a realistic context. Contact time between the instructor and learners is at a premium and this represents an absolute barrier to developing realistic problem scenarios in real time.


Therefore, create time-compressed simulation games designed to highlight the issues of concern. Assign different roles to learners in the group. Simulate the passage of time and the arbitrary nature of uncontrolled contexts by revealing significant "events" at specific intervals much in the way Chance cards are revealed in a game of Monopoly. Give learners either individual or group goals to achieve in the game - in competition with each other if appropriate. Include a debriefing session at the end to draw out more explicitly the lessons learned.

The pattern utilizes the ‘suspension of belief ‘, which is a prerequisite for virtual worlds to transcend the normal limits of the classroom experience. It allows the learners to engage more directly with the problem, as if it were a real one, than is otherwise possible within a classroom, training room or laboratory.


The approach requires careful preparation of the games, its rules, the roles played and the goals to be achieved. It is usually important that the learners are fully briefed on these before the game starts so as not to disrupt its flow. This implies that the rules etc are reasonably simple to understand and remember.

The War Games pattern is strongly in evidence in interactive workshops and tutorials at conferences such as OOPSLA, OT and ROOTS. One example is the Lego Mindstorms XP Challenge, which has been run at upwards of fifteen different events internationally. It is also favored by companies, which specialize in Management Training, though is less in evidence for technical training. Addison Wesley publishes a card game, Mr. Bunny's Internet Startup Game that simulates the essence of building a startup company. Alan O'Callaghan uses it in his undergraduate teaching at De Montfort University to highlight the relationship between software architecture and the development organization.

Invisible Teacher **

This pattern was originated by Astrid Fricke and Markus Voelter [VF] as Invisible Teacher and by Jutta Eckstein as Ask your Neighbor [JE].

The focus of the course is on learning and understanding not on passing as much information on as possible. Therefore you decided to emphasize Active Student.


Usually, the teacher is the central point of a training environment. Often the students only trust the teacher and (maybe) themselves, therefore, when students struggle, the obvious step is to ask the teacher for help. However, in the work environment the teacher will not be around.


Therefore, make the participants the focal point of the course. If a problem occurs direct them to their peers, to ask them for help.

This re-direction could result in plainly asking their neighbors, or in a tour through other teams. The students have to figure out what the other teams are doing and discuss their problems with them, or ask the other team how they dealt with this particular problem. This way the experiences of all the participants are used as a rich resource for learning.

You can establish this variant of peer mentoring also on a regular or/and official basis, where you invite everybody to look at the work of her peers. If the students do Groups Work, make sure that at least one member - the presenter - of the team stays at the team's location. All the other members of each team - the agents - wander around and ask the other presenters to explain their team's solution. The agents are allowed to ask any question, they can even bring up their problems, as perhaps the other team has also had a discussion about this problem.


Peer mentoring as described above is a technique used regularly at the DesignFestTM  at OOPSLA ( Where different teams work on different and/or similar design problems.

Use the people who are grasping the topics faster as coaches for the ones who need more time and have more difficulties.

This pattern is one of the core practices of Extreme Programming, where the developers always implement in pairs.

Invisible Teacher may lead to a big group discussion. Be careful that not all the time is spent discussing all the different opinions and possibilities.

It is much harder to implement this pattern in countries where the culture does not allow people to admit that they need help or where the students are regarded as impolite if they admit that they do not know the answer.

Mary Lynn Manns and Linda Rising developed Ask for Help in their pattern language about Introducing New Ideas into Organizations [MR], which suggests looking for people and resources to help your efforts, because the task of introducing a new idea into an organization is a big job.

A variant of Invisible Teacher is Peer Feedback [EBS].

Shot Gun Seminar *

This pattern was originated by Alan O'Callaghan.

You wish to have a group of learners discuss the results of literature research of diverse topics.


A typical technique to broaden a group of learners understanding of a field or topic is to have them research the topic and select one learner to report back to the group as a whole via a presentation. Often this results in a good presentation, but poor discussion, as only the presenter is fully motivated to do the research.

If anything, the problem is exacerbated when the entire group is required to do presentations on a rota basis. The result is that each individual learner becomes an ‘expert' in a niche of the topic area (the one which they presented), and the aim of broadening the understanding of the entire group is defeated.

Understanding is improved when different views on an area are brought into collision, the contradictions between them sharply exposed, and synthesis gained by attempting to resolve the tensions between these views. This requires more than one learner researching and, somehow, presenting their ideas.


Therefore, identify a topic for research and encourage everyone in the group to research the topic. Choose the presenter by random ballot at the beginning of the scheduled presentation time. Restrict the timing for the initial delivery.

Shotgun Seminar recognizes that learners are typically motivated by the fact that they are presenting rather than by the intrinsic nature of the research topic. By selecting the presenter at the start of the seminar itself, every attendee is equally motivated to do the research, and is equipped to enter the discussion opened by the presenter. The overall benefit of a successful application of the pattern, especially on a regular basis, in a regular time slot, is strongly beneficial to the development of a research culture.


Care needs to be taken to avoid negative consequences (e.g., learners deciding not to attend at all in order to avoid presenting). In some contexts the required research can be made the ‘price of admission' to the seminar and attendance made explicitly compulsory (by registering attendees etc.,) or implicitly compulsory (by including the topic in tests etc.). While it is clearly advantageous that the presenter's role be spread around, care needs to be taken that mechanisms designed to avoid the same learner continually being thrown up by the random process do not lead to idleness by those learners who present first.

This pattern has been used at Xerox Parc and Sun ‘s research centers as well as on postgraduate and undergraduate courses at De Montfort University in the UK and other centers of academic excellence.

Student Design Sprint * [EMWM]

Students need to solve problems in teams. They also need quick feedback and peer review of early attempts. They eventually need to solve complex problems, but may need help on simpler problems as well. If we don't teach them problem solving they will develop their own ad-hoc techniques that may reinforce bad habits.

Therefore, use some variation of the following highly structured classroom activity. Divide the students into groups of two or three. Give them a problem and have them develop a solution in 15-20 minutes in their groups. There should be a written outline of the solution produced by each team. The instructor can look over shoulders and comment, but few hints should be given. Questions should be answered freely. Then spend a few minutes to publicly, but anonymously, review the solutions. Comment as needed, perhaps mentioning good points, flaws, and possible extensions. Then combine each pair of teams into a larger team, modify the problem slightly and have the new teams solve the new problem, based on the pair of solutions they now have to the original. Repeat as often as time permits. If done carefully quite complex problems can be explored in a short time. This has been used to teach object-oriented design effectively, hence the name.

Explore for Yourself * [BEMW]

A person's success is based mainly on her ability to learn new concepts efficiently and to act as a team player by sharing knowledge and insights.  You want to give your students the ability to learn in the future and to communicate their wisdom, but students are often afraid of taking responsibility for their own learning.

Therefore, assign topics to the students that they have to learn on their own and ask them to present the topic afterwards. It is helpful to provide hints for resources related to the topic. An Active Summary [MS] is useful for presentation of results if they are extensive.

Study Groups *

This pattern was originated by Joseph Bergin.

Your students have different study skills. You want to maximize student learning, Active Students, and encourage the students to be responsible for each other's learning.


Your best students may often be bored while the poorest struggle constantly. You want to foster teamwork and have each member of the team benefit from the experience.


Therefore form your students into study groups, perhaps through Teacher Selects Teams, and guide them if necessary to find a strategy for accomplishing the task. Make sure each study group member has tasks upon which the other members depend. The task can be outlining topics and doing outside research on a topic for presentation to the group. Team members can build web pages with links to relevant resources on a topic.


In some fields and at some universities study groups are the norm and you may not have to do anything to have the students use them. Other places you will need to form them and guide them. Written instructions about how to proceed may help. So may in class activities.

In Medicine, groups of students form "journal clubs" in which they each keep a journal of what they learn and share these with other members of the group. (Thanks to Ron Frank of Pace University for this reference).

Many law schools use this technique extensively.

If you have to grade the work of the Study Groups you might find it helpful to use Fair Team Grading [EBS].

There is a complete Pattern Language for Study Groups developed by Joshua Kerievsky [JK]. Mary Lynn Manns and Linda Rising developed the Study Group pattern in their pattern language about Introducing New Ideas into Organizations [MR] for forming a small group of colleagues, who are interested in a specific topic to learn about it or for those already familiar with it, to continue learning.

Teacher selects Teams *

This pattern was originated by Jeanine Meyer as Assigning and Grading (short) Team Projects [JM].

You want to set a short team project, for example one that lasts between one class session and three weeks. You want the teams to reflect the diversity of its members.


When left to choose teams themselves, students will tend to stick always with the same people. These are people, who are either the ones they like and know, or the ones, who are similar to them, in terms of gender, age, ethnic background, skill level etc. But sticking with the same people slows down the learning, because there won't be a lot of controversial discussion going on. Neither does this environment allow new ideas to come up. It is more advantageous and more realistic to have a mixture of people in one team.  People with different backgrounds naturally bring more diverse ideas into any discussion.


Therefore, you choose the teams. This facilitates swapping of ideas among the peers and actively learning from others' experiences.

For class work sessions the group assignments must be done on the spot, and counting off numbers or pulling names from a hat will work. For example, you can use a random number generator approach to assign students to teams, e.g. if you want four teams, then go around the room counting 1, 2, 3, 4, pointing to students as you go. All students assigned the number 1 will be in one team, those with number two in another and so on. For longer projects you may want to ensure a balance of skills, so make sure that students at the extreme ends of the scale are assigned to teams evenly. For this non-random situation you need to work on assignments before the class.


This pattern has been used for a group project to produce web pages as part of an introductory computer information systems class, a group programming project and a group database design project.

An alternative approach is how pupils often choose teams, for instance for baseball games. The group (or the teacher) chooses two or more captains. Then the captains alternately choose members from the remaining players until there are no more. Wise captains choose good players and players with skills to complement those already on the team. When using this approach you should careful watch out that not the same people always end up in the same teams. Furthermore some people might be disappointed if they will be chosen rather at the end than at the beginning.  If your students don't know each other well, you can have them prepare a one-page résumé of skills prior to choosing teams and these can be used to guide the captains.

You have to be aware that when you are choosing the team, some people might not be happy with your choice. One of the reasons could be that those people just would prefer to be with their friends, or that they don't like the team mates you have chosen. You should use Fair Team Grading [EBS] to eliminate the fear of some people, who might believe that they have to compensate for the lack of abilities of their (poorer) teammates. Although all of these reasons reflect reality, you should carefully choose the teams.

There are situations in which this pattern is hard to apply. With geographically dispersed students ability to work together in one place may overrule other considerations. If so, you will need to account for this in choosing.

Teacher selects Teams serves often as a basis for Peer Feedback [EBS].

Adopt-An-Artifact *

This pattern was originated by Fernando Brieto e Abreu's Peer Review and Corrective Maintenance [FBA] pattern.

Feedback for some artifacts is available. It was received for example via Peer Feedback [EBS] or otherwise.


Outside the training environment people seldom have the chance to develop something from scratch. More often it is required that they maintain either their own artifacts or artifacts produced by other people. However the training environment rarely takes this into account.

Students typically develop an artifact by themselves. This requires a complete understanding of the artifact's domain. However, because the students are human, they try to solve all problems in a similar way, using their individual thinking or problem solving process. But a lot can be learned by understanding an artifact produced by somebody else.


Therefore ask the students to improve and extend artifacts from their peers. In order to do so, they have to comprehend the way in which their assigned peers have approached their task.

Instead of incorporating the feedback in her own artifact, the student has to make these corrections and extensions to the artifact of her peer.

If the artifact was produced by a group of students, the whole team will now work on an artifact of a different team. If the artifact is rather complex you might consider that an agent from the producer team will support the maintenance team. The agent can provide valuable insights to the complex artifact.


The students will learn by understanding the artifact of their peers. They will have to gain a deep insight in order to be able to improve the artifact.

If feedback on the artifact was obtained via Peer Feedback [EBS] you could either ask the review team to incorporate their feedback by themselves, or you can hand the artifact as well as the feedback over to a completely different team.

For example this pattern language in progress is developed this way. Most of the patterns were originally written by authors who have moved on to other areas of interest. The whole pedagogical patterns community provides feedback to the patterns, which are then in turn incorporated by the reviser.

A variation of Adopt-an-Artifact, is maintaining your own artifact if it was produced some time earlier. A lot can also be learned by understanding an artifact produced by yourself a while ago. (Thanks to Linda Rising for this reference.)

If you can't find an artifact, which is produced during your current course, you should consider using an artifact, which has been produced in another course.

Mission Impossible [EMWM] could be used to further help the students change their accustomed problem solving process.

You can use Real World Experience as the basis for Adopt-an-Artifact to give the students the real feel for the work place.

Jim McKim (Rensselaer at Hartford) develops projects over several courses. Each class starts with an artifact in the state in which the previous class left it. They must understand, improve, and extend what they have been given.

Real World Experience *

This pattern was originated by Ghinwa Jalloul as the Academic to Industrial Project Link [GJ] pattern.

You are teaching a course, which concepts can directly be applied outside the training environment.


A lot of concepts are too abstract for students to conceive their value. And even worse students often doubt the viability of these concepts. Assigned problems or lab projects help to make those abstract concepts more concrete. However restricting students to lab environments deprive them of exercising the issues in their rightful habitation - namely the work place.


Therefore involve the students in real world situations, by inviting them to accomplish a project in a real world environment.

Involving a domain interest allows the students to experience the real project life, from the time pressure of a deadline to the pride of demonstrating the result.


Inviting the students to work in teams elucidates issues related to teamwork and provides them the possibility to reach a complete product.

The originator of the pattern, Ghinwa Jalloul lets the students choose a project from any domain of interest. Furthermore is it the teams' responsibility to find a person, who is willing to act as the domain expert. In her experience the best domain expert is the person, who is interested in reaching a complete software product. Because only then will he be willing to invest the necessary time and provide the feedback.

If you need to grade this effort, you might want to consider using Fair Team Grading [EBS].

Finding a domain expert, who is willing to offer his time, is as difficult as finding a project of the right size and the appropriate focus.  (See Inlook - Outlook also.)


This pattern was suggested by Joe Bergin but has not yet been developed.

Students work under the tutelage of a master doing meaningful tasks as directed by the master.  The tasks increase the skill of the apprentice while contributing something to the work of the master.  A master may have a few apprentices. (Closed-lab work is something like this, actually)

Larger Than Life *

This pattern was originated by Donald Bagert as the Concept, Glossary, Problem, Analyze, Discuss, Design (CoG-PADD) [DB] pattern and by Joe Bergin with this same name.

You have a new concept to introduce that has important high-level characteristics.


When faced with a new concept, students often focus on low level details, ignoring its higher-level aspects. Students are able to read, understand, and modify artifacts larger and more complex than they can themselves build. They also need to see problems of a realistic complexity so that they don't get the idea that all problems are small and simple.


Therefore give students an example problem or artifact that is too large for them to be able to focus on the details in the time available. Structure the assignment so that they can work effectively with large-scale conceptual or structural knowledge of most of the artifact.

This approach allows students to understand a new idea without worrying about the details, to appreciate the concept using a real-world problem example, and to work in small groups to solve a problem, which helps them to quickly understand a new concept. You may also want to give the students an artifact that is too large for them to understand at all unless they work in groups. This leads to Groups Work, of course, if you permit it, as you should. If it has features that cover the entire course and is given early, it may also be a Lay of the Land (JBx).


This pattern has been used to teach the object-oriented paradigm, task-based concurrency and logic-based paradigm. It was inspired by an approach used by Alistair Cockburn.

Provide a very large artifact that is well structured and well integrated and on which the students will modify a small part. Make sure they must conceptually understand the whole and at an interface level the components, but only the local point of change in detail. It helps to provide a question-answer session in which you focus on the high level content and defer questions on detail. A good initial assignment is to diagram or otherwise explain the artifact. See Explain It Yourself [EBS]

Expand the Known World **

This pattern was originated by Donald Bagert as the Concept, Glossary, Problem, Analyze, Discuss, Design (CoG-PADD) [DB] pattern.

You have a new concept to introduce. Your students have some related knowledge and experience.


A student's learning will be deeper if they associate a new concept to their existing knowledge and experience. 


Therefore introduce the concept by explicitly linking it to experiences that you know the students have already.

This can be achieved through a variety of mechanisms, e.g. lectures, exercises, discussions, etc. each of which reinforces the message. When you introduce the concept, use real-world analogies and build on previous experience as much as possible. Ask students questions related to their own experiences in the area, e.g. "how do you ...?" "What if...?". Giving students a glossary of terms related to the new concept provides extra support, and linking entries to past experiences is particularly helpful and supportive.

After working on example problems in Groups Work, students can be encouraged to discuss their findings by relating them to previous experiences too.

This approach can require further preparation time, e.g. for the glossary, and because of linking the concept to previous student experiences. Finding suitable analogies and example problems is essential (and difficult).


Together with LARGER Than Life, this pattern has been used to introduce the object-oriented paradigm, task-based concurrency, and the logic-based paradigm. This pattern is linked to Real World Experience, and to One Concept Several Implementations [EMWM]. You can also use contrast, rather than similarity. One way to teach object-oriented concepts to skilled users of another paradigm is to contrast what they know already with what they need to know now.

This pattern (like most of the patterns here) is based on Constructivist educational theories. These theories value the existing knowledge of the learner and build on it. They do not treat the learner as an empty slate, but as an engaged actor.

Critique *

This pattern was originated by Mary Gorman and Susan Burk as the Reading, Critique, Lecture, Activity, Presentation with discussion pattern.

You have introduced some modeling techniques and you want your students to apply them to real-world examples.


You want your students to use and apply principles of modeling to substantial examples, but they are not yet proficient enough to do the modeling from themselves. Creating models from scratch is a very challenging activity. While novices may be able to create simple models, in order to deepen their learning it is desirable to expose them to more complex situations.


Therefore give students a model created by someone else and ask them to determine its completeness and correctness.

The students use the material provided about principles, quality assurance etc to critique the model based on their own knowledge, and to consider how to improve it, or correct any faults. Alternatively the critiquing sample could be two options, and you ask students to select the better alternative or, if needed, to build a third model. This is an opportunity for students to evaluate their own proficiency at probing the details of a model, find problems, and define appropriate solutions. Because they are not starting from scratch, it provides an easier route into complex problems.


The critique examples must be carefully constructed to encompass the appropriate variations. These examples should be real world examples, not being developed by peers. You should not underestimate the amount of time needed to build the examples. Occasionally, after critiquing the first model, some of the students express a preference for critiquing in a team setting; you might want to use Student Design Sprint for setting up teams. Those students can then critique in pairs or small teams, while allowing those students who would prefer to perform the critique on their own to work alone. The activity can be customized to the students' specific business domain. This requires pre-delivery definition of the business area by the client and the instructor, to control scope.

This pattern has evolved as we have shaped and re-shaped our Advanced Object-Oriented Analysis course yet it is not inherently restricted to object-oriented modeling training. It could certainly be generalized and applied to many other diverse training topics.

This pattern could be used in conjunction with any lecture, discussion or activity-based pattern.

Problem Solving Machine *

This pattern was originated by Alan O'Callaghan [AOC] as the Model and Implement pattern.

You are introducing the discipline of software development to novices, or require placing it in its general context.


Problem-solving is the essential focus of all software development.  Virtual machines are described in terms of the instructions they must carry out in order to change some situation into a hopefully better one.

Traditional curricula reinforce a syntax-first approach on the grounds that the constructs of programming languages are the fundamental abstractions, and that abstraction and design exist at a ‘higher level'. In undergraduate teaching programs a justification that is often proffered is that the students have insufficient life experience to grasp abstraction properly. This argument ignores the fact that all cognitive processing is based on abstraction. All humans are natural, if not necessarily disciplined, abstractionists and have been solving problems from the day of their birth.

The traditional bottom-up approach is a failed one. The most obvious symptom of this failure is the question "But where do I start?" from students when confronted with a problem specification despite their having an apparent command of syntactical elements. The weight and power of different language constructs cannot be appreciated fully outside of their use in building virtual machines. Programming languages, like natural languages, are better learned through use than from grammar books.


Therefore, stress software development as a means of solving problems. From the outset introduce problems that are familiar and well understood by the students but which have sufficient complexity to demonstrate the added value of the software solution. Provide prebuilt components, as a problem-solving toolkit, which can, at a later stage, be ‘unwrapped' to reveal the detailed syntax of their implementation.

This leads to an early understanding of a programming environment (e.g., an editor and a language compiler) or a software development approach as a tool providing a means to an end, rather than as a means in itself.  Other benefits include a greater understanding on behalf of the students of software as a tool for solving ‘real world' problems; opportunities are created for early exposure too the modeling power of objects (if object technology is the paradigm being used). Firmer ground is established for "scaling up" to more complex, less well-defined and less well-understood problems using analysis and design constructs later on in a course.


This approach requires a suitable programming environment, a prepared set of appropriate problems to be solved, and a defined set of software components that can be put together (after some analysis) to provide an executable solution. It may also imply a restructuring of the wider curriculum, perhaps along the lines of Meyer's inverted curriculum to take care of important notions in Computer Science, which are traditionally taught early on.

De Montfort University in the UK have applied this pattern in programming subjects since 1993 when it was applied to Modula 2 programming modules. Its success led to the embracement of Object Technology in early programming modules from 1996-7. Kristen Nygaard's COOL project follows a similar philosophy.


We thank all those who have contributed to the Pedagogical Patterns project, especially the authors of the patterns we have revised and incorporated into this paper. We also thank especially our PLoP 2002 shepherd, Linda Rising, for providing us new insights, which helped a lot to further improve the paper.


The following patterns are not part of this language, but they are referred to by one or more patterns above.

Different Approaches [BEMW]

Every person obtains information differently, using different sensory modalities.  Some people, the visuals, learn most effective by watching; the auditories, by listening; and the kinesthetics, through action.

Therefore, provide different approaches to the same topic.  Accept different learning styles by addressing various sensory modalities. 

Explain it Yourself [EBS]

Because topics are complex, the students may be able to repeat definitions and other material verbatim without real understanding. They might also not be able to extract the key ideas from the supporting material.

Therefore, invite the students to express the key ideas using their own words. If a student uses her own words you will be better able to judge the level of real understanding.

Fair Team Grading [EBS]

The grade of the individual depends on the work of the team. Different people contribute differently to the work of the team. You need to make the grading fair to the whole team and to each individual.

Therefore, base part of the grade on the team product, but part of it on individual contributions.

Introvert-Extrovert [JB2]

You may consider yourself to be shy and introverted. You would rather work at your desk or in your cubicle than attend meetings and give presentations. But, the requirements of a technical position often require you to communicate in groups. You have ideas that you know should be implemented, but you dread having to speak up forcefully and to demonstrate why your own ideas are superior to other ideas on the table.

Therefore, teach yourself to play a role in which an observer thinks you are extroverted, bold, and outgoing. Teach yourself to recognize the situations in which this role is appropriate and to then gather your resources and turn the role on.

Key Ideas Dominate GRADING [EBS]

If your grading scheme weights material according to its difficulty, or gives equal weight to all topics, you may be giving students the wrong impression about which topics are key.

Therefore, the key ideas, not necessarily the hardest material, should be worth the most points in your grading.

Mission Impossible [EMWM]

Often new learners arrive at an abstraction not via generalization from a deeper understanding but from a simplification of something they do not yet understand.  Such simplistic truths are dangerous, because they lead learners to construct simplistic solutions that do not really solve problems.  Worse, the learners‘ lack of experience prevents them from recognizing the shortcomings in their thinking.

Therefore, present the learner with a problem that seems straightforward to solve but whose complete solution requires a much deeper understanding than the basic concepts afford.

One Concept - Several Implementations [EMWM]

An abstract concept is hard to understand without a concrete implementation or realization.  However, teaching a theory using a concrete implementation might blur the concept itself, because the concrete implementation might not follow exactly the abstract model.

Therefore, use several different implementations of the concept as examples while teaching the abstract concept. Compare the different implementations afterwards, to re-discover the essence, the abstract concept. You can use this pattern in the form of examples, exercises, group work, etc.

Peer Feedback [EBS]

Typically people assume that learning involves receiving feedback, but this approach is a rather reactive way of learning and ignores the fact that students are knowledgeable too. However, the students are often not confident about the relevance of their experience and furthermore unsure about the value of their own knowledge.

Therefore, invite the students to evaluate the artifacts of their peers. The students will provide feedback to their peers by drawing on their own experience.

Physical Analogy [BEMW]

You are trying to help learners understand the dynamic qualities in a rather abstract concept. You have provided an overview of the concept, and now would like to help students visualize how it works. While it is rather easy for learners to comprehend concepts that are concrete because they are easy to visualize, it is not as easy to do this with abstract concepts.

Therefore, illustrate the dynamic properties of the abstract concept in a concrete way. Create a physical analogy with the use of visual things such as inanimate objects or people and/or memorable things such as colorful scenarios.

Reflection [BEMW]

Sometimes, learners believe that the trainer has to deliver all the knowledge, but the students would learn much more if they would explore problems by themselves.  Furthermore, students often anticipate that an instructor will solve each and every problem for them, but the knowledge of the instructor is also limited. You want the students to uncover solutions for complex problems by drawing on their own experience rather than just letting them accept what they have learned by listening.

Therefore, provide an environment that allows discovering and not one which is limited to answering questions.  It is the students' debt of delivery or of inquiry. Train students so that they are searching for solutions by exploring the problem.

Self Test [EBS]

If your students don't understand what you have presented, they have a poor basis for moving forward. If you don't understand what they really know, you have a poor basis for designing the next part of the lecture series. 

Therefore let the students apply the theory by answering a self-test after they have heard the theory once before revisiting the theory another time or moving on to the next key ideas.

Student Online Portfolio [EBS]

Your students need feedback from others as well as yourself. They can get excellent feedback from their peers if you can make it easy to obtain. There isn't always an obvious way to make this happen.

Therefore provide a means for students to publish their best work, perhaps on the web. The more public this can be, the better it is.



Alan O'Callaghan, Simulation Game Workshop Pattern,,

Model and Implement,


Joseph Bergin, Jutta Eckstein, Mary Lynn Manns, Eugene Wallingford. Patterns for Gaining Different Perspectives, Proceedings of PLoP 2001.


Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M. (1996). Pattern-Oriented Software Architecture:  A System of Patterns.  Chichester, England:  John Wiley & Sons.


Jutta Eckstein, Joseph Bergin, Helen Sharp. Feedback Patterns. Proceedings of EuroPLoP 2002.


Jutta Eckstein, Mary Lynn Manns, Eugene Wallingford, Klaus Marquardt. Patterns for Experiential Learning, Proceedings of EuroPLoP 2001.


Fernando Brieto e Abreu, Peer Review and Corrective Maintenance,


Fowler, Martin (1997). Analysis Patterns. Reusable Object Models. Reading, MA:  Addison-Wesley Longman, Inc.


Ghinwa Jalloul, Academic to Industrial Project Link,


Joseph Bergin. Elementary Coding Patterns,


Joseph Bergin, Introvert - Extrovert,


Joseph Bergin, Lay of Land,


Jutta Eckstein, Learning to Teach - Learning to Learn. Running a course, Proceedings of EuroPLoP 2000, UKV Konstanz, 2001.


Joshua Kerievsky. Pattern Language on Study Groups,


Jeanine Meyer, Assigning and Grading (short) Team Projects,


Mary Lynn Manns, Linda Rising, Introducing New Ideas into Organizations,


Marianna Sipos, Active Summary, Proceedings of EuroPLoP 2002, will be published in UKV Konstanz


Pedagogical Patterns Project Home:


Markus Voelter, Astrid Fricke, SEMINARS,


Webster's New Collegiate Dictionary. (1959).  G & C Merriam Co.

[1] A path pot is a pot or bucket that contains the organs of a person who died while under the care of a physician on the faculty at the medical school.

Last Updated: August 30, 2002